@import"https://fonts.googleapis.com/css2?family=Anton&family=Source+Serif+4:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--forest: #2B4735;--forest-dark: #1B2E22;--rust: #B04632;--mustard: #C99A2E;--cream: #FFFFFF;--paper: #FFFFFF;--line: #E3E3E0;--ink: #24261F;--ink-soft: #5B5A4E;--radius: 3px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:"Source Serif 4",Georgia,serif;color:var(--ink);background:var(--cream)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app-shell{max-width:960px;margin:0 auto;min-height:100vh;position:relative;background:var(--cream)}.header{display:flex;flex-direction:column;align-items:center;padding:12px 20px 22px;border-bottom:1px solid var(--line)}.header-utility{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:8px}.header-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none;color:inherit}.stamp-badge{width:64px;height:64px;border-radius:50%;border:2px solid var(--forest);color:var(--forest);display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);flex-shrink:0}.brand-logo{width:72px;height:72px;object-fit:contain;flex-shrink:0;border-radius:6px}.brand-name{font-family:Anton,sans-serif;letter-spacing:.5px;font-size:22px;text-transform:uppercase;color:var(--forest-dark);line-height:1.15}.brand-tagline{font-size:13px;color:var(--ink-soft);margin-top:2px}.header-actions{display:flex;align-items:center;gap:10px}.cart-btn{position:relative;background:var(--forest-dark);color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.cart-count{position:absolute;top:-4px;right:-4px;background:var(--rust);color:#fff;font-size:10px;font-family:JetBrains Mono;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}.text-link{background:none;border:none;color:var(--forest-dark);font-size:13px;text-decoration:underline;display:flex;align-items:center;gap:5px}.hero{padding:34px 20px 20px;border-bottom:1px dashed var(--line)}.hero-stamp{display:inline-block;border:1.5px solid var(--rust);color:var(--rust);font-family:JetBrains Mono;font-size:11px;letter-spacing:1.5px;padding:3px 10px;transform:rotate(-2deg);margin-bottom:14px}.hero h1{font-family:Anton,sans-serif;text-transform:uppercase;font-size:30px;line-height:1.08;color:var(--forest-dark);margin:0 0 12px}.hero p{color:var(--ink-soft);font-size:15px;max-width:480px;margin:0 0 20px}.hero-steps{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--forest-dark);font-weight:600}.hero-step{display:flex;align-items:center;gap:6px}.step-num{width:18px;height:18px;border-radius:50%;background:var(--forest);color:#fff;font-family:JetBrains Mono;font-size:10px;display:flex;align-items:center;justify-content:center}.hero-arrow{color:var(--line)}.chip-row{display:flex;gap:8px;padding:16px 20px;overflow-x:auto}.chip{border:1px solid var(--forest);background:transparent;color:var(--forest-dark);padding:6px 14px;border-radius:20px;font-size:13px;white-space:nowrap}.chip-active{background:var(--forest);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:4px 20px 30px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #14140f0d}.card-unavailable{opacity:.6}.card-media{position:relative;height:130px;background:repeating-linear-gradient(45deg,#f4f4f2,#f4f4f2 8px,#ecece9 8px,#ecece9 16px);display:flex;align-items:center;justify-content:center;color:var(--line)}.card-media img{width:100%;height:100%;object-fit:cover}.sold-stamp{position:absolute;top:8px;right:8px;background:#fff;border:1.5px solid var(--rust);color:var(--rust);font-family:JetBrains Mono;font-size:10px;text-transform:uppercase;padding:2px 6px;transform:rotate(6deg)}.card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-top h3{font-family:Anton,sans-serif;font-size:15px;text-transform:uppercase;color:var(--forest-dark);margin:0;line-height:1.2}.price-tag{font-family:JetBrains Mono;font-weight:700;font-size:13px;color:var(--rust);white-space:nowrap}.price-tag small{font-weight:400;color:var(--ink-soft)}.card-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.4;margin:0;flex:1}.add-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--forest);color:#fff;border:none;padding:8px;border-radius:var(--radius);font-size:13px;font-weight:600}.add-btn:disabled{background:#c9c2ac;cursor:not-allowed}.empty-note{color:var(--ink-soft);font-size:13px;padding:20px 0}.footer{display:flex;flex-wrap:wrap;gap:30px;padding:24px 20px 40px;border-top:1px solid var(--line);position:relative}.footer-title{font-family:Anton,sans-serif;font-size:12px;text-transform:uppercase;color:var(--forest-dark);margin-bottom:8px}.footer-line{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-bottom:4px;max-width:320px}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b2e2273;display:flex;justify-content:flex-end;z-index:50}.modal-overlay{justify-content:center;align-items:center;padding:20px}.ticket{background:var(--paper);width:100%;max-width:400px;height:100%;display:flex;flex-direction:column;border-left:1px solid var(--line)}.ticket-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px dashed var(--line);font-family:Anton,sans-serif;text-transform:uppercase;font-size:15px;color:var(--forest-dark)}.icon-btn{background:none;border:none;color:var(--ink-soft);padding:4px;display:flex}.icon-btn.danger{color:var(--rust)}.ticket-scroll{flex:1;overflow-y:auto;padding:16px 20px 24px}.ticket-lines{display:flex;flex-direction:column;gap:14px}.ticket-line{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;font-size:13px;border-bottom:1px dotted var(--line);padding-bottom:10px}.ticket-line-name{font-weight:600;color:var(--forest-dark)}.ticket-line-unit{display:block;font-family:JetBrains Mono;font-weight:400;font-size:11px;color:var(--ink-soft)}.qty-control{display:flex;align-items:center;gap:6px;background:#f1f1ee;border-radius:20px;padding:2px 6px}.qty-control button{background:none;border:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--forest-dark)}.qty-control span{font-family:JetBrains Mono;font-size:12px;min-width:14px;text-align:center}.ticket-line-total{font-family:JetBrains Mono;font-weight:700;font-size:12.5px}.remove-btn{background:none;border:none;color:var(--ink-soft)}.ticket-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:6px;border-top:2px solid var(--forest-dark);font-family:JetBrains Mono;font-size:15px;color:var(--forest-dark)}.ticket-note{font-size:12px;color:var(--ink-soft);margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink-soft);font-weight:600}.form-grid label.full{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:8px 10px;font-size:13.5px;color:var(--ink)}.form-grid textarea{resize:vertical}.warn-note{font-size:12px;color:var(--rust);margin:0 0 10px}.error-note{font-size:12.5px;color:#fff;background:var(--rust);padding:8px 10px;border-radius:var(--radius);margin:0 0 12px}.send-row{display:flex;flex-direction:column;gap:10px}.send-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius);padding:11px;font-size:14px;font-weight:700}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn.whatsapp{background:#2c4a3b;color:#fff}.send-btn.email{background:#fff;color:var(--forest-dark);border:1.5px solid var(--forest-dark)}.sent-confirm{padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--forest-dark)}.sent-confirm p{font-size:13.5px;color:var(--ink-soft);margin:0}.ghost-btn{background:none;border:1px solid var(--line);color:var(--forest-dark);padding:8px 14px;border-radius:var(--radius);font-size:13px;display:flex;align-items:center;gap:6px}.primary-btn{background:var(--forest);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius);font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;justify-content:center}.primary-btn.small{padding:7px 12px;font-size:12.5px}.primary-btn:disabled{background:#c9c2ac;cursor:not-allowed}.auth-screen{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px}.auth-box{background:var(--paper);border:1px solid var(--line);padding:30px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px;color:var(--forest-dark)}.auth-box h2{font-family:Anton,sans-serif;text-transform:uppercase;font-size:18px;margin:4px 0}.auth-box label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-soft);font-weight:600}.auth-box input{border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px;font-size:14px}.auth-switch{font-size:12.5px;color:var(--ink-soft);text-align:center}.auth-switch button{background:none;border:none;color:var(--forest-dark);text-decoration:underline}.admin-screen{padding-bottom:40px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}.admin-tabs{display:flex;gap:6px}.admin-tabs a,.admin-tabs button{background:none;border:none;padding:6px 12px;font-size:13px;color:var(--ink-soft);border-radius:var(--radius);text-decoration:none}.admin-tabs .tab-active{background:var(--forest);color:#fff}.admin-body{padding:20px}.admin-body-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.admin-body h2{font-family:Anton,sans-serif;text-transform:uppercase;font-size:16px;color:var(--forest-dark);margin:0}.admin-body h3{font-family:Anton,sans-serif;text-transform:uppercase;font-size:13px;color:var(--forest-dark)}.admin-table{display:flex;flex-direction:column;gap:8px}.filters-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;flex:1;min-width:200px;color:var(--ink-soft)}.search-box input{border:none;outline:none;font-size:13.5px;flex:1;background:transparent;color:var(--ink)}.filters-row select{border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;font-size:13px;background:#fff;color:var(--ink)}.reorder-controls{display:flex;flex-direction:column;gap:0}.reorder-controls .icon-btn{padding:0}.admin-row{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;flex-wrap:wrap}.admin-row.row-off{opacity:.55}.admin-row-thumb{width:40px;height:40px;border-radius:var(--radius);object-fit:cover;background:#f1f1ee;flex-shrink:0;border:1px solid var(--line)}.admin-row-main{flex:1;min-width:140px}.admin-row-name{font-weight:600;font-size:13.5px;color:var(--forest-dark)}.admin-row-meta{font-family:JetBrains Mono;font-size:11px;color:var(--ink-soft)}.switch{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-soft)}.cat-editor{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.cat-pill{background:#f1f1ee;border:1px solid var(--line);border-radius:20px;padding:4px 6px 4px 12px;font-size:12.5px;display:flex;align-items:center;gap:6px}.cat-pill button{background:none;border:none;color:var(--ink-soft);display:flex}.inline-add{display:flex;gap:8px;max-width:320px}.inline-add input{flex:1;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:13px}.hint-text{font-size:12px;color:var(--ink-soft)}.modal{background:var(--paper);width:100%;max-width:440px;border-radius:var(--radius);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal .form-grid{padding:16px 20px 0;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}.image-upload-row{display:flex;align-items:center;gap:12px;padding:0 20px;margin-top:4px}.color-picker-row{display:flex;align-items:center;gap:10px}.color-picker-row input[type=color]{width:44px;height:32px;padding:2px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.image-preview{width:64px;height:64px;border-radius:var(--radius);object-fit:cover;background:#f1f1ee;border:1px solid var(--line)}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}.order-card-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:8px}.order-customer{font-weight:600;color:var(--forest-dark);font-size:14px}.order-meta{font-size:12px;color:var(--ink-soft)}.status-select{border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600}.status-nuovo{color:var(--rust)}.status-confermato{color:var(--mustard)}.status-pronto{color:var(--forest)}.status-consegnato{color:var(--ink-soft)}.status-annullato{color:var(--ink-soft);text-decoration:line-through}.order-items{font-size:12.5px;color:var(--ink-soft);margin:6px 0}.order-items div{display:flex;justify-content:space-between;padding:2px 0}.order-total{font-family:JetBrains Mono;font-weight:700;text-align:right;color:var(--forest-dark)}.order-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.loading-note{padding:40px 20px;text-align:center;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:8px}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}.ticket{max-width:100%}.hero h1{font-size:24px}}
