:root{--blue:#416bdd;--nav:#456ddd;--bg:#f1f3f6;--line:#e3e7ed;--muted:#626f82;--text:#303b4b;--space:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--text);cursor:pointer;transition:background .15s}button:hover{background:#f0f4ff;border-color:#c6d3ef}button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.primary:hover{background:#315acb}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;min-height:34px;border:1px solid #d7dee8;border-radius:4px;padding:6px 10px;background:#fff;color:var(--text);caret-color:var(--blue)}input::placeholder{color:#68778b}:focus-visible{outline:2px solid #244dc4;outline-offset:2px}label{display:block;font-size:13px;font-weight:500}label input,label select,label textarea{display:block;margin:5px 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:18px;font-weight:650;margin-bottom:3px}h2{font-size:14px;font-weight:650;margin-bottom:12px}h3{font-size:13px}.muted,small{color:var(--muted)}small{font-size:12px}.layout{display:grid;grid-template-columns:144px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#fff;display:flex;flex-direction:column;min-width:0}.brand{font-size:21px;font-weight:650;letter-spacing:2px;padding:17px 16px;background:#ffffff08;min-height:76px}.brand small{display:block;font-size:11px;letter-spacing:1px;color:#e5ecff;font-weight:400;margin-top:3px}.nav{margin-top:12px;display:grid;gap:2px}.nav button{border:0;border-radius:0;background:transparent;color:#ecf1ff;display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;min-height:40px}.nav button:hover{background:#ffffff12}.nav button.active{background:#315bcc;color:#fff;box-shadow:inset 3px 0 #fff}.icon{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.sidebar footer{margin-top:auto;padding:18px 12px;font-size:11px;color:#e5ecff}.main{min-width:0}.top{height:44px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:0 16px;position:sticky;top:0;z-index:2}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px}.divider{color:#98a4b5;margin:0 10px}.icon-button{width:32px;min-width:32px;padding:6px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center}.icon-button.selected{background:#edf2ff;color:var(--blue)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-actions{gap:5px;flex-wrap:nowrap}.account-button{border:0;background:transparent;display:flex;align-items:center;gap:7px}.account-button span{display:flex;align-items:center;gap:7px}.account-button small{font-size:11px}.workspace{padding:14px 16px}.title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.title p{margin:0;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.stat{background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:4px}.stat strong{display:block;font-size:22px;font-weight:650;margin:4px 0;font-variant-numeric:tabular-nums}.panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:16px;margin-bottom:12px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panelhead h2{margin:0}.tools{display:flex;gap:8px;margin-bottom:12px;align-items:center}.tools input{max-width:300px}.tools select{max-width:130px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}th{font-weight:600;color:#616d81;background:#f7f8fb}td,th{padding:9px 10px;border-bottom:1px solid var(--line)}th+th{border-left:1px solid #edf0f4}tbody tr:hover{background:#f8faff}.model{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:600}.badge{display:inline-block;padding:2px 7px;border-radius:3px;font-size:11px;background:#e9f3ed;color:#246144}.badge.warn{background:#fff1d7;color:#86540b}.badge.gray{background:#edf0f5;color:#526075}.link{color:#315bcc;background:transparent;border:0;padding:4px 7px;min-height:28px;font-size:12px}.empty{text-align:center;padding:30px 16px;color:var(--muted);font-size:12px}.empty strong{display:block;color:var(--text);font-size:14px;font-weight:500;margin-bottom:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{background:#f5f8ff;border:1px solid #dee7f8;border-radius:4px;padding:9px 12px;font-size:12px;margin-bottom:12px}.login{max-width:400px;margin:10vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:6px}.login .brand{color:#315bcc;background:none;padding:0;min-height:0;margin-bottom:24px}.login .brand small{color:var(--muted)}.login h2{font-size:18px}.login .primary{width:100%;min-height:38px}dialog{border:1px solid var(--line);border-radius:6px;padding:20px;width:min(580px,calc(100% - 24px));max-height:90vh;overflow:auto;box-shadow:0 14px 48px #192b4930}dialog::backdrop{background:#14223b60}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.formgrid .full{grid-column:1/-1}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dialoghead h2{margin:0;font-size:16px}.error{color:#b42318;margin:8px 0;min-height:18px}.error:empty{min-height:0;margin:0}.total{font-size:18px;font-weight:650;margin:12px 0}.detail{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);gap:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263956;color:#fff;border-radius:5px;padding:10px 18px;display:none;z-index:10}.receipt{border:1px solid var(--line);padding:20px}.receipt h2{text-align:center;font-size:18px}.receipt dl{display:grid;grid-template-columns:100px 1fr;gap:12px}.receipt dt{color:var(--muted)}.receipt dd{margin:0}.receipt .sign{margin-top:40px;display:flex;justify-content:space-between}.negative{color:#b42318}.privacy-panel{position:relative;padding-right:340px;min-height:128px}.privacy-panel .actions{position:absolute;right:16px;top:16px}.privacy-panel p{margin-bottom:7px;max-width:85ch}.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.nav-collapsed .sidebar{overflow:hidden;visibility:hidden}::selection{background:#dce6ff;color:#183977}*{scrollbar-width:thin;scrollbar-color:#c7d1e0 transparent}@media(max-width:1050px){.layout{grid-template-columns:148px minmax(0,1fr)}.nav button{padding:12px}.workspace{padding:12px}.privacy-panel{padding-right:16px}.privacy-panel .actions{position:static;margin:10px 0}.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}}@media(max-width:650px){body{font-size:14px}.layout{display:block}.sidebar{padding:0 12px}.brand{padding:12px 0;min-height:0;font-size:20px;background:none}.sidebar .brand small,.sidebar footer{display:none}.nav{margin-top:0;display:flex;gap:2px;overflow:auto;padding-bottom:8px}.nav button{min-height:44px;white-space:nowrap;border-radius:4px;padding:9px 10px;gap:6px;font-size:13px}.nav button.active{box-shadow:none}.top{height:54px;padding:0 10px;gap:5px}.breadcrumb{gap:5px;font-size:12px}.breadcrumb>span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{margin:0 4px}.account-actions{gap:0}.account-button{padding:5px}.account-button small,.account-button .icon{display:none}.account-button span{font-size:12px}.icon-button{width:40px;min-width:40px;min-height:44px}button,input,select{min-height:44px}.workspace{padding:12px}.title{align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}h1{font-size:18px}.title p{font-size:12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:12px}.stat strong{font-size:21px}.panel{padding:12px}.grid2,.formgrid{grid-template-columns:1fr}.tools{flex-wrap:wrap}.tools input{max-width:none}.tools select{max-width:160px}.login{margin:6vh 16px;padding:24px}.panelhead{align-items:flex-start;flex-wrap:wrap}.privacy-panel{padding-right:12px}.privacy-panel .actions{position:static}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;white-space:normal}.table-wrap thead{display:none}.table-wrap tr{padding:10px 0;border-bottom:1px solid var(--line)}.table-wrap td{border:0;padding:5px 0;overflow-wrap:anywhere;font-size:14px}.table-wrap td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:2px}.link{min-height:44px;font-size:14px}.receipt{padding:12px}.receipt .sign{flex-wrap:wrap;gap:18px}.nav-collapsed .sidebar{display:none}}@media(pointer:coarse){button,input,select{min-height:44px}}@media(prefers-reduced-motion:reduce){button{transition:none}}@media print{body *{visibility:hidden}dialog,dialog *{visibility:visible}dialog{position:absolute;inset:0;width:100%;max-height:none;border:0;box-shadow:none}.no-print{display:none!important}.receipt{border:0}}
.history-summary{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:12px 16px;margin-bottom:12px;border-radius:4px;font-variant-numeric:tabular-nums}.sheet-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px;margin-bottom:14px;padding-bottom:8px;flex-wrap:wrap}.sheet-tabs button{border-color:transparent}.sheet-tabs button.active{color:#244dc4;background:#edf2ff;border-color:#cfdbf8}.sheet-tabs small{margin-left:8px}.source-note{white-space:normal;min-width:180px;max-width:380px;overflow-wrap:anywhere}.history-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px;color:var(--muted)}@media(max-width:650px){.history-summary{gap:8px 16px;padding:12px}.source-note{min-width:0;max-width:none}.sheet-tabs{gap:4px}.sheet-tabs button{padding:6px 8px}.history-pager{flex-wrap:wrap}}

@media(min-width:651px){
.resizable-table{cursor:grab;touch-action:pan-x pan-y}
.resizable-table table{table-layout:fixed;min-width:0}
.resizable-table th{position:relative;padding-right:18px}
.resizable-table td{white-space:normal;overflow-wrap:anywhere}
.resizable-table .column-resizer{position:absolute;right:-4px;top:0;width:9px;height:100%;cursor:col-resize;touch-action:none;z-index:1}
.column-resizer::after{content:"";position:absolute;left:4px;top:20%;height:60%;width:2px;background:#c7d1e0}
.column-resizer:hover::after,.column-resizer:focus-visible::after{background:var(--blue)}
.resizable-table.dragging,.resizable-table.dragging *{cursor:grabbing;user-select:none}
.resizable-table.resizing,.resizable-table.resizing *{cursor:col-resize;user-select:none}
}
@media(max-width:650px){.resizable-table table{width:100%!important}.resizable-table colgroup,.column-resizer{display:none}}
.app-brand{display:flex;align-items:center;gap:7px;padding:12px 10px;min-height:66px;letter-spacing:1px;font-size:19px}.app-brand img{flex-shrink:0}.editable{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;border-radius:3px;padding:0 3px;min-height:28px;text-align:left;color:inherit}.editable .icon{width:12px;height:12px;color:#7892bb;opacity:.5}.editable:hover{background:#edf2ff}.editable:hover .icon{opacity:1}.inline-editor{display:flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:280px}.inline-editor input{min-width:90px;max-width:240px;flex:1}.inline-editor button{font-size:12px;padding:3px 8px}.inline-error{flex-basis:100%;color:#b42318;font-size:12px}.auth-scene{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;padding:40px 20px;background:radial-gradient(ellipse at 50% 30%,#24333c 0%,#111b24 45%,#090f16 100%);isolation:isolate}.auth-scene:before,.auth-scene:after{content:"";position:absolute;pointer-events:none;z-index:-1}.auth-scene:before{inset:0;background:repeating-linear-gradient(90deg,transparent 0 79px,#74a7b509 80px 81px),repeating-linear-gradient(0deg,transparent 0 79px,#74a7b508 80px 81px);mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000)}.auth-scene:after{width:700px;height:700px;border:1px solid #526f7d22;border-radius:100px;transform:rotate(45deg);box-shadow:0 0 0 35px #52717d06,0 0 0 80px #52717d04}.circuit-lines{position:absolute;width:100%;height:70%;pointer-events:none;border-top:1px solid #6197a729;border-bottom:1px solid #6197a729;transform:skewY(-12deg);z-index:-1}.auth-panel{width:min(390px,100%);padding:36px 36px 40px;background:linear-gradient(145deg,#25313bfa,#151e27fa);border:1px solid #57707e57;border-radius:12px;box-shadow:0 25px 80px #0005,0 1px 0 #bfd9e51a inset}.auth-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:36px}.auth-brand img{display:block;filter:drop-shadow(0 4px 12px #4abce719)}.auth-brand h1{color:#edf5f9;font-size:30px;font-weight:600;letter-spacing:6px;margin:12px 0 0 6px}.auth-panel label{color:#bacbd5;font-size:13px}.auth-panel input{color:#edf6fa;background:#0c151de0;border-color:#405361;border-radius:6px;min-height:46px;font-size:14px;margin:8px 0 20px;padding:10px 13px;box-shadow:0 1px 2px #0002 inset}.auth-panel input::placeholder{color:#8299a8}.auth-panel input:focus-visible{outline:2px solid #83c5d6;outline-offset:2px}.auth-panel button.primary{width:100%;height:46px;background:#a2cddb;color:#112631;border:1px solid #c0e1eb;font-size:14px;font-weight:650;letter-spacing:4px;border-radius:6px;margin-top:5px;box-shadow:0 1px 0 #ebfaff55 inset}.auth-panel button.primary:hover{background:#bedde6}.auth-panel .error{color:#ffb9bb;margin:0 0 12px}.auth-panel .error:empty{margin:0}.auth-note{color:#aac0cc;font-size:12px;margin:16px 0 0;text-align:center}@media(max-width:650px){.app-brand{padding:12px 0;min-height:0;font-size:20px}.app-brand img{width:26px;height:26px}.editable{min-height:44px}.inline-editor button{min-height:44px}.auth-panel{padding:28px 24px 32px}.auth-scene{padding:24px 16px}.auth-brand{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){.auth-panel button{transition:none}}

.overview-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1200px){.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact inventory rows; narrow columns remain horizontally scrollable. */
#stock-table td,#stock-table th{padding:3px 10px;line-height:18px;white-space:nowrap;overflow-wrap:normal;overflow:hidden}
#stock-table .editable,#stock-table .link{min-height:20px;padding:0 3px;line-height:18px}
#stock-table .badge{padding:0 5px;line-height:18px}
#stock-table td small{margin-left:5px}
#stock-table .inline-editor{flex-wrap:wrap;white-space:normal}
@media(max-width:650px){#stock-table table{display:table;width:max-content!important;min-width:100%}#stock-table thead{display:table-header-group}#stock-table tbody{display:table-row-group}#stock-table tr{display:table-row;padding:0}#stock-table td,#stock-table th{display:table-cell;font-size:12px;border-bottom:1px solid var(--line)}#stock-table td::before{display:none}#stock-table .column-resizer{display:none}}
@media(pointer:coarse){#stock-table .editable,#stock-table .link{min-height:24px}}
.stock-legend{display:flex;gap:8px 20px;flex-wrap:wrap;margin:0 0 12px;color:var(--muted);font-size:12px}.stock-legend span{display:flex;align-items:center;gap:6px}.stock-legend i{width:12px;height:12px;border-radius:3px;border:1px solid #e6d1d1}.legend-red{background:#fff0f0}.stock-legend .legend-yellow{background:#fff4cd;border-color:#e5d399}tbody tr.stock-reduced{background:#fff0f0}tbody tr.stock-reduced:hover{background:#ffe5e5}tbody tr.stock-sold-out{background:#fff4cd}tbody tr.stock-sold-out:hover{background:#ffedb0}.stock-reduced td:nth-child(5) strong{color:#a12626}.stock-sold-out td:nth-child(5) strong{color:#795305}.badge.stock-status,.badge.stock-reduced{background:#fbe0e0;color:#a12626}.stock-sold-out .badge.stock-status,.badge.stock-sold-out{background:#f8e4a5;color:#795305}.stock-detail-dialog{width:min(900px,calc(100% - 24px))}.stock-detail-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.stock-detail-summary h3{font-size:18px;margin:0}.stock-detail-summary p{margin:5px 0}.stock-detail-summary strong{font-size:20px}.stock-detail-fields{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;margin:0 0 24px;padding:14px;background:#f7f8fb;border-radius:4px}.stock-detail-fields dt{color:var(--muted)}.stock-detail-fields dd{margin:0;overflow-wrap:anywhere}.stock-detail-dialog h3 small{font-weight:400}.stock-detail-dialog .source-note{min-width:180px}@media(max-width:650px){.stock-detail-summary{align-items:flex-start;flex-direction:column}.stock-detail-dialog .source-note{min-width:0}}

/* Keep the inventory heading and reconciliation on one compact line. */
.stock-heading{justify-content:flex-start;flex-wrap:nowrap;gap:14px;overflow-x:auto;padding-bottom:2px;margin-bottom:10px}
.stock-heading>div:first-child{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap}
.stock-heading h1{margin:0}
.stock-heading .stock-reconciliation{flex-wrap:nowrap;flex-shrink:0;white-space:nowrap;font-size:12px;color:var(--muted);gap:8px}
.stock-heading #page-actions{flex-wrap:nowrap;flex-shrink:0;margin-left:auto;white-space:nowrap}
.stock-heading .stock-reconciliation button{padding:3px 8px;min-height:28px;font-size:12px}

.stock-heading .stock-legend{margin:0;flex-shrink:0;flex-wrap:nowrap;white-space:nowrap;gap:12px;align-items:center}

.overview-heading{justify-content:flex-start;gap:18px;margin-bottom:10px}
.overview-heading>div:first-child{display:flex;align-items:center;gap:12px}
.overview-heading h1,.overview-heading .overview-guidance{margin:0}
.overview-heading .overview-guidance{font-size:12px}
@media(max-width:650px){.overview-heading{gap:6px}.overview-heading>div:first-child{flex-wrap:wrap}.overview-heading .overview-guidance{flex-basis:100%}}

/* In-place editing keeps the inventory row compact. */
#stock-table .inline-editor{display:inline-flex;position:relative;flex-wrap:nowrap;vertical-align:middle;width:100%;max-width:100%}
#stock-table .inline-editor input{width:100%;min-width:0;max-width:none;height:20px;min-height:20px;padding:0 3px;font:inherit;line-height:18px;border-radius:3px;margin:0}
#stock-table .inline-editor .inline-error:empty{display:none}
#stock-table .inline-editor .inline-error{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;background:#fff1f0;border:1px solid #e5aaa7;border-radius:6px;padding:10px 16px;max-width:90vw;white-space:normal;box-shadow:0 5px 20px #0002}
#stock-table .inline-editor.saving input{background:#eff4ff;color:var(--muted)}
.stock-detail-dialog{width:min(860px,calc(100% - 24px));padding:0;border:0;border-radius:12px;box-shadow:0 24px 80px #15274930}
.stock-detail-dialog #dialog-body{padding:22px 26px}
.stock-detail-dialog .dialoghead{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.stock-detail-dialog .dialoghead h2{font-size:15px;color:var(--muted);font-weight:500}
.stock-detail-dialog .dialoghead button{min-height:28px;padding:3px 10px;font-size:12px;border-radius:5px}
.stock-detail-summary{padding:0 0 16px;align-items:center;margin:0}
.stock-detail-summary h3{font-size:22px;letter-spacing:-.4px}
.stock-detail-summary strong{font-size:26px;font-variant-numeric:tabular-nums}
.stock-detail-summary p{font-size:12px;margin-top:7px}
.stock-detail-fields{grid-template-columns:80px minmax(0,1fr) 80px minmax(0,1fr);gap:10px 14px;padding:16px 18px;border:1px solid #e8ecf3;border-radius:8px;background:#f8faff;font-size:12px;margin-bottom:20px}
.stock-detail-fields dt{font-size:12px}.stock-detail-fields dd{line-height:1.6}
.stock-detail-fields .detail-note{grid-column:1}.stock-detail-fields .detail-note-value{grid-column:2/-1;white-space:pre-wrap}
.history-heading{font-size:14px;display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}.history-heading small{font-size:11px;color:var(--muted)}
.stock-detail-dialog .table-wrap{border:1px solid var(--line);border-radius:7px;max-height:36vh;overflow:auto}
.stock-detail-dialog th{position:sticky;top:0;background:#f7f9fc;z-index:1;font-size:11px;font-weight:500}
.stock-detail-dialog td{font-size:12px;padding:10px 12px;vertical-align:top}.stock-detail-dialog td:first-child{white-space:nowrap;color:var(--muted);font-size:11px}.stock-detail-dialog td small{display:block;font-size:11px;margin-top:3px;line-height:1.6}.stock-detail-dialog .source-note{max-width:340px}
.stock-entry-dialog{width:min(1320px,calc(100% - 32px));padding:0;border-radius:10px;border:0;box-shadow:0 24px 80px #15274930}
.stock-entry-dialog .dialoghead{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.stock-entry-dialog h2{font-size:16px}.entry-help{font-size:12px;margin:0 0 14px}
.entry-grid{max-height:55vh;border:1px solid var(--line);border-radius:6px;overflow:auto}.entry-grid table{min-width:1160px;width:100%;table-layout:fixed}.entry-grid th{position:sticky;top:0;background:#f7f9fc;z-index:1;font-size:11px;padding:8px;font-weight:500}.entry-grid td{padding:6px;border-bottom:1px solid var(--line)}
.entry-grid th:first-child{width:165px}.entry-grid th:nth-child(3){width:90px}.entry-grid th:nth-child(7){width:85px}.entry-grid th:nth-child(10){width:160px}.entry-grid th:last-child{width:62px}
.entry-grid input,.entry-grid select{min-width:0;width:100%;min-height:30px;height:30px;padding:3px 6px;margin:0;border-radius:4px;font-size:12px}.entry-grid button{min-height:28px;padding:2px 6px;font-size:11px;color:#a12626}.entry-grid button:disabled{opacity:.35}
.entry-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.entry-toolbar button{min-height:30px;font-size:12px}.entry-toolbar small{color:var(--muted)}
.stock-entry-dialog #form>.actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}.stock-entry-dialog #form>.error:empty{display:none}
@media(max-width:650px){
.stock-detail-dialog #dialog-body{padding:16px}.stock-detail-summary{flex-direction:row;align-items:flex-start}.stock-detail-summary h3{font-size:17px}.stock-detail-summary strong{font-size:19px}.stock-detail-fields{grid-template-columns:70px minmax(0,1fr);padding:12px;gap:8px}.stock-detail-fields .detail-note-value{grid-column:2}.stock-detail-dialog .table-wrap{max-height:40vh}.stock-detail-dialog td:first-child{white-space:normal}.stock-detail-dialog .dialoghead button{min-height:36px}
.stock-entry-dialog{padding:0;width:calc(100% - 20px)}.entry-grid table{min-width:0;table-layout:auto}.entry-grid colgroup{display:none}.entry-grid tr{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.entry-grid td{min-width:0;padding:0}.entry-grid td:first-child,.entry-grid td:nth-child(10){grid-column:1/-1}.entry-grid input,.entry-grid select{min-height:40px;height:40px}.entry-toolbar button,.entry-grid button{min-height:40px}.stock-entry-dialog #form>.actions button{min-height:44px}
}

/* Compact spreadsheet rows and consistent dialog styling. */
@media(min-width:651px){
.resizable-table td,.resizable-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:7px;padding-bottom:7px}
.resizable-table td small,.resizable-table td .model{display:inline}
.resizable-table td br{display:none}
.resizable-table td.source-note{white-space:nowrap}
.resizable-table td[data-expense-date]{cursor:text}
}
[data-stock-row],[data-sale-row]{cursor:default}
[data-stock-row]:focus-visible,[data-sale-row]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
dialog{width:min(760px,calc(100% - 32px));border:0;border-radius:14px;padding:0;background:#fff;box-shadow:0 24px 80px #162b4d38;color:var(--text)}
dialog::backdrop{background:#192a4633;backdrop-filter:none}
#dialog-body{padding:24px}
.dialoghead{margin:0 0 20px;padding:4px 0 16px;border:0;background:#fff;position:sticky;top:0;z-index:3}
.dialoghead h2{font-size:18px;color:#263956}
.dialoghead button{border:0;border-radius:7px;background:#f3f5f8;flex-shrink:0}
dialog label{font-weight:550;color:#47566d}
dialog input,dialog select,dialog textarea{min-height:40px;border-radius:7px;margin-top:7px}
dialog .detail{padding:12px 0;align-items:flex-start}
dialog .detail>span{color:var(--muted);flex-shrink:0}
dialog .detail>strong{font-weight:550;text-align:right;overflow-wrap:anywhere;min-width:0}
dialog h3{margin:22px 0 12px;font-size:14px;color:#263956}
dialog #form>.actions{padding-top:16px;border-top:1px solid var(--line);margin-top:20px;justify-content:flex-end}
dialog .primary{border-radius:7px;padding:9px 22px}
dialog .table-wrap{border:1px solid var(--line);border-radius:8px;margin:12px 0}
@media(max-width:650px){#dialog-body{padding:18px}.dialoghead{margin:0 0 18px;padding:0 0 12px;top:0}dialog .detail{gap:16px}dialog .formgrid{display:block}}
@media print{dialog{border-radius:0;box-shadow:none}#dialog-body{padding:0}.dialoghead{position:static}}

@media(min-width:651px){.resizable-table th{overflow:visible}.stock-detail-dialog .resizable-table td small{display:inline;margin-top:0}}
.stock-detail-dialog .dialoghead{margin:0 0 18px;padding:4px 0 14px;top:0;border:0}
@media(max-width:650px){.stock-detail-dialog .dialoghead{margin:0 0 18px;padding:0 0 12px;top:0}.stock-detail-summary>div{min-width:0}.stock-detail-summary h3{overflow-wrap:anywhere}}

#stock-table .inline-sale{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#stock-table .inline-sale input{width:100px;min-height:24px;height:24px;padding:1px 5px;font-size:12px}
#stock-table .inline-sale input[name=customer]{width:120px}
#stock-table .sale-save-status{font-size:11px;color:var(--muted);white-space:normal;max-width:150px}

/* One record per horizontal row, including small screens. */
.single-line-grid{overflow:auto;max-width:100%;overscroll-behavior-x:contain}
.single-line-grid table{display:table;width:max-content;min-width:100%;table-layout:auto}
.single-line-grid thead{display:table-header-group}.single-line-grid tbody{display:table-row-group}
.single-line-grid tr{display:table-row;padding:0}
.single-line-grid td,.single-line-grid th{display:table-cell;white-space:nowrap;overflow-wrap:normal;vertical-align:middle;padding:7px 12px;font-size:12px;line-height:20px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.single-line-grid td::before{display:none}.single-line-grid td small,.single-line-grid td .model{display:inline}
.single-line-grid td.source-note{white-space:nowrap;max-width:none;overflow-wrap:normal}
.single-line-grid tbody tr:last-child td{border-bottom:0}
.single-line-grid th{background:#f5f7fb;font-weight:600;color:#52627b}
.single-line-grid tbody tr:hover{background:#f4f7fd}
.single-line-grid tbody tr.stock-reduced:hover{background:#ffe5e5}.single-line-grid tbody tr.stock-sold-out:hover{background:#ffedb0}
.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;flex-wrap:wrap}
.ledger-heading>div:first-child{flex-shrink:0;min-width:160px}.ledger-heading h1{font-size:21px;margin:0 0 4px;white-space:nowrap}.ledger-heading p{margin:0}
.ledger-heading .stock-reconciliation{margin-left:auto;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:12px;gap:12px;max-width:680px}
.ledger-heading #page-actions:empty{display:none}
.ledger-content .history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:0;border-radius:7px;margin-bottom:14px;background:#fff}
.ledger-content .history-summary>span{display:flex;align-items:baseline;gap:6px;padding:18px 20px;flex-wrap:wrap;border-right:1px solid var(--line)}
.ledger-content .history-summary>span:last-child{border-right:0}
.ledger-content .history-summary>span>small:first-child{flex-basis:100%;color:var(--muted);font-size:12px;margin-bottom:4px}
.ledger-content .history-summary b{font-size:23px;color:#233a60;line-height:1.3;font-weight:650;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.ledger-content .history-summary small{font-size:11px;color:var(--muted)}
.ledger-note{background:transparent;border:0;padding:0 2px;color:var(--muted);font-size:12px;margin-bottom:18px}
.ledger-panel{padding:0;overflow:hidden;border-radius:7px}
.ledger-panel .sheet-tabs{margin:0;padding:0 18px;gap:22px;background:#f8faff;border-bottom:1px solid var(--line)}
.ledger-panel .sheet-tabs button{position:relative;border:0;border-radius:0;background:transparent;padding:14px 2px;color:#53647d;font-weight:550}
.ledger-panel .sheet-tabs button.active{color:#244dc4;background:transparent}.ledger-panel .sheet-tabs button.active:after{content:'';height:2px;background:#416bdd;position:absolute;bottom:0;left:0;right:0}
.ledger-panel .sheet-tabs small{font-weight:400;background:#edf1f7;padding:2px 6px;border-radius:4px;font-size:11px}
.ledger-panel .tools{margin:0;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line);gap:8px}
.ledger-panel .tools input{max-width:360px}.ledger-panel #history-count{margin-left:auto;white-space:nowrap;font-size:12px}
.ledger-panel #history-table{padding:0 18px}.ledger-panel #history-table .table-wrap{border:1px solid var(--line);border-top:0;border-radius:0 0 5px 5px}
.ledger-panel .history-pager{padding:12px 18px;margin:0;background:#fafbfd;border-top:1px solid var(--line)}
.ledger-panel .empty{padding:48px 12px;min-height:170px}.ledger-panel .empty strong{font-size:15px;margin-bottom:7px}
@media(max-width:650px){
.single-line-grid table{display:table;width:max-content!important;min-width:100%}.single-line-grid thead{display:table-header-group}.single-line-grid tbody{display:table-row-group}.single-line-grid tr{display:table-row;padding:0}.single-line-grid td,.single-line-grid th{display:table-cell;white-space:nowrap;font-size:12px;padding:7px 10px;border-bottom:1px solid var(--line)}.single-line-grid td::before{display:none}
.ledger-heading{gap:12px}.ledger-heading>div:first-child{min-width:0}.ledger-heading .stock-reconciliation{margin:0;width:100%;align-items:flex-start;font-size:11px}.ledger-heading .stock-reconciliation span{flex:1;min-width:0}
.ledger-content .history-summary{grid-template-columns:1fr 1fr}.ledger-content .history-summary>span{padding:14px;border-bottom:1px solid var(--line)}.ledger-content .history-summary>span:nth-child(2){border-right:0}.ledger-content .history-summary>span:nth-child(n+3){border-bottom:0}.ledger-content .history-summary b{font-size:19px}
.ledger-panel .sheet-tabs{padding:0 12px;gap:16px;flex-wrap:nowrap}.ledger-panel .sheet-tabs button{font-size:12px;min-height:44px;white-space:nowrap}.ledger-panel .sheet-tabs small{margin-left:3px}
.ledger-panel .tools{padding:12px}.ledger-panel .tools input{flex-basis:100%;max-width:none}.ledger-panel #history-table{padding:0 12px}.ledger-panel .history-pager{padding:12px}.ledger-panel .history-pager .actions{margin-left:auto}
}

.stock-view-tabs{display:flex;gap:3px;margin-left:auto;padding:3px;background:#f1f4f9;border-radius:6px}.stock-view-tabs button{border:0;background:transparent;color:var(--muted);white-space:nowrap}.stock-view-tabs button[aria-selected="true"]{background:#fff;color:var(--blue);box-shadow:0 1px 4px #20355515}.stock-note{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.stock-detail-dialog .resizable-table{max-height:none}@media(max-width:650px){.stock-view-tabs{margin-left:0;width:100%}.stock-view-tabs button{flex:1}.stock-note{white-space:normal}}

/* Column widths are explicit; content never forces a resized column wider. */
.resizable-table table,.single-line-grid.resizable-table table{table-layout:fixed;min-width:0;border-collapse:separate;border-spacing:0}
.resizable-table td,.resizable-table th,#stock-table td,#stock-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:none}
.resizable-table th{position:relative;overflow:visible}
.resizable-table .column-resizer{right:0;width:8px;z-index:7}
.resizable-table .editable{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#stock-table th:nth-child(2),#stock-table td:nth-child(2){position:sticky;left:0;z-index:4;background:#fff;box-shadow:2px 0 4px #24375615}
#stock-table th:nth-child(2){z-index:6;background:#f5f7fb}
#stock-table tbody td:nth-child(2){background:inherit}
#stock-table .stock-note{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}
.note-more{color:var(--blue);margin-left:7px;font-size:11px}
#stock-table td.note-expanded{white-space:normal;overflow:hidden;vertical-align:top}
#stock-table .inline-editor.note-editor{display:block;width:100%;max-width:100%}
#stock-table .note-editor textarea{display:block;width:100%;min-width:0;min-height:96px;max-height:300px;padding:8px;font:inherit;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;margin:3px 0}
@media(max-width:650px){.single-line-grid.resizable-table table,#stock-table .resizable-table table{width:var(--grid-width)!important;min-width:0;table-layout:fixed}.resizable-table colgroup{display:table-column-group}.resizable-table .column-resizer{display:block;position:absolute;top:0;right:0;width:8px;height:100%;touch-action:none;cursor:col-resize}.resizable-table .column-resizer:after{content:'';position:absolute;right:2px;top:20%;height:60%;width:2px;background:#c7d1e0}}
/* Bright, optimistic login identity. */
.auth-scene{background:radial-gradient(ellipse at 14% 18%,#b4efff 0,transparent 45%),radial-gradient(ellipse at 88% 85%,#ffc3a6 0,transparent 48%),linear-gradient(125deg,#eef8ff,#f7faff 52%,#fff0e8)}
.auth-scene:before{background:radial-gradient(circle,#67a8e530 1px,transparent 1px);background-size:28px 28px;mask-image:none;opacity:.55}
.auth-scene:after{width:620px;height:620px;border:55px solid #ffffff65;border-radius:50%;transform:translate(-38%,-14%);box-shadow:0 0 0 28px #ffffff30;left:0;top:0}
.circuit-lines{width:420px;height:420px;border:65px solid #ffb18c30;border-radius:50%;right:-160px;bottom:-130px;transform:none}
.auth-panel{width:min(410px,100%);padding:36px 38px;background:#ffffffed;border:1px solid #fff;border-radius:24px;box-shadow:0 24px 70px #327cb521,0 3px 12px #246caf0d}
.auth-brand{margin-bottom:28px}.auth-brand img{width:96px;height:96px;filter:drop-shadow(0 10px 12px #357aca25)}
.auth-brand h1{color:#2156b8;font-size:30px;letter-spacing:5px;margin-top:12px}
.auth-tagline{font-size:13px;color:#657992;letter-spacing:1px;margin:8px 0 0}
.auth-panel label{color:#364d6b;font-weight:600}
.auth-panel input{color:#243f60;background:#f6f9ff;border-color:#d5e3f5;border-radius:10px;box-shadow:none;margin-bottom:18px;min-height:48px}
.auth-panel input::placeholder{color:#71859e}.auth-panel input:focus-visible{outline-color:#2f80ed;background:#fff}
.auth-panel button.primary{height:48px;margin-top:8px;background:linear-gradient(110deg,#267ff2,#435cec);border:0;border-radius:10px;color:#fff;box-shadow:0 8px 18px #3479ed30;letter-spacing:3px}
.auth-panel button.primary:hover{background:linear-gradient(110deg,#176cda,#334bd4)}
.auth-panel .error{color:#b42318}.auth-note{color:#64748b}
@media(max-width:650px){.auth-panel{padding:28px 24px;border-radius:20px}.auth-brand img{width:84px;height:84px}.auth-scene:after{width:400px;height:400px}}
.sales-view-tabs{display:flex;align-items:center;gap:4px;padding:3px;background:#f1f4f9;border-radius:6px}.sales-view-tabs button{border:0;background:transparent;color:var(--muted)}.sales-view-tabs button[aria-selected="true"]{background:#fff;color:var(--blue);box-shadow:0 1px 4px #20355515}.sales-view-tabs small{margin-left:5px}
.receipt-slip-dialog{width:min(1160px,calc(100% - 24px));max-height:95vh}.slip-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.slip-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.slip-toolbar select{margin:0;min-height:32px;width:100px}.slip-toolbar button{min-height:32px;font-size:12px}.slip-paper{background:#e9eef4;border:1px solid var(--line);padding:14px;border-radius:6px;overflow:auto}.slip-paper canvas{display:block;width:100%;height:auto;background:#fcfcf7;box-shadow:0 4px 16px #21354b20}.slip-status{margin:10px 0 0;color:var(--muted);font-size:12px}
@media(max-width:650px){.sales-view-tabs{width:100%}.sales-view-tabs button{flex:1;min-height:44px}.slip-toolbar button,.slip-toolbar select{min-height:40px}.slip-paper{padding:8px}.slip-paper canvas{min-width:760px}}
@media print{@page{size:241mm 140mm;margin:5mm}.receipt-slip-dialog{position:absolute;inset:0;width:100%;max-width:none;max-height:none;border:0;padding:0}.receipt-slip-dialog #dialog-body{padding:0}.receipt-slip-dialog .slip-paper{padding:0;border:0;overflow:visible;background:white}.receipt-slip-dialog canvas{width:230mm!important;min-width:0!important;max-width:100%;box-shadow:none}.receipt-slip-dialog .dialoghead,.receipt-slip-dialog .no-print{display:none!important}}
.quality-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}#add-quality-form{max-width:330px}#stock-table .quality-label{cursor:pointer;padding:0 5px}#stock-table .quality-label:hover{box-shadow:0 0 0 1px #698bcc;background:#edf2ff}.inline-editor select{width:100%;min-width:65px;padding:1px 5px;font:inherit}

.adjustment-grid table{min-width:780px}
.adjustment-grid th:first-child{width:24%}.adjustment-grid th:nth-child(2){width:14%}.adjustment-grid th:nth-child(3){width:25%}.adjustment-grid th:last-child{width:37%}
.adjustment-help{margin:12px 0 16px}
@media(max-width:650px){.adjustment-grid table{min-width:0}.adjustment-grid td:first-child{grid-column:auto}.adjustment-grid td:last-child{grid-column:1/-1}}

:root{--stock-unsold:#ffffff;--stock-partial:#fff0dd;--stock-sold:#ffb45e;--stock-pending:#e7f5e9}
tbody tr.stock-unsold{background:var(--stock-unsold)}tbody tr.stock-reduced,tbody tr.stock-reduced:hover{background:var(--stock-partial)}tbody tr.stock-sold-out,tbody tr.stock-sold-out:hover{background:var(--stock-sold)}tbody tr.stock-pending,tbody tr.stock-pending:hover{background:var(--stock-pending)}
.legend-red{background:var(--stock-partial)}.stock-legend .legend-yellow{background:var(--stock-sold)}.legend-green{background:var(--stock-pending)}
.color-setting-fields{display:flex;flex-wrap:wrap;gap:18px}.color-setting-fields input{width:80px;min-height:36px;padding:3px}.stock-reduced td strong,.stock-sold-out td strong{color:inherit}
.profits-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.profits-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profits-stats .stat strong{font-size:19px}}

.history-pager .actions{flex-wrap:wrap;gap:6px}.history-pager .page-number{min-width:32px;padding:6px 10px}.history-pager .page-number[aria-current="page"]{color:#fff;background:var(--blue);border-color:var(--blue)}.stock-time{font-variant-numeric:tabular-nums}.inline-editor input[type="datetime-local"]{min-width:210px}

.column-hidden{display:none!important}.column-menu{margin-left:auto;flex-shrink:0}.column-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--blue);width:30px;height:28px;display:grid;place-items:center;font-size:20px}.column-menu summary::-webkit-details-marker{display:none}.column-menu summary:focus-visible{outline:2px solid var(--blue)}.column-menu-panel{position:fixed;width:190px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 25px #26395625;z-index:20;padding:10px}.column-menu-panel strong{display:block;margin-bottom:6px;font-size:12px}.column-menu-panel label{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:12px;font-weight:400;white-space:normal}.column-menu-panel input{width:14px;height:14px;min-height:0;padding:0;margin:0;accent-color:var(--blue)}.table-column-tools{display:flex;justify-content:flex-end;height:28px;margin-bottom:3px}.column-menu:not([open]) .column-menu-panel{display:none}

/* Desktop dialogs keep their edges available while the body scrolls. */
dialog{overflow:visible;max-width:calc(100vw - 24px)}
dialog #dialog-body{max-height:calc(90vh - 2px);overflow:auto;border-radius:inherit}
dialog[style*="height"] #dialog-body{height:100%;max-height:100%}
dialog.stock-detail-dialog{width:86vw;height:86vh;max-height:calc(100vh - 24px)}
dialog.stock-detail-dialog #dialog-body{height:100%;max-height:100%}
.dialog-resize{position:absolute;z-index:10;touch-action:none}
.dialog-resize-n,.dialog-resize-s{left:10px;right:10px;height:10px;cursor:ns-resize}
.dialog-resize-n{top:-5px}.dialog-resize-s{bottom:-5px}
.dialog-resize-e,.dialog-resize-w{top:10px;bottom:10px;width:10px;cursor:ew-resize}
.dialog-resize-e{right:-5px}.dialog-resize-w{left:-5px}
.dialog-resize-ne,.dialog-resize-nw,.dialog-resize-se,.dialog-resize-sw{width:16px;height:16px}
.dialog-resize-ne{top:-5px;right:-5px;cursor:nesw-resize}
.dialog-resize-nw{top:-5px;left:-5px;cursor:nwse-resize}
.dialog-resize-se{bottom:-5px;right:-5px;cursor:nwse-resize}
.dialog-resize-sw{bottom:-5px;left:-5px;cursor:nesw-resize}
@media(max-width:650px){dialog.stock-detail-dialog{width:calc(100vw - 24px);height:88dvh}.dialog-resize{display:none}}
@media print{dialog[open]{width:100%!important;height:auto!important;left:0!important;top:0!important;margin:0!important}dialog #dialog-body{height:auto!important;max-height:none!important;overflow:visible}}

.entry-grid th:nth-child(6){width:85px}.entry-grid th:nth-child(9){width:160px}
@media(max-width:650px){.entry-grid td:nth-child(9){grid-column:1/-1}.entry-grid td:nth-child(10){grid-column:auto}}

@media(min-width:651px){
.stock-entry-dialog{width:min(1380px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:0}
.stock-entry-dialog #dialog-body{padding:20px}
.stock-entry-dialog .dialoghead{padding:0 0 14px;margin:0 0 14px;min-height:0;border:0}
.stock-entry-dialog .dialoghead h2{font-size:16px}
.stock-entry-dialog .entry-help{font-size:11px;margin-bottom:8px}
.stock-entry-dialog .entry-grid table{min-width:0;table-layout:fixed;width:100%!important}
.stock-entry-dialog .entry-grid colgroup{display:none}
.stock-entry-dialog .entry-grid th{width:auto!important;font-size:11px;padding:5px 4px;white-space:normal}
.stock-entry-dialog .entry-grid th:first-child{width:15%!important}
.stock-entry-dialog .entry-grid td{padding:4px}
.stock-entry-dialog .entry-grid input,.stock-entry-dialog .entry-grid select{font-size:11px;min-height:28px;height:28px;padding:2px 4px}
.stock-entry-dialog .entry-grid{max-height:45svh}
.stock-entry-dialog .entry-toolbar{margin:8px 0;gap:8px}
.stock-entry-dialog #form>.actions{padding-top:8px;margin-top:8px}
.stock-entry-dialog button{min-height:28px;font-size:12px;padding:3px 10px}
}

@media screen{dialog.stock-entry-dialog:has(.adjustment-grid){width:min(1080px,calc(100vw - 24px))}}

.cost-lock-switch{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cost-lock-switch input{width:16px;height:16px;min-height:0;margin:0;padding:0}

/* Keep desktop business navigation visible while the document scrolls. */
@media screen and (min-width:651px){
  .sidebar{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto}
  .sidebar .brand,.sidebar .nav,.sidebar footer{flex-shrink:0}
}

/* Editable sales document: field positions share the canvas coordinate system. */
.slip-sheet{position:relative;width:100%}.slip-fields{position:absolute;inset:0}.slip-field{position:absolute;min-height:0;border:0;border-radius:2px;padding:0;background:transparent;box-shadow:none}.slip-field:hover,.slip-field:focus-visible{background:#4274e620;outline:2px solid #426be0;outline-offset:0}.slip-edit-help{font-size:12px;color:var(--muted);margin:0 0 12px}.slip-field-editor{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;background:#f0f4ff;margin-bottom:12px;border-radius:6px}.slip-field-editor label{display:flex;align-items:center;gap:12px;flex:1;min-width:220px;font-size:13px;white-space:nowrap}.slip-field-editor input{margin:0;min-width:0;flex:1}.slip-field-editor .inline-error{width:100%;color:#b42318;font-size:12px}
@media(max-width:650px){.slip-sheet{min-width:760px}.slip-field-editor label{width:100%;flex-basis:100%}.slip-field-editor button{min-height:40px}}
@media print{.slip-sheet{min-width:0!important;width:230mm!important}.slip-paper canvas{width:100%!important}}

/* Default tables fill their container; explicit column resizing keeps exact widths. */
.single-line-grid.resizable-table:not(.manual-column-widths) table{width:100%!important;min-width:100%}
.single-line-grid.resizable-table:not(.manual-column-widths) col{width:auto!important}
.single-line-grid th,.single-line-grid td{text-align:center}
.single-line-grid .editable{text-align:center;justify-content:center}
#stock-table .stock-note{text-align:center}
@media(max-width:650px){.single-line-grid.resizable-table:not(.manual-column-widths) table{min-width:var(--grid-width)}}
/* Phone: thumb-friendly navigation and records; desktop tables remain intact. */
.mobile-record-actions{display:none}
@media screen and (max-width:650px){
 html{scroll-padding-top:64px}body{font-size:15px;background:#f3f5f8}.layout,.main{display:block!important;margin:0!important;width:100%!important}.sidebar,.layout.sidebar-collapsed .sidebar{display:block!important;position:fixed;inset:auto 0 0;width:100%!important;height:auto!important;background:#fff;z-index:50;border-top:1px solid #e1e5ed;padding:0 0 env(safe-area-inset-bottom)}
 .sidebar .brand,.sidebar footer{display:none}.sidebar .nav{display:flex!important;padding:0;gap:0;overflow:visible}.sidebar .nav button{flex:1;min-width:0;min-height:60px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px 2px;color:#596476;border:0;background:transparent;font-size:11px;border-radius:0}.sidebar .nav button.active{color:#3264df;background:#f0f5ff}.sidebar .nav .icon{width:22px;height:22px}.sidebar .nav button span{display:block!important}
 .top{position:sticky;top:0;z-index:40;padding:6px 12px;height:56px;background:#fff}.breadcrumb{font-size:15px;min-width:0}#sidebar-toggle,.account-button small,.account-button span{display:none}.account-actions{gap:2px}.account-actions button{padding:8px;min-width:44px;min-height:44px}#logout{font-size:13px}
 .workspace{padding:14px 12px calc(86px + env(safe-area-inset-bottom))!important}.title,.stock-heading{display:flex!important;flex-wrap:wrap;overflow:visible;gap:10px;margin-bottom:14px}.title h1{font-size:23px;margin:0}.title p{white-space:normal!important}.stock-reconciliation{display:none!important}.stock-legend{width:100%;flex-wrap:wrap;font-size:11px;gap:8px}.title #page-actions{margin-left:0;flex-wrap:wrap;gap:6px;width:100%}.title #page-actions button{flex:1;min-height:44px;padding:8px;font-size:13px}.overview-guidance{white-space:normal!important}
 .panel{padding:12px!important;min-width:0}.tools{flex-wrap:wrap;gap:8px}.tools input{width:100%!important;min-width:0;flex-basis:100%;font-size:16px}.tools select{flex:1;min-width:0;width:auto}.tools button{font-size:13px;min-height:44px}.stock-view-tabs{width:100%;margin:0!important;display:flex}.stock-view-tabs button{flex:1}.column-menu{margin-left:auto}.column-menu-panel label{min-height:44px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat{padding:14px!important}.stat strong{font-size:22px!important}.grid2{grid-template-columns:1fr!important}
 .mobile-records{overflow:visible!important}.mobile-records table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important}.mobile-records colgroup,.mobile-records thead{display:none!important}.mobile-records tbody{display:block!important}.mobile-records tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 12px;border:1px solid #dfe5ef;border-radius:12px;padding:10px;overflow:hidden;background:var(--stock-unsold,#fff)}
 .mobile-records tbody tr.stock-partial{background:var(--stock-partial)}.mobile-records tbody tr.stock-sold{background:var(--stock-sold)}.mobile-records tbody tr.stock-pending{background:var(--stock-pending)}
 .mobile-records tbody td{position:static!important;display:none!important;width:auto!important;min-width:0!important;max-width:none!important;padding:5px!important;white-space:normal!important;text-align:left!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow-wrap:anywhere}
 .mobile-records tbody td:first-child,.mobile-records tbody td[data-label="型号"],.mobile-records tbody td[data-label="库存(pcs)"],.mobile-records tbody td[data-label="成本价"],.mobile-records tbody td[data-label="销售价"],.mobile-records tbody td[data-label="销售填写框"],.mobile-records tbody td[data-label="操作"],.mobile-records tbody td.mobile-record-actions,.mobile-records tbody tr.mobile-expanded td{display:block!important}
 .mobile-records tbody td:before{content:attr(data-label);display:block!important;font-size:11px;color:#596476;margin-bottom:3px}.mobile-records tbody td[data-label="型号"],.mobile-records tbody td[data-label="销售填写框"],.mobile-records tbody td[data-label="操作"],.mobile-records tbody td.mobile-record-actions{grid-column:1/-1}.mobile-records tbody td.mobile-record-actions:before{display:none!important}.mobile-record-actions{display:flex!important;gap:10px}.mobile-record-actions button{background:transparent;color:#3264df;border:0;min-height:44px;padding:8px}.mobile-records .editable{min-height:44px!important;justify-content:flex-start!important;text-align:left!important;white-space:normal}.mobile-records tbody td.column-hidden{display:none!important}
 .mobile-records .inline-sale{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;width:100%}.mobile-records input,.mobile-records select,.mobile-records textarea{font-size:16px!important;min-height:44px!important;width:100%!important;max-width:100%!important}.mobile-records input[placeholder="买家"]{grid-column:1/-1}.mobile-records .model{font-size:17px;white-space:normal!important}.mobile-records .link{min-height:44px;padding:8px}
 dialog,dialog.stock-entry-dialog,dialog.stock-detail-dialog{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100dvh - 24px)!important;height:auto!important;margin:auto!important;padding:12px!important;box-sizing:border-box;border-radius:16px}.dialog-resize-handle{display:none!important}dialog input,dialog select,dialog textarea{font-size:16px!important;min-height:44px!important}dialog .entry-grid{overflow:visible!important}dialog .entry-grid table{display:block!important;min-width:0!important;width:100%!important}dialog .entry-grid thead,dialog .entry-grid colgroup{display:none!important}dialog .entry-grid tbody{display:block!important}dialog .entry-grid tr{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px;padding:8px;border:1px solid #dfe5ef;margin-bottom:10px}dialog .entry-grid td{display:block!important;width:auto!important;min-width:0;white-space:normal;padding:3px!important}dialog .entry-grid td:before{content:attr(data-label);display:block;font-size:12px;margin-bottom:4px}dialog .entry-grid td:first-child{grid-column:1/-1}dialog .entry-grid input,dialog .entry-grid select{width:100%!important}dialog .modal-head{position:sticky;top:0;background:#fff;z-index:2}#toast{bottom:85px!important;max-width:calc(100vw - 32px)}
}
@media screen and (max-width:650px){
 #stock-table .mobile-records table,.mobile-records.resizable-table table,.mobile-records.resizable-table.manual-column-widths table{width:100%!important;min-width:0!important;max-width:100%!important}
 #stock-table .mobile-records tr{width:100%!important;box-sizing:border-box}
 #stock-table .mobile-records td{max-width:none!important}
 .mobile-records .inline-sale-fields{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%!important;min-width:0!important}
 .mobile-records .inline-sale-fields input{min-width:0!important;width:100%!important}.mobile-records .inline-sale-fields input[name="customer"]{grid-column:1/-1}
}
@media screen and (max-width:650px){
 dialog .entry-toolbar,dialog #form>.actions{position:static!important;float:none!important;display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:12px;padding:8px 0!important;clear:both}dialog #form>.actions button{width:100%}dialog .dialoghead{position:sticky;top:-12px;background:#fff;z-index:3;padding:12px 0}
 .mobile-records tbody td:first-child:not([data-label="型号"]){display:none!important}.tools select{flex-basis:calc(50% - 8px);font-size:14px;padding:8px!important}
}
@media screen and (min-width:651px){.single-line-grid tbody td.mobile-record-actions{display:none!important}}
.audit-tools{flex-wrap:wrap;align-items:flex-end}.audit-tools label{min-width:140px}.audit-tools label input,.audit-tools label select{margin:4px 0 0;max-width:none}#global-audit .audit-detail{white-space:normal;overflow-wrap:anywhere;text-align:left;min-width:280px;max-width:600px}#global-audit table{min-width:1000px}
.settings-functions{display:flex;flex-wrap:wrap;gap:8px;margin-left:24px;align-self:center}
#content>[data-settings-section][hidden]{display:none!important}
@media(max-width:650px){.settings-functions{margin-left:0;width:100%;display:grid;grid-template-columns:1fr 1fr}.settings-functions button{min-height:44px;font-size:13px}}

input[type=number]{appearance:textfield;-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#stock-table .sale-save-status:empty{display:none}
.column-menu summary{width:46px;height:34px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:7px}
.column-menu summary svg{width:20px;height:20px}.column-menu summary .column-menu-chevron{width:10px;height:10px}
.column-menu summary:hover,.column-menu[open] summary{background:#edf3ff;border-color:#9fb7ef;color:#285bd4}
.column-menu[open] .column-menu-chevron{transform:rotate(180deg)}
@media(max-width:650px){.column-menu summary{width:48px;height:44px}}
/* Keep sticky columns and resize handles inside their table stacking context. */
.resizable-table{isolation:isolate}

.eagle-source{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:12px;margin:0 0 14px}.eagle-source>.muted{margin-left:auto}.eagle-panel{padding:0}.eagle-panel .sheet-tabs{padding:8px 16px 0;border-bottom:1px solid var(--line)}.eagle-tools{margin:0;padding:14px 16px 8px}.eagle-tools input{max-width:360px}.eagle-tools select{max-width:160px}.eagle-explanation{padding:0 16px;margin:0 0 12px;font-size:12px}.eagle-panel #eagle-table{padding:0 16px}.eagle-panel .history-pager{padding:12px 16px}.eagle-detail-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;margin:18px 0;background:#f8faff}.eagle-detail-metrics>div{padding:14px;border-right:1px solid var(--line)}.eagle-detail-metrics>div:last-child{border:0}.eagle-detail-metrics strong{display:block;font-size:18px;margin-top:5px}.eagle-panel .table-column-tools{padding-right:16px}@media(max-width:650px){.eagle-source>.muted{margin-left:0;width:100%}.eagle-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.eagle-detail-metrics>div{border-bottom:1px solid var(--line)}.eagle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.eagle-tools input{max-width:100%}.eagle-tools{flex-wrap:wrap}}
