.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;display:flex;flex-direction:column;gap:32px;border-right:1px solid var(--line);background:#fffdf9b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;box-shadow:0 10px 24px #c8102e47}.brand-name{font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.03em;line-height:1.1}.brand-sub{color:var(--ink-faint);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:var(--ink-soft);font-weight:600;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.nav-link:hover{background:#1a17140a;color:var(--ink)}.nav-link.active{background:var(--ink);color:#fffdf9}.badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:#fff;font-style:normal;font-size:.75rem;font-weight:700}.nav-link.active .badge{background:#fff;color:var(--ink)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:14px}.status-pills{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:var(--bg-muted);color:var(--ink-faint);font-size:.7rem;font-weight:700;letter-spacing:.02em}.pill.on{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.logout{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;padding:8px 4px;font-weight:600}.logout:hover{color:var(--danger)}.main{padding:32px 36px 48px;min-width:0}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px;gap:16px}.nav{flex-direction:row}.sidebar-foot{margin-top:0;flex-direction:row;align-items:center;justify-content:space-between}.main{padding:20px 16px 40px}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(800px 420px at 20% 0%,rgba(200,16,46,.12),transparent 60%),radial-gradient(700px 400px at 90% 100%,rgba(26,23,20,.06),transparent 55%),#f3efe8}.login-card{width:min(420px,100%);padding:36px 32px;border-radius:24px;background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow)}.login-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:800;margin-bottom:18px;box-shadow:0 12px 28px #c8102e4d}.login-card h1{margin:0 0 8px;font-family:var(--font-display);font-size:2rem;letter-spacing:-.04em}.login-card p{margin:0 0 24px;color:var(--ink-soft);line-height:1.5}.login-card label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.login-card input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;margin-bottom:14px;outline:none;transition:border-color .2s,box-shadow .2s}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.login-card button{width:100%;border:0;border-radius:12px;padding:14px;background:var(--ink);color:#fffdf9;font-weight:700;cursor:pointer;transition:transform .2s var(--ease),background .2s}.login-card button:hover{background:var(--accent);transform:translateY(-1px)}.login-error{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:.9rem;font-weight:600}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{padding:16px 18px;border-radius:var(--radius-sm);background:#fffdf9b3;border:1px solid var(--line)}.stat span{display:block;color:var(--ink-faint);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.stat strong{font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.03em}.paste-panel{overflow:hidden;margin-bottom:20px}.paste-inner{padding:18px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow)}.paste-inner label{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-bottom:10px}.paste-inner textarea{width:100%;resize:vertical;padding:14px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;line-height:1.45;outline:none}.paste-inner textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.paste-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.form-error{margin-top:10px;color:var(--danger);font-weight:600;font-size:.9rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.ship-card{display:block;padding:18px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--line);box-shadow:0 8px 24px #1a17140a;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.ship-card:hover{transform:translateY(-3px);border-color:#c8102e47;box-shadow:var(--shadow)}.ship-card.failed{border-color:#b4231840}.ship-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chip{padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn)}.time{color:var(--ink-faint);font-size:.8rem;font-weight:600}.ship-card h3{margin:0 0 4px;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em}.meta{margin:0 0 10px;color:var(--ink-soft);font-size:.92rem}.desc{margin:0 0 14px;color:var(--ink);font-weight:600;line-height:1.35;min-height:2.6em}.ship-foot{display:flex;justify-content:space-between;align-items:center;color:var(--ink-soft);font-size:.88rem;font-weight:600}.conf{display:inline-flex;align-items:center;gap:2px;color:var(--ink)}.fail-note{margin-top:12px;padding:8px 10px;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:.82rem;font-weight:600}@media(max-width:800px){.page-head{flex-direction:column}.stat-row{grid-template-columns:repeat(2,1fr)}}.history-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter{border:1px solid var(--line);background:#fffdf9b3;border-radius:999px;padding:8px 14px;font-weight:700;color:var(--ink-soft);cursor:pointer}.filter.active{background:var(--ink);color:#fffdf9;border-color:var(--ink)}.search{min-width:min(280px,100%);padding:10px 14px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;outline:none}.search:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.table-wrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elevated);box-shadow:0 8px 24px #1a17140a}.history-table{width:100%;border-collapse:collapse;min-width:720px}.history-table th{text-align:left;padding:14px 16px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);background:#f3efe899}.history-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.history-table tr:last-child td{border-bottom:0}.history-table tr:hover td{background:#c8102e08}.name-link{display:flex;flex-direction:column;gap:2px}.name-link span{color:var(--ink-faint);font-size:.85rem}.sub{color:var(--ink-faint);font-size:.85rem;margin-top:2px}.mono{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}.muted{color:var(--ink-faint);font-size:.88rem;white-space:nowrap}.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink-soft)}.back:hover{color:var(--ink)}.review-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:16px;align-items:start}.panel{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--line);box-shadow:0 10px 30px #1a17140d}.form-panel{padding:28px}.form-panel h1{margin:0 0 6px;font-family:var(--font-display);font-size:1.9rem;letter-spacing:-.04em}.form-panel .sub{margin:0 0 22px;color:var(--ink-faint);font-weight:600}.fixed-meta{display:grid;gap:10px;margin-bottom:18px;padding:14px 16px;border-radius:14px;background:#1a17140a;border:1px solid var(--line)}.fixed-meta div span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}.fixed-meta strong{font-size:.98rem;line-height:1.35}.products-edit{margin-top:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.field input,.field select{padding:11px 12px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input:disabled,.field select:disabled{background:var(--bg-muted);color:var(--ink-soft)}.readonly-value{padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-muted);color:var(--ink);font-weight:600;line-height:1.35;min-height:42px}.readonly-grid .field:nth-child(1),.readonly-grid .field:nth-child(3),.readonly-grid .field:nth-child(4),.readonly-grid .field:nth-child(7){grid-column:1 / -1}.products{margin-top:18px}.products .label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags em{font-style:normal;padding:7px 11px;border-radius:999px;background:var(--bg-muted);font-weight:700;font-size:.88rem}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.ttn-box{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--ok-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.ttn-box span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ok)}.ttn-box strong{font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.02em}.toast{margin-top:14px;padding:12px 14px;border-radius:12px;font-weight:700}.toast.ok{background:var(--ok-soft);color:var(--ok)}.toast.err{background:var(--danger-soft);color:var(--danger)}.raw-panel{padding:22px;position:sticky;top:24px}.raw-panel h2{margin:0 0 12px;font-family:var(--font-display);font-size:1.1rem}.raw-panel pre{margin:0;padding:14px;border-radius:12px;background:#1a1714;color:#f7f1e8;white-space:pre-wrap;word-break:break-word;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem}.meta-list{margin-top:16px;display:flex;flex-direction:column;gap:10px}.meta-list div{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.meta-list span{color:var(--ink-faint);font-weight:600}@media(max-width:980px){.review-grid{grid-template-columns:1fr}.raw-panel{position:static}.fields{grid-template-columns:1fr}}:root{--bg: #f3efe8;--bg-elevated: #fffdf9;--bg-muted: #e8e2d8;--ink: #1a1714;--ink-soft: #5c564e;--ink-faint: #8a8278;--line: rgba(26, 23, 20, .1);--line-strong: rgba(26, 23, 20, .18);--accent: #c8102e;--accent-soft: rgba(200, 16, 46, .1);--accent-hover: #a50d25;--ok: #1f7a4c;--ok-soft: rgba(31, 122, 76, .12);--warn: #b86e00;--warn-soft: rgba(184, 110, 0, .12);--danger: #b42318;--danger-soft: rgba(180, 35, 24, .1);--shadow: 0 18px 50px rgba(26, 23, 20, .08);--radius: 18px;--radius-sm: 12px;--font-display: "Syne", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(200,16,46,.08),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(26,23,20,.05),transparent 50%),linear-gradient(180deg,#f7f3ec 0%,var(--bg) 40%,#ebe4d9 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn)}.chip.failed{background:var(--danger-soft);color:var(--danger)}.chip.confirmed{background:var(--ok-soft);color:var(--ok)}.chip.cancelled{background:var(--bg-muted);color:var(--ink-faint)}.chip.pending{background:var(--warn-soft);color:var(--warn)}.empty{margin-top:40px;padding:48px 24px;text-align:center;border-radius:var(--radius);border:1px dashed var(--line-strong);color:var(--ink-soft)}.empty h3{margin:12px 0 6px;font-family:var(--font-display);color:var(--ink)}.empty p{margin:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.page-head h1{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.04em;line-height:1.05}.lede{margin:0;max-width:520px;color:var(--ink-soft);line-height:1.5}.btn-primary,.btn-ghost,.btn-danger,.btn-ok{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;transition:transform .2s var(--ease),background .2s,opacity .2s}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px #c8102e38}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled,.btn-ok:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line-strong)}.btn-ghost:hover{background:#1a17140a;color:var(--ink)}.btn-ok{background:var(--ink);color:#fffdf9}.btn-ok:hover{background:var(--ok)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}
