@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');:root{--navy:#101b2b;--gold:#cfaa62;--line:#e3e8ee;--muted:#718095;--bg:#f4f6fa}*{box-sizing:border-box}body{margin:0;font:13px/1.65 'Be Vietnam Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:#1d2b3b}header{background:var(--navy);color:white}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7db3ef;outline-offset:2px}.wrap{max-width:1320px;padding:0 24px;margin:0 auto}.top{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px}.logo{font-size:18px;font-weight:800;color:#e2bd73;display:flex;align-items:center;gap:6px}.logo span{font-size:12px;margin-top:-8px}.logo b{font-size:13px;letter-spacing:.06em;color:white;margin-left:13px}.topright{display:flex;align-items:center;gap:15px;font-size:11px}.ghost{background:none;border:1px solid #657184;color:white;border-radius:7px;padding:6px 10px}.kicker{color:#a98242;font-weight:800;letter-spacing:.11em;font-size:10px}.login{max-width:460px;margin:9vh auto;background:white;padding:34px;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 45px #19263814}.login h1,.page-title h1{font-size:25px;letter-spacing:-.03em;margin:7px 0}.login p:not(.kicker),.page-title p:not(.kicker){color:var(--muted)}.login label{display:block;font-weight:700;margin-top:22px}.login input{width:100%;margin:7px 0 15px}input,select{min-height:38px;border:1px solid #cfd7df;border-radius:8px;background:white;color:#1e2d40;padding:8px 11px;min-width:0}.primary{border:0;background:var(--navy);color:#f4d497;border-radius:8px;padding:11px 19px;font-weight:800}.primary:hover{background:#253b55}.login .primary{width:100%}#loginMessage{color:#b23c40!important;min-height:20px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:32px 0 22px}.page-title h1{margin:4px 0}.status{padding:8px 13px;background:#fff3da;border:1px solid #edd8ab;color:#865d14;border-radius:24px;font-size:11px;font-weight:800;white-space:nowrap}.status.active{background:#ddf6eb;border-color:#a1d9c2;color:#12674c}.sections{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.panel{padding:23px;background:white;border-radius:13px;border:1px solid var(--line);margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:18px}.panel h2{font-size:16px;margin:0;letter-spacing:-.02em}.panel-title small{color:var(--muted);font-size:10px}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fieldgrid label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#53657b;font-weight:700}.fieldgrid label:nth-child(3){grid-column:1/-1}.publishrow{display:flex;flex-direction:column;gap:8px;background:#f8fafc;padding:13px;border-radius:8px;margin:17px 0}.switch{display:flex;align-items:center;gap:9px;font-weight:700;color:#273b50}.switch input{min-height:0;width:17px;height:17px;accent-color:#227a5e}.switch.small{color:#778495;font-weight:500;font-size:11px}.hint{color:#7c8798;font-size:10px}.publishrow + .primary + .hint{margin-left:9px}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rate-box{border:1px solid var(--line);padding:12px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:9px}.rate-box strong{display:block;font-size:11px}.rate-box small{color:var(--muted);font-size:9px}.rate-actions{display:flex;align-items:center;gap:6px}.rate-actions input{width:61px;text-align:center;padding:6px;min-height:33px}.mini-save,.save-row{padding:7px 10px;background:#f4ebd9;border:1px solid #e2cda7;color:#725727;border-radius:7px;font-size:11px;font-weight:800}.items-panel{margin-top:0}.toolbar{display:flex;align-items:center;gap:11px;margin-bottom:14px}.toolbar input{flex:1;max-width:480px}.toolbar select{max-width:240px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;min-width:950px}th{padding:12px;background:#f1f4f8;color:#657185;text-align:left;font-size:10px;white-space:nowrap}td{padding:10px 12px;border-top:1px solid #edf0f4}tbody tr:hover{background:#fafbfd}td:first-child strong{display:block;font-size:11px}td:first-child small{display:block;color:var(--muted);font-size:10px;margin-top:3px}td input[type=number]{width:125px;min-height:34px;font-size:12px}td input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:#197f5f}.estimated{font-weight:800;color:#116c4c}.gain{font-size:10px;color:#728295;margin-top:2px}.warning{color:#b45325;font-size:10px}.footnote{color:var(--muted);font-size:10px;margin:12px 0 0}.alert{padding:11px 15px;border-radius:8px;background:#eaf5ff;color:#226184;border:1px solid #c5e1f1;margin-bottom:16px}.alert.error{background:#fff1f1;color:#a83036;border-color:#f0c0c3}#toast{position:fixed;bottom:23px;left:50%;background:#1c354a;color:white;border-radius:8px;padding:12px 18px;transform:translate(-50%,25px);opacity:0;pointer-events:none;transition:.2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:850px){.sections{grid-template-columns:1fr}.panel-title{display:block}.panel-title small{display:block;margin-top:5px}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none;min-width:100%}.page-title{align-items:start}.rate-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{padding:0 14px}.logo b{font-size:10px;margin-left:4px}.topright{font-size:10px}.panel{padding:15px}.login{padding:22px}.fieldgrid{grid-template-columns:1fr}.fieldgrid label:nth-child(3){grid-column:auto}.rate-grid{grid-template-columns:1fr}.page-title h1{font-size:21px}.page-title{margin:22px 0 16px}.page-title .status{font-size:10px;padding:6px}.toolbar select{max-width:100%}}
.verify-label{display:flex;align-items:center;gap:5px;font-size:9px;color:#8b6b30;white-space:nowrap;margin-top:5px}.verify-label input{width:14px!important;height:14px!important}

/* v0.5 inventory */
.inventory-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.inventory-kpi>div{background:#fff;border:1px solid #dbe2eb;border-radius:11px;padding:15px}
.inventory-kpi span{font-size:10px;color:#627184;display:block}.inventory-kpi strong{display:block;font-size:19px;margin-top:7px;color:#213a53}
.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#526477}
.form-stack label.switch{display:flex;flex-direction:row;align-items:center}.form-stack label.switch input{min-height:0}
.form-stack textarea{padding:10px;border-radius:8px;border:1px solid #cfd7df;resize:vertical;color:#21364e}
.stock-preview{border:1px solid #d5e3de;border-radius:8px;padding:13px;background:#f3faf7;color:#285e4b;line-height:1.7;font-size:12px}
.stock-col{white-space:nowrap;font-size:11px}.stock-col strong{display:block}.stock-col small{display:block;color:#64758b}
.history-table{min-width:820px}.history-table td{font-size:11px}.inventory-panels .panel{height:100%}
@media(max-width:950px){.inventory-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.inventory-kpi strong{font-size:16px}.inventory-panels{display:block}}

.form-divider{height:1px;border:0;background:#e1e6ec;margin:24px 0 15px}

/* v0.7 purchase receipt */
.purchase-table{width:100%;min-width:670px}.purchase-table input{width:100%;max-width:280px;min-width:100px}.purchase-table .p-sku{min-width:220px}.purchase-table .p-num{max-width:150px}.purchase-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 16px}.purchase-actions strong{font-size:15px}.purchase-table button{background:#f6f7f9;border:1px solid #e2e5e9;border-radius:7px;padding:8px;color:#9b3e3e}
