*,:before,:after{box-sizing:border-box}body{margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f11;--surface:#1a1a1f;--surface2:#242429;--border:#2e2e35;--text:#f0f0f5;--text-muted:#9ca3af;--accent:#6366f1;--accent-hover:#4f52d4;--green:#10b981;--red:#ef4444;--orange:#f97316;--yellow:#f59e0b;--purple:#8b5cf6;--blue:#3b82f6;--radius:10px}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding-top:env(safe-area-inset-top);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:14px 16px;display:flex}.app-header h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.app-main{width:100%;max-width:960px;margin:0 auto;padding:20px 16px 60px}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:24px 0 12px;font-size:12px;font-weight:600}.group-grid{flex-direction:column;gap:12px;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:7px;padding:7px 14px;font-size:13px;transition:background .15s}.btn-secondary:hover{background:#2f2f38}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12px}.btn-large{width:100%;padding:12px 24px;font-size:15px}.btn-done{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.btn-done:disabled{opacity:.5}.btn-copy{background:var(--surface2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:7px;padding:6px 14px;font-size:13px;transition:all .15s}.btn-copy.copied{background:var(--green);border-color:var(--green);color:#fff}.btn-link{color:var(--accent);border:1px solid var(--accent);border-radius:5px;padding:3px 8px;font-size:12px;text-decoration:none}.group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.group-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.group-card-header:hover{background:#1e1e24}.group-card-title{flex-direction:column;gap:2px;display:flex}.group-name{font-size:15px;font-weight:600}.group-snap{color:var(--text-muted);font-size:12px}.group-latest-order{color:var(--text-muted);opacity:.7;font-size:11px}.group-card-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.state-badge{color:#fff;white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:600}.chevron{color:var(--text-muted);font-size:11px}.group-card-body{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:16px;display:flex}.stats-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stat{background:var(--surface2);border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:10px;display:flex}.stat-value{font-size:18px;font-weight:700}.stat-label{color:var(--text-muted);font-size:11px}.card-actions-row{gap:8px;display:flex}.task-panel{background:var(--surface2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.task-panel.urgent{background:#1e1616;border-color:#3d2020}.task-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:12px;font-weight:700}.task-hint{color:var(--text-muted);font-size:13px;line-height:1.5}.task-hint strong{color:var(--text)}.task-section{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.order-list{flex-direction:column;gap:8px;display:flex}.order-row{background:var(--surface);border-radius:7px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.order-row.stacked{flex-direction:column;align-items:flex-start}.order-row-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.order-name{font-weight:600}.order-snap{color:var(--text-muted);font-size:12px}.order-balance{color:var(--yellow);margin-left:auto;font-size:12px}.missing-tags{gap:5px;display:flex}.tag{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.tag-red{color:var(--red);background:#3d1515}.tag-green{color:var(--green);background:#0d2e22}.message-task{flex-direction:column;gap:8px;width:100%;display:flex}.task-to{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.task-to strong{color:var(--accent)}.task-message-box{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.6}.task-actions{flex-wrap:wrap;gap:8px;display:flex}.task-loading,.task-error{color:var(--text-muted);font-size:12px}.task-error{color:var(--red)}.address-block{background:var(--surface);border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.6}.address-block p{color:var(--text-muted);margin-top:4px}.address-override label{color:var(--text-muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.address-override input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:7px 10px;font-size:13px}.fulfill-log{border:1px solid var(--border);background:#0d0d0f;border-radius:7px;max-height:160px;padding:10px;font-family:monospace;font-size:12px;overflow-y:auto}.log-line{color:var(--green);padding:2px 0}.tracking-input-row{gap:8px;display:flex}.tracking-input-row input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.modal-header h2{font-size:16px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:18px}.modal-form{flex-direction:column;gap:14px;padding:16px;display:flex}.modal-form label{flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.modal-form input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.modal-form input:focus{border-color:var(--accent);outline:none}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form-error{border:1px solid var(--red);color:var(--red);background:#2d1515;border-radius:6px;padding:8px 12px;font-size:13px}.error-banner{border:1px solid var(--red);color:var(--red);background:#2d1515;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.error-banner button{color:var(--red);cursor:pointer;background:0 0;border:none;font-size:16px}.scan-banner{border:1px solid var(--green);color:var(--green);background:#0d2e22;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.scan-banner button{color:var(--green);cursor:pointer;background:0 0;border:none;font-size:16px}.loading,.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:60px 0;display:flex}.upload-page{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:32px 24px}.upload-card h1{margin-bottom:6px;font-size:20px}.upload-card .subtitle{color:var(--text-muted);margin-bottom:24px;font-size:13px}.upload-form{flex-direction:column;gap:18px;display:flex}.upload-field{flex-direction:column;gap:6px;display:flex}.upload-field label{font-size:13px;font-weight:600}.file-drop{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--text-muted);border-radius:8px;padding:24px;font-size:13px;transition:border-color .15s}.file-drop:hover,.file-drop.has-file{border-color:var(--accent);color:var(--text)}.file-drop input[type=file]{display:none}.upload-status{text-align:center;font-size:13px}.upload-success{color:var(--green)}.upload-error{color:var(--red)}.production-inputs{flex-wrap:wrap;gap:12px;display:flex}.production-inputs label{color:var(--text-muted);flex-direction:column;flex:1;gap:4px;min-width:140px;font-size:12px;font-weight:600;display:flex}.production-inputs input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}.profit-summary{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.profit-row{color:var(--text-muted);justify-content:space-between;font-size:13px;display:flex}.profit-total{border-top:1px solid var(--border);color:var(--text);margin-top:2px;padding-top:6px;font-weight:700}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:320px;padding:32px;display:flex}.login-box h1{text-align:center;font-size:20px;font-weight:700}.login-box input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 14px;font-size:15px}.login-error{color:#ef4444;text-align:center;font-size:13px}.header-actions{align-items:center;gap:8px;display:flex}.photos-search-wrap{flex-direction:column;gap:24px;max-width:720px;margin:0 auto;padding:24px 16px;display:flex}.photos-search{gap:10px;display:flex}.photos-search input{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:10px 14px;font-size:15px}.photos-search input:focus{border-color:var(--accent);outline:none}.photos-error{color:var(--red);font-size:13px}.photos-result{flex-direction:column;gap:16px;display:flex}.photos-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.photos-name{font-size:15px;font-weight:600}.photos-snap{color:var(--text-muted);font-size:13px}.photos-group{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:12px;padding:2px 10px;font-size:12px}.photos-none{color:var(--text-muted);font-size:13px}.photos-grid{flex-wrap:wrap;gap:20px;display:flex}.photo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;gap:10px;min-width:240px;max-width:340px;padding:14px;display:flex}.photo-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.photo-img{object-fit:contain;background:var(--surface2);border-radius:6px;width:100%;max-height:300px}.btn-download{text-align:center;text-decoration:none}@media (width<=600px){.stats-row{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:16px}.group-card-header{flex-wrap:wrap}.state-badge{font-size:10px}}
