:root{--brand-blue: rgb(10,125,255);--brand-blue-hover: rgb(0,0,0);--brand-black: rgb(8,10,11);--brand-off-black: rgb(0,0,0);--brand-stone: rgb(242,237,232);--brand-yellow: rgb(255,178,23);--brand-green: rgb(119,211,93);--brand-red: rgb(250,21,42);--link: rgb(74,144,226);--body-color: rgb(44,52,56);--surface-light: #FFFFFF;--surface-stone: rgb(242,237,232);--surface-dark: rgb(8,10,11);--border-subtle: rgba(0,0,0,.08);--border-strong: rgba(0,0,0,.18);--border-inverse: rgba(255,255,255,.3);--text-default: rgb(44,52,56);--text-inverse: rgb(242,237,232);--text-heading: rgb(10,125,255);--text-weak: rgba(44,52,56,.75);--text-on-dark-weak: rgba(242,237,232,.8);--overlay: rgba(0,0,0,.55);--focus-ring: 0 0 0 4px var(--brand-blue);--font-base: "Maison Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--h1:65px;--h2:38px;--h3:24px;--h4:18px;--fs-body:16px;--fs-small:14px;--fs-xsmall:12px;--lh-tight:1.2;--lh-body:1.5;--space-0:0;--space-0_5:2px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--transition-fast:.12s cubic-bezier(.4,0,.2,1)}html,body{background:var(--surface-light);color:var(--text-default);font-family:var(--font-base);margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-base);margin:0 0 24px;line-height:1.2;font-weight:500;letter-spacing:.3px;color:var(--text-heading)}h1{font-size:var(--h2)}h2{font-size:var(--h3)}h3{font-size:20px}p{line-height:var(--lh-body);font-size:var(--fs-body);margin:0 0 16px}a{color:var(--brand-blue);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;flex-direction:column;min-height:100vh}header.site-header{position:sticky;top:0;z-index:90;background:var(--surface-light);border-bottom:1px solid var(--border-subtle)}header.site-header .container-page{padding-top:12px;padding-bottom:12px}nav.primary-nav ul{list-style:none;display:flex;gap:32px;padding:0;margin:0}nav.primary-nav a{position:relative;padding:12px 4px;font-weight:500;font-size:14px;color:var(--text-weak);text-decoration:none;letter-spacing:.25px}nav.primary-nav a:hover{color:var(--text-heading)}nav.primary-nav a.active{color:var(--text-heading)}nav.primary-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:4px;background:var(--brand-blue)}.container-page{width:100%;max-width:1300px;margin:0 auto;padding:64px;box-sizing:border-box;flex:1}.card-grid{display:grid;gap:48px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.tool-card{background:var(--surface-light);border:1px solid var(--border-subtle);padding:32px 28px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--transition-fast)}.tool-card:hover{border-color:var(--brand-blue)}.tool-card h3{margin:0;font-size:24px;font-weight:500;letter-spacing:.2px;color:var(--brand-blue)}.tool-card p{margin:0;font-size:14px;line-height:1.5;color:var(--text-weak)}.btn{--btn-bg:var(--brand-blue);--btn-bg-hover:var(--brand-blue-hover);--btn-color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;background:var(--btn-bg);color:var(--btn-color);padding:16px 34px;border:0;cursor:pointer;letter-spacing:.75px;text-transform:uppercase;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.btn:hover{background:var(--btn-bg-hover);color:var(--text-inverse)}.btn.outline{background:transparent;color:var(--brand-blue);border:2px solid var(--brand-blue)}.btn.outline:hover{background:var(--brand-blue);color:#fff}.btn.secondary{background:var(--brand-stone);color:var(--text-default)}.btn.secondary:hover{background:var(--brand-black);color:var(--text-inverse)}.btn.danger{background:var(--brand-red)}.btn.danger:hover{background:#a50a1b}.btn:disabled{opacity:.5;cursor:not-allowed}.qr-preview-wrapper{display:flex;gap:64px;align-items:flex-start;flex-wrap:wrap}.qr-single{display:flex;flex-direction:column;gap:16px;max-width:360px}.qr-canvas{background:var(--surface-light);padding:32px;border:1px solid var(--border-subtle)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field span{font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text-weak)}.field input,.field textarea{border:1px solid var(--border-subtle);background:var(--surface-light);padding:14px 16px;font:inherit;letter-spacing:.25px}.field input:focus,.field textarea:focus{outline:var(--focus-ring)}.batch-table{width:100%;border-collapse:collapse;font-size:13px}.batch-table th,.batch-table td{padding:12px 14px;border:1px solid var(--border-subtle);text-align:left}.batch-table th{background:var(--surface-stone);font-weight:500;letter-spacing:.5px;font-size:12px}.badge{display:inline-flex;align-items:center;padding:6px 12px;font-size:11px;font-weight:600;background:var(--brand-blue);color:#fff;letter-spacing:1px;text-transform:uppercase}footer.site-footer{margin-top:auto;padding:64px 16px;text-align:center;font-size:12px;color:var(--text-weak);letter-spacing:.5px}.file-input{position:relative;display:flex;align-items:center;gap:16px;font-size:14px}.file-input input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-input .filename{font-size:13px;color:var(--text-weak);font-style:italic;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-select{display:flex;flex-wrap:wrap;gap:8px}.tile{--tile-border: var(--border-subtle);--tile-bg:#fff;--tile-color:var(--text-default);position:relative;border:1px solid var(--tile-border);background:var(--tile-bg);color:var(--tile-color);padding:8px 14px;font-size:12px;letter-spacing:.5px;cursor:pointer;text-transform:uppercase;font-weight:500;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.tile:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.tile.active{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.tile.color{padding:6px 10px;display:inline-flex;align-items:center;gap:6px}.tile.color:before{content:"";width:14px;height:14px;background:var(--swatch, var(--brand-blue));border:1px solid var(--border-strong)}.tile.color.active:before{outline:2px solid #fff;box-shadow:0 0 0 2px var(--brand-blue)}.tile.outline{background:transparent;border:1px dashed var(--border-strong)}.tile.outline:hover{border-color:var(--brand-blue)}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:80px 20px;z-index:1100}.modal{background:var(--surface-light);border:1px solid var(--border-subtle);width:100%;max-width:1000px;padding:32px 36px 40px;position:relative;display:flex;flex-direction:column;gap:28px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.modal-body{max-height:70vh;overflow:auto}.close-btn{background:transparent;border:0;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;color:var(--text-weak)}.close-btn:hover{color:var(--brand-blue)}.text-muted{color:var(--text-weak)}@media (max-width: 900px){.container-page{padding:48px 32px}.qr-preview-wrapper{flex-direction:column;gap:48px}nav.primary-nav ul{gap:20px}}@media (max-width: 560px){.container-page{padding:40px 20px}h1{font-size:48px}h2{font-size:28px}}
