@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#08080a;--bg-2:#0f0f12;--bg-3:#161619;--bg-4:#202025;--border:#ffffff0f;--border-2:#ffffff1a;--text-1:#fafafa;--text-2:#a1a1aa;--text-3:#505059;--accent:#00dc82;--accent-dim:#00dc821f;--accent-2:#38bdf8;--warn:#fbbf24;--warn-dim:#fbbf241f;--danger:#f87171;--danger-dim:#f871711f;--success:#4ade80;--success-dim:#4ade801f;--radius:8px;--radius-lg:12px;--font:"Inter", sans-serif;--mono:"JetBrains Mono", monospace;--sidebar-w:220px;--header-h:56px}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:4px}h1{letter-spacing:-.02em;color:var(--text-1);font-size:24px;font-weight:500}h2{letter-spacing:-.01em;color:var(--text-1);font-size:18px;font-weight:500}h3{color:var(--text-1);font-size:15px;font-weight:500}p{color:var(--text-2)}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.sidebar-logo{height:var(--header-h);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:0 20px;display:flex}.sidebar-logo-mark{background:var(--accent);color:#0a0a0b;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:flex}.sidebar-logo-name{color:var(--text-1);letter-spacing:-.01em;font-size:15px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-section{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;padding:16px 10px 6px;font-size:11px;font-weight:500}.nav-item{border-radius:var(--radius);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:13.5px;text-decoration:none;transition:all .12s;display:flex}.nav-item:hover{background:var(--bg-3);color:var(--text-1)}.nav-item.active{background:var(--accent-dim);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:9px;padding:12px 10px;display:flex}.avatar{background:var(--bg-4);width:28px;height:28px;color:var(--text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.avatar-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.main{flex-direction:column;display:flex;overflow:hidden}.topbar{height:var(--header-h);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.topbar-title{color:var(--text-1);font-size:14px;font-weight:500}.topbar-actions{align-items:center;gap:10px;display:flex}.page-content{flex:1;padding:28px;overflow-y:auto}.btn{border-radius:var(--radius);font-family:var(--font);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.btn-primary{background:var(--accent);color:#0a0a0b;border-color:var(--accent)}.btn-primary:hover{opacity:.88}.btn-secondary{background:var(--bg-3);color:var(--text-1);border-color:var(--border-2)}.btn-secondary:hover{background:var(--bg-4)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--bg-3);color:var(--text-1)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-lg{padding:10px 20px;font-size:14px}.card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-sm{padding:14px 16px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.metric-label{color:var(--text-3);letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:500}.metric-value{color:var(--text-1);letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:1;font-family:var(--mono)}.metric-sub{color:var(--text-3);margin-top:6px;font-size:12px}.table-wrap{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}table{border-collapse:collapse;width:100%}thead tr{border-bottom:1px solid var(--border);background:var(--bg-3)}th{color:var(--text-3);text-align:left;letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;font-size:11.5px;font-weight:500}td{color:var(--text-2);border-bottom:1px solid var(--border);padding:12px 16px;font-size:13.5px}td:first-child{color:var(--text-1)}tbody tr:last-child td{border-bottom:none}tbody tr{cursor:pointer;transition:background .1s}tbody tr:hover{background:var(--bg-3)}.badge{font-size:11.5px;font-weight:500;font-family:var(--mono);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-a{background:var(--success-dim);color:var(--success)}.badge-b{background:var(--accent-dim);color:var(--accent)}.badge-c{background:var(--warn-dim);color:var(--warn)}.badge-d{background:var(--danger-dim);color:var(--danger)}.badge-pending{background:var(--bg-4);color:var(--text-3)}.badge-inspected{background:var(--accent-dim);color:var(--accent)}.badge-relisted{background:var(--success-dim);color:var(--success)}.badge-sold{color:var(--accent-2);background:#38bdf81f}.form-group{flex-direction:column;gap:6px;display:flex}label{color:var(--text-2);letter-spacing:.02em;font-size:12px;font-weight:500}input,select,textarea{background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--radius);color:var(--text-1);font-family:var(--font);outline:none;width:100%;padding:8px 12px;font-size:13.5px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder,textarea::placeholder{color:var(--text-3)}.upload-zone{border:1.5px dashed var(--border-2);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-3);padding:48px 24px;transition:all .15s;position:relative}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:var(--accent-dim)}.upload-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-icon{width:36px;height:36px;color:var(--text-3);margin:0 auto 12px}.upload-zone:hover .upload-icon{color:var(--accent)}.result-panel{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);animation:.2s slideUp;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-header{border-bottom:1px solid var(--border);background:var(--bg-3);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.result-grade{font-size:36px;font-weight:600;font-family:var(--mono);line-height:1}.grade-a{color:var(--success)}.grade-b{color:var(--accent)}.grade-c{color:var(--warn)}.grade-d{color:var(--danger)}.result-section{border-bottom:1px solid var(--border);padding:16px 20px}.result-section:last-child{border-bottom:none}.result-section-label{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:500}.defect-item{background:var(--bg-3);border-radius:var(--radius);gap:10px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:flex}.defect-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.defect-minor{background:var(--accent)}.defect-moderate{background:var(--warn)}.defect-major{background:var(--danger)}.listing-copy{background:var(--bg-3);border-radius:var(--radius);color:var(--text-1);padding:12px 14px;line-height:1.65}.spinner{border:2px solid var(--bg-4);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--text-3);padding:60px 24px}.empty-icon{opacity:.3;width:40px;height:40px;margin:0 auto 14px}.pilot-banner{background:var(--accent-dim);border-radius:var(--radius);color:var(--accent);border:1px solid #00dc8233;align-items:center;gap:10px;margin-bottom:24px;padding:10px 16px;font-size:13px;display:flex}.text-1{color:var(--text-1)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.mono{font-family:var(--mono)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.w-full{width:100%}@media (max-width:768px){.app-shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 16px}.topbar-title{font-size:13px}.page-content{padding:16px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.metric-value{font-size:20px}.inspect-grid{grid-template-columns:1fr!important}.upload-zone{padding:24px 16px}table th:nth-child(3),table td:nth-child(3),table th:nth-child(6),table td:nth-child(6){display:none}.btn-lg{padding:10px 16px;font-size:13px}.result-panel{margin-top:16px}}.mobile-nav{display:none}@media (max-width:768px){.mobile-nav{background:var(--bg-2);border-top:1px solid var(--border);padding:8px 0 max(8px, env(safe-area-inset-bottom));z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-3);font-size:10px;font-family:var(--font);flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;text-decoration:none;transition:color .12s;display:flex}.mobile-nav-item.active{color:var(--accent)}.mobile-nav-item:hover{color:var(--text-2)}.mobile-nav-icon{font-size:18px;line-height:1}.page-content{padding-bottom:80px}}
