:root{--bg:#070c14;--bg-elev:#0d1626;--bg-soft:#162036;--bg-input:#1a2845;--bg-hover:#1f3050;--text:#dde6f0;--text-muted:#5c7a9e;--text-dim:#2d4060;--accent:#4f8ef7;--accent-muted:#4f8ef71a;--success:#22c55e;--success-muted:#22c55e1a;--warning:#eab308;--warning-muted:#eab3081a;--danger:#f43f5e;--danger-muted:#f43f5e1a;--info:#38bdf8;--info-muted:#38bdf81a;--teal:#14b8a6;--teal-muted:#14b8a61a;--border:#1a2d47;--border-soft:#243d5c;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow:0 4px 24px #0006;--shadow-sm:0 2px 8px #0000004d}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--bg-elev);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sb-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.sb-brand__icon{background:var(--accent);color:#041627;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sb-brand__name{color:var(--text);margin:0;font-size:.9rem;font-weight:700}.sb-brand__sub{color:var(--text-muted);margin:0;font-size:.72rem}.sb-nav{flex-direction:column;flex:1;gap:.15rem;padding:1rem .75rem;display:flex}.sb-nav__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);opacity:.6;margin:0 0 .4rem .5rem;font-size:.68rem;font-weight:600}.sb-nav__link{color:var(--text-muted);border-radius:8px;align-items:center;gap:.7rem;padding:.575rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.sb-nav__link:hover{color:var(--text);background:var(--bg-soft)}.sb-nav__link.active{color:var(--accent);background:var(--accent-muted)}.sb-nav__icon{opacity:.65;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s;display:flex}.sb-nav__link:hover .sb-nav__icon,.sb-nav__link.active .sb-nav__icon{opacity:1}.sb-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem;display:flex}.sb-user{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.sb-user__avatar{background:var(--bg-soft);border:1px solid var(--border);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.sb-user__email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.775rem;overflow:hidden}.sb-logout{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background .12s;display:flex}.sb-logout:hover{color:var(--danger);background:var(--danger-muted);border-color:#f43f5e66}.content{background:var(--bg);overflow-y:auto}.page{max-width:1200px;padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header__text h1{color:var(--text);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.page-header__text p{color:var(--text-muted);margin:0;font-size:.875rem}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1;transition:all .12s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#041627;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#6ba3f9}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--text);border-color:var(--border-soft)}.btn-danger{background:var(--danger-muted);color:var(--danger);border-color:#f43f5e4d}.btn-danger:hover:not(:disabled){background:#f43f5e33}.btn-success{background:var(--success-muted);color:var(--success);border-color:#22c55e4d}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-icon{width:30px;height:30px;padding:.4rem}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .12s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-dim)}select.input{cursor:pointer}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-purchased{background:var(--bg-soft);color:var(--text-muted)}.badge-arrived{background:var(--info-muted);color:var(--info)}.badge-grading{background:var(--warning-muted);color:var(--warning)}.badge-graded{background:var(--teal-muted);color:var(--teal)}.badge-for_sale{background:var(--accent-muted);color:var(--accent)}.badge-sold{background:var(--success-muted);color:var(--success)}.badge-warning{background:var(--warning-muted);color:var(--warning)}.badge-danger{background:var(--danger-muted);color:var(--danger)}.badge-default{background:var(--bg-soft);color:var(--text-muted)}.loading-screen{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.page-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;padding:3rem;display:flex}.error-banner{background:var(--danger-muted);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #f43f5e40;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:4rem 2rem;display:flex}.empty-state svg{opacity:.3;margin-bottom:.5rem}.empty-state h3{color:var(--text-muted);margin:0;font-size:1rem;font-weight:600}.empty-state p{margin:0;font-size:.875rem}.auth-shell{background:radial-gradient(ellipse at top,#0d1a2e 0%,var(--bg)70%);place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow);gap:1rem;padding:2rem;display:grid}.auth-card h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.auth-card p{color:var(--text-muted);margin:0;font-size:.875rem}.auth-card label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.auth-card input:not([type=checkbox]){border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);height:42px;color:var(--text);outline:none;width:100%;padding:0 .75rem;font-size:.9rem;transition:border-color .12s}.auth-card input:not([type=checkbox]):focus{border-color:var(--accent)}.auth-card input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.auth-card button{background:var(--accent);border-radius:var(--radius-sm);color:#041627;cursor:pointer;border:none;height:42px;font-size:.9rem;font-weight:600;transition:background .12s}.auth-card button:hover{background:#6ba3f9}.checkbox-row{align-items:center;gap:.5rem;display:flex}.error-message{color:var(--danger);background:var(--danger-muted);border-radius:var(--radius-sm);border:1px solid #f43f5e40;padding:.5rem .75rem;font-size:.875rem}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .12s;display:flex}.stat-card:hover{border-color:var(--border-soft)}.stat-card__header{justify-content:space-between;align-items:center;display:flex}.stat-card__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:500}.stat-card__icon{border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.stat-card__value{letter-spacing:-.03em;color:var(--text);font-size:1.75rem;font-weight:700;line-height:1}.stat-card__sub{color:var(--text-muted);font-size:.78rem}.stat-card__value.positive{color:var(--success)}.stat-card__value.negative{color:var(--danger)}.stat-card--accent .stat-card__icon{background:var(--accent-muted);color:var(--accent)}.stat-card--success .stat-card__icon{background:var(--success-muted);color:var(--success)}.stat-card--warning .stat-card__icon{background:var(--warning-muted);color:var(--warning)}.stat-card--info .stat-card__icon{background:var(--info-muted);color:var(--info)}.stat-card--teal .stat-card__icon{background:var(--teal-muted);color:var(--teal)}.stat-card--danger .stat-card__icon{background:var(--danger-muted);color:var(--danger)}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem;font-size:.78rem;font-weight:600}.create-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}.create-panel__toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1.25rem;display:flex}.create-panel__toggle:hover{background:var(--bg-soft)}.create-panel__toggle-label{color:var(--text);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.create-panel__toggle-icon{color:var(--text-muted);transition:transform .2s}.create-panel__toggle-icon.open{transform:rotate(90deg)}.create-panel__body{border-top:1px solid var(--border);padding:1.25rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.form-grid-2{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.filter-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .875rem;font-size:.8rem;font-weight:500;transition:all .12s}.filter-chip:hover{background:var(--bg-soft);color:var(--text)}.filter-chip.active{background:var(--accent-muted);color:var(--accent);border-color:#4f8ef74d}.filter-search{width:200px;margin-left:auto}.card-list{flex-direction:column;gap:.75rem;display:flex}.card-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .12s;overflow:hidden}.card-item:hover{border-color:var(--border-soft)}.card-item.expanded{border-color:var(--accent);border-color:#4f8ef766}.card-item__main{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:grid}.card-item__info{min-width:0}.card-item__title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.975rem;font-weight:600;overflow:hidden}.card-item__meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.8rem;overflow:hidden}.card-item__right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.card-item__delta{white-space:nowrap;font-size:.875rem;font-weight:700}.card-item__delta.positive{color:var(--success)}.card-item__delta.negative{color:var(--danger)}.card-item__delta.neutral{color:var(--text-muted)}.card-item__financials{background:var(--bg-soft);border-top:1px solid var(--border);align-items:center;gap:1.5rem;padding:.6rem 1.25rem;font-size:.8rem;display:flex}.fin-item{flex-direction:column;gap:.1rem;display:flex}.fin-item__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.fin-item__value{color:var(--text);font-size:.875rem;font-weight:600}.fin-item__value.total{color:var(--warning)}.card-item__edit{border-top:1px solid var(--border);background:#070c1480;padding:1.25rem}.edit-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.edit-actions{justify-content:flex-end;gap:.5rem;display:flex}.warehouse-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.warehouse-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .12s;overflow:hidden}.warehouse-item.low-stock{border-color:#eab30859}.warehouse-item.default-item{border-color:#4f8ef740}.warehouse-item__header{justify-content:space-between;align-items:center;padding:1rem 1.1rem .75rem;display:flex}.warehouse-item__name{color:var(--text);font-size:.95rem;font-weight:600}.warehouse-item__sku{color:var(--text-muted);margin-top:.1rem;font-size:.75rem}.warehouse-item__qty{letter-spacing:-.04em;padding:0 1.1rem .75rem;font-size:2rem;font-weight:800;line-height:1}.warehouse-item__qty.low{color:var(--warning)}.warehouse-item__qty-label{color:var(--text-muted);letter-spacing:0;font-size:.75rem;font-weight:400;display:block}.warehouse-item__meta{background:var(--bg-soft);border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.5rem 1.1rem;font-size:.8rem;display:flex}.warehouse-item__controls{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:.75rem 1.1rem;display:flex}.qty-input{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:0;display:flex;overflow:hidden}.qty-input button{background:var(--bg-soft);color:var(--text);cursor:pointer;border:none;justify-content:center;align-items:center;width:28px;height:30px;font-size:1rem;transition:background .1s;display:flex}.qty-input button:hover{background:var(--bg-hover)}.qty-input input{background:var(--bg-input);color:var(--text);text-align:center;border:none;outline:none;width:50px;height:30px;font-size:.875rem;font-weight:600}.receive-form{border-top:1px solid var(--border);background:#070c1466;grid-template-columns:1fr 1fr auto;align-items:end;gap:.5rem;padding:.75rem 1.1rem;display:grid}.asset-table{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.asset-table__header{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:1fr 140px 130px 110px 80px;padding:.6rem 1rem;font-size:.72rem;font-weight:600;display:grid}.asset-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 140px 130px 110px 80px;align-items:center;padding:.75rem 1rem;font-size:.875rem;transition:background .1s;display:grid}.asset-row:last-child{border-bottom:none}.asset-row:hover{background:var(--bg-soft)}.asset-row__name{color:var(--text);font-weight:500}.asset-row__desc{color:var(--text-muted);font-size:.78rem}.asset-row__actions{justify-content:flex-end;gap:.25rem;display:flex}.summary-bar{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.summary-bar__item{flex-direction:column;gap:.15rem;display:flex}.summary-bar__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.summary-bar__value{color:var(--text);font-size:1.1rem;font-weight:700}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:static}.sb-nav{flex-flow:wrap;padding:.5rem .75rem}.sb-nav__label{display:none}.page{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.asset-table__header,.asset-row{grid-template-columns:1fr 110px 90px}.asset-table__header>:nth-child(4),.asset-table__header>:nth-child(5),.asset-row>:nth-child(4),.asset-row>:nth-child(5){display:none}}
