:root{--primary: #1f6fd6;--primary-ink: #fff;--primary-soft: #e8f1fd;--char: #24282f;--char-2: #31363f;--char-ink: #e9ecf0;--char-muted: #9aa3af;--bg: #ffffff;--card: #fff;--line: #e2e5ea;--ink: #1d2127;--muted: #6b7280;--green: #2e7d32;--green-soft: #e6f4ea;--orange: #ef6c00;--orange-soft: #fff1e3;--red: #d7263d;--red-soft: #fdecee;--purple: #5e35b1;--purple-soft: #efe9fa;--grey: #4b5563;--grey-soft: #f1f3f6;--shadow: 0 1px 2px rgba(20, 24, 31, .05), 0 2px 6px rgba(20, 24, 31, .05);--radius: 12px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,Noto Sans Myanmar,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.35}h1{font-size:25.5px;font-weight:700}h2{font-size:19.5px;font-weight:700}h3{font-size:16.5px;font-weight:600}a{color:var(--primary);text-decoration:none}p{margin:0}.muted{color:var(--muted)}.small{font-size:14.5px}.right{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14.5px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money.neg,.neg{color:var(--red)}.pos{color:var(--green)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1}.stack{display:grid;gap:14px}.shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100%}.side{background:var(--card);border-right:1px solid var(--line);padding:16px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.brand{display:flex;gap:10px;align-items:center;padding:4px 8px 16px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-weight:800;font-size:17px}.brand b{display:block;font-size:16.5px}.brand span{font-size:14px;color:var(--muted)}.nav-group{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 10px 4px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--ink);font-weight:500}.nav a:hover{background:var(--grey-soft)}.nav a.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav .ico{width:26px;text-align:center;font-size:19px}.nav .count{margin-left:auto;background:var(--red);color:#fff;border-radius:10px;font-size:12.5px;padding:0 7px;font-weight:700}.side-foot{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--line);display:grid;gap:8px}.me{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;flex:none}.main{padding:24px 28px 64px;min-width:0}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:18px;flex-wrap:wrap}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap}.topbar{display:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.stat-label{color:var(--muted);font-size:14.5px}.stat-value{font-size:24px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.stat-sub{font-size:14px;color:var(--muted);margin-top:2px}.stat.warn .stat-value{color:var(--orange)}.stat.bad .stat-value{color:var(--red)}.stat.good .stat-value{color:var(--green)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.orange{background:var(--orange-soft);color:var(--orange)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--primary-soft);color:var(--primary)}.badge.purple{background:var(--purple-soft);color:var(--purple)}.badge.grey{background:var(--grey-soft);color:var(--grey)}.badge.muted{background:transparent;border:1px solid var(--line);color:var(--muted)}.badge.diamond{background:linear-gradient(120deg,#1a1446,#4b3bc9,#2ec5f2);color:#fff}.badge.gold{background:linear-gradient(120deg,#ffe89a,#e2b33c);color:#4a3300}.badge.silver{background:linear-gradient(120deg,#f4f6f9,#c5ccd6);color:#2b323c}.badge.regular{background:var(--primary-soft);color:var(--primary)}.badge.lead{background:var(--grey-soft);color:var(--grey)}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{background:var(--grey-soft)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.sm{padding:4px 10px;font-size:14.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:18.5px;cursor:pointer;padding:4px 8px;border-radius:8px}.icon-btn:hover{background:var(--grey-soft)}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}input[type=checkbox]{width:auto}.search{max-width:340px}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--card)}.money-input input{border:0;text-align:right;font-variant-numeric:tabular-nums}.money-input input:focus{outline:none}.money-input:focus-within{border-color:var(--primary);outline:2px solid var(--primary-soft)}.money-input span{padding:0 11px;color:var(--muted);font-size:14.5px}.field{display:grid;gap:5px;min-width:0}.field.span{grid-column:1 / -1}.field-label{font-size:14.5px;font-weight:600;color:var(--muted)}.field-hint{font-size:14px;color:var(--muted)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;gap:8px;align-items:center;cursor:pointer}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:4px 12px;font:inherit;font-size:14.5px;cursor:pointer;color:var(--ink)}.chip.on{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.tabs{display:inline-flex;gap:2px;background:var(--grey-soft);padding:3px;border-radius:10px;margin-bottom:14px;flex-wrap:wrap}.tabs button{border:0;background:transparent;padding:6px 14px;border-radius:8px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.tabs button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.table-wrap{overflow-x:auto;margin:0 -16px}table{width:100%;border-collapse:collapse}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:14px;color:var(--muted);font-weight:600;white-space:nowrap;background:var(--card);position:sticky;top:0}th:first-child,td:first-child{padding-left:16px}th:last-child,td:last-child{padding-right:16px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:var(--grey-soft)}tbody tr:last-child td{border-bottom:0}tfoot td{font-weight:700;border-top:2px solid var(--line);border-bottom:0}.bike-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.bike{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;box-shadow:var(--shadow);text-align:left;padding:0;font:inherit;color:inherit}.bike:hover{border-color:var(--primary)}.bike.sel{outline:2px solid var(--primary)}.bike .photo{aspect-ratio:4 / 3;width:100%}.bike-body{padding:10px 12px 12px;display:grid;gap:4px}.bike-title{font-weight:700}.photo{object-fit:cover;background:var(--grey-soft);display:block}.photo.ph{display:grid;place-items:center;font-size:39px;color:var(--muted)}.age-30{color:var(--orange)}.age-60,.age-90{color:var(--red);font-weight:600}.split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}.panel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gallery .photo{aspect-ratio:1;border-radius:8px;width:100%}.gallery .main-photo{grid-column:1 / -1;aspect-ratio:4 / 3}.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 10px;font-size:15.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.divider{border-top:1px solid var(--line);margin:14px 0}.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.summary-line{display:flex;justify-content:space-between;padding:5px 0}.summary-line.total{font-size:20.5px;font-weight:700;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.pay-row{display:grid;grid-template-columns:1fr 1fr 110px 32px;gap:6px;margin-bottom:6px}.pick{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:center;background:var(--card)}.pick .photo{width:64px;height:48px;border-radius:6px;flex:none}.list-pick{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.list-pick button{display:flex;width:100%;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line);background:var(--card);padding:8px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer}.list-pick button:hover{background:var(--grey-soft)}.list-pick .photo{width:48px;height:36px;border-radius:6px;flex:none}.alert{padding:10px 12px;border-radius:10px;background:var(--orange-soft);color:var(--orange);font-size:15px}.alert.err{background:var(--red-soft);color:var(--red)}.alert.ok{background:var(--green-soft);color:var(--green)}.alert.info{background:var(--primary-soft);color:var(--primary)}.board{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.col{background:var(--grey-soft);border-radius:var(--radius);padding:10px;min-height:200px;display:flex;flex-direction:column;gap:8px}.col.drop{outline:2px dashed var(--primary)}.col-head{display:flex;justify-content:space-between;font-weight:700;font-size:15px;padding:2px 4px}.lead{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:grab;display:grid;gap:3px;font-size:15px}.lead.late{border-left:3px solid var(--orange)}.lead b{font-size:15.5px}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:150px 1fr 110px;gap:10px;align-items:center;font-size:15px}.bar-track{height:10px;background:var(--grey-soft);border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:var(--primary);border-radius:6px}.bar-fill.green{background:var(--green)}.bar-fill.orange{background:var(--orange)}.bar-fill.red{background:var(--red)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a101c73;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--card);border-radius:14px;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 50px #00000040}.modal.wide{width:min(820px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 8px}.modal-body{padding:8px 18px 16px;overflow-y:auto;display:grid;gap:12px}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.toasts{position:fixed;bottom:20px;right:20px;display:grid;gap:8px;z-index:100}.toast{padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--bg);box-shadow:0 8px 24px #0003;max-width:380px}.toast.err{background:var(--red);color:#fff}.empty{padding:36px 16px;text-align:center;color:var(--muted)}.empty.err{color:var(--red)}.auth{min-height:100%;display:grid;place-items:center;padding:16px}.auth .card{width:min(400px,100%);padding:28px;display:grid;gap:14px}.lock{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:200;display:grid;place-items:center}.receipt{font-size:15px;max-width:360px;margin:0 auto}.receipt h2{text-align:center}.receipt .line{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:4px 0}.qr{width:160px;height:160px;background:#fff;padding:6px;border-radius:8px}#print-root{display:none}@media print{html,body{height:auto!important;background:#fff!important}body>*:not(#print-root){display:none!important}#print-root{display:block!important}#print-root .no-print{display:none!important}}@media (max-width: 1100px){.split,.pos-grid{grid-template-columns:1fr}.panel{position:static;max-height:none}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:fixed;top:0;right:30%;bottom:0;left:0;z-index:40;transform:translate(-105%);transition:transform .2s;height:100%}.side.open{transform:none;box-shadow:0 0 0 100vmax #00000059}.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.main{padding:16px 16px 64px}.g2,.g3,.g4,.form,.form.three{grid-template-columns:minmax(0,1fr)}.stat-value{font-size:20.5px}.bike-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bar-row{grid-template-columns:90px 1fr 80px}.kv{grid-template-columns:110px 1fr}.hide-sm{display:none}.pay-row{grid-template-columns:1fr 1fr}}.gal{display:grid;gap:8px}.gal-main-btn{position:relative;border:0;padding:0;background:none;cursor:zoom-in;border-radius:12px;overflow:hidden;display:block;width:100%}.gal-main{width:100%;aspect-ratio:4 / 3;border-radius:12px}.gal-zoom{position:absolute;right:10px;bottom:10px;background:#0009;color:#fff;font-size:14px;padding:3px 9px;border-radius:20px}.gal-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}.gal-thumb{position:relative}.gal-thumb>button:first-child{border:2px solid transparent;padding:0;background:none;border-radius:8px;overflow:hidden;cursor:pointer;width:100%;display:block}.gal-thumb.on>button:first-child{border-color:var(--primary)}.gal-thumb .photo{width:100%;aspect-ratio:1}.gal-x{position:absolute;top:2px;right:2px;border:0;border-radius:50%;width:20px;height:20px;font-size:12.5px;background:var(--card);color:var(--red);cursor:pointer}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080eeb;z-index:300;display:grid;place-items:center;padding:48px 56px}.lb-img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;background:transparent;border-radius:8px}.lb-img.ph{width:60vw;height:60vh}.lb-close{position:absolute;top:12px;right:16px;border:0;background:#ffffff26;color:#fff;width:40px;height:40px;border-radius:50%;font-size:20.5px;cursor:pointer}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#ffffff26;color:#fff;width:48px;height:64px;border-radius:12px;font-size:39px;cursor:pointer}.lb-nav.prev{left:10px}.lb-nav.next{right:10px}.lb-count{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ddd;font-size:15px}.detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}.detail>.stack,.gal{align-content:start}.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.spec{background:var(--grey-soft);border-radius:10px;padding:8px 10px}.spec span{display:block;font-size:13px;color:var(--muted)}.spec b{font-size:16px}.price-big{font-size:30px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:12px}.tile{aspect-ratio:1;border-radius:16px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-weight:700;text-align:center;padding:10px;position:relative}.tile:hover{border-color:var(--primary);transform:translateY(-1px)}.tile .t-ico{font-size:39px;line-height:1}.tile.main{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);grid-column:span 2;grid-row:span 2;font-size:23px}.tile.main .t-ico{font-size:73.5px}.tile kbd,.nav kbd{font:600 12px ui-monospace,Menlo,monospace;padding:1px 5px;border-radius:5px;border:1px solid var(--line);color:var(--muted);background:var(--bg)}.tile.main kbd{color:var(--primary-ink);background:transparent;border-color:#ffffff80}.tile .t-badge{position:absolute;top:8px;right:8px;background:var(--red);color:#fff;border-radius:10px;font-size:12.5px;padding:0 7px}.nav kbd{margin-left:auto}.sell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:max-content;gap:14px;padding:2px}.sell-tile{border:2px solid var(--line);border-radius:14px;background:var(--card);padding:0;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column}.sell-tile:hover{border-color:var(--primary)}.sell-tile .photo{width:100%;aspect-ratio:4 / 3;flex:none}.sell-tile .st-body{flex:none}.sell-tile .st-body{padding:8px 10px 10px;display:grid;gap:2px}.sell-tile .st-price{font-size:18.5px;font-weight:800;color:var(--primary)}.slip-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.slip-row .photo{width:64px;height:64px;border-radius:8px;cursor:zoom-in}.draft-note{font-size:14.5px}@media (max-width: 900px){.detail{grid-template-columns:1fr}}@media (max-width: 760px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile .t-ico{font-size:30px}.tile{font-size:14.5px;border-radius:12px}.tile.main{grid-column:span 3;grid-row:span 1;aspect-ratio:auto;padding:18px;flex-direction:row}.tile.main .t-ico{font-size:46px}.tile kbd{display:none}.sell-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{padding:48px 8px}}.mf-thumb{width:72px;height:54px;border-radius:8px;flex:none}.rc-thumb{width:56px;height:42px;border-radius:6px;flex:none}.sign-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;text-align:center;font-size:14.5px}.sign-line{border-top:1px solid var(--ink);margin-bottom:4px}.wh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.wh{display:grid;gap:10px;align-content:start}.wh h3{margin:0 0 2px}.wh.closed{opacity:.6}.wh.loose{border-style:dashed;color:inherit;text-decoration:none}.wh-count{display:flex;align-items:baseline;gap:4px;white-space:nowrap}.wh-count b{font-size:34.5px;line-height:1;font-variant-numeric:tabular-nums}.wh-count span{color:var(--muted);font-size:14.5px}.wh .kv{grid-template-columns:110px 1fr}.check.span{grid-column:1 / -1}tr.day-row td{background:var(--grey-soft);padding-top:7px;padding-bottom:7px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--primary-soft)}.wh-bars .bar-row{grid-template-columns:150px 1fr 90px}.wh-bars a{color:inherit}.bike .bike-wh{font-size:14px;color:var(--muted)}.bike.picked{outline:3px solid var(--primary)}.bike .pick-mark{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;background:var(--card);border:2px solid var(--line);display:grid;place-items:center;font-weight:700;z-index:1}.bike.picked .pick-mark{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.pick-bar{position:sticky;bottom:12px;z-index:5;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--card);border:1px solid var(--primary);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow)}.wh-timeline{display:grid;gap:6px}.wh-timeline>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:15px}.bike{position:relative}.wh-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.row>input[type=date]{width:auto;flex:none}.perm-wrap{max-height:70vh;overflow:auto}.perm-table th,.perm-table td{white-space:normal}.perm-table thead th{position:sticky;top:0;background:var(--card);z-index:2;vertical-align:bottom}.perm-name{position:sticky;left:0;background:var(--card);z-index:1;min-width:220px;max-width:280px}.perm-table thead .perm-name{z-index:3}.perm-table tr.day-row td{position:sticky;left:0}.perm-col{text-align:center;min-width:96px}.perm-col b{display:block;font-size:14.5px;margin-bottom:3px}.perm-col .btn{margin-top:4px;padding:2px 6px;font-size:13px}.perm-cell{text-align:center}.perm-btn{position:relative;width:38px;height:34px;border-radius:8px;border:1px solid var(--line);font:inherit;font-weight:700;font-size:17px;cursor:pointer}.perm-btn.on{background:var(--green-soft);color:var(--green);border-color:var(--green)}.perm-btn.off{background:var(--grey-soft);color:var(--muted)}.perm-btn:disabled{cursor:default;opacity:.75}.perm-btn.custom:after,.perm-legend.custom{color:var(--orange)}.perm-btn.custom:after{content:"●";position:absolute;top:-7px;right:-5px;font-size:12.5px}.perm-btn.pending{outline:2px dashed var(--primary);outline-offset:2px}@media (max-width: 760px){.perm-name{min-width:140px;max-width:160px;font-size:14.5px}.perm-name .small{display:none}.perm-col{min-width:64px}.perm-btn{width:34px;height:30px}}.side{background:var(--char);border-right:0;color:var(--char-ink)}.side .brand{border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px}.side .brand b{color:#fff}.side .brand span,.side .nav-group,.side .muted{color:var(--char-muted)}.side .nav a{color:var(--char-ink)}.side .nav a:hover{background:var(--char-2)}.side .nav a.active{background:var(--primary);color:#fff;box-shadow:inset 3px 0 #fff}.side .side-foot{border-top-color:#ffffff1a}.side .avatar{background:var(--primary);color:#fff}.side .btn{background:var(--char-2);border-color:var(--char-2);color:var(--char-ink)}.side .btn:hover{background:#3d434d}.brand-logo{width:72px;height:72px;border-radius:10px;background:#fff;object-fit:contain;padding:2px;flex:none}.topbar .brand-logo{width:46px;height:46px;border-radius:8px}h1{color:var(--char)}.page-head h1{border-left:4px solid var(--primary);padding-left:10px}.card-head h2,.card-head h3{color:var(--char)}@media (max-width: 760px){.topbar{background:var(--char);color:#fff;border-bottom:3px solid var(--primary)}.topbar .icon-btn{color:#fff}.topbar .icon-btn:hover{background:var(--char-2)}}.auth{background:linear-gradient(180deg,#fff 0%,#fff 55%,var(--primary-soft) 100%)}.auth .card{border-top:4px solid var(--primary);box-shadow:0 10px 30px #14181f14}.auth-logo{width:180px;height:auto;margin:0 auto;display:block}.auth-title{text-align:center}.auth-title b{display:block;font-size:19.5px;color:var(--char)}.auth-title span{font-size:14.5px;color:var(--muted)}.side .brand b{font-size:17px;line-height:1.25}.side .brand span,.top-brand span{font-size:12.5px;letter-spacing:.06em;color:#6fa8f0;font-weight:600}.top-brand b{display:block;font-size:16px;line-height:1.2}.proof-box{border:2px dashed var(--orange);background:var(--orange-soft);border-radius:10px;padding:12px;display:grid;gap:6px}.proof-box.ok{border-color:var(--green);background:var(--green-soft)}.proof-thumb{position:relative;width:72px;height:72px}.proof-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}.proof-thumb button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:12px;cursor:pointer}.rc-proof{display:inline-flex;align-items:center;gap:6px;margin-top:4px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:2px 8px 2px 2px;cursor:pointer;font:inherit;font-size:13px;color:var(--green);font-weight:600}.rc-proof .photo{width:30px;height:30px;border-radius:6px}.warn-text{color:var(--orange);font-weight:600;margin-top:2px}.set-tabs{display:flex;gap:10px;flex-wrap:wrap}.set-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.set-tabs button:hover{border-color:var(--primary)}.set-tabs button.on{background:var(--char);border-color:var(--char);color:#fff;box-shadow:inset 0 -3px 0 var(--primary)}.set-ico,.set-body .page-head h1{font-size:20px}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:10px 6px;font:inherit;cursor:pointer;display:grid;gap:2px;text-align:center;color:var(--ink)}.choice span{font-size:12.5px;color:var(--muted)}.choice.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.paper-preview{background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px #14181f14;margin:0 auto;color:#111}.paper-preview.p-58mm{width:220px}.paper-preview.p-80mm{width:300px}.paper-preview.p-A5{width:100%;max-width:420px;aspect-ratio:148 / 210}.paper-preview.p-A4{width:100%;max-width:460px;aspect-ratio:210 / 297}.print-logo{display:block;width:90px;margin:0 auto 4px}@media (max-width: 760px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.paper{position:relative;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.paper-body{position:relative;z-index:1}.wm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;display:grid;place-items:center}.wm img{width:78%;max-width:320px;opacity:.06}.wm-nos{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;display:flex;flex-wrap:wrap;gap:26px 40px;align-content:center;justify-content:center;transform:rotate(-28deg)}.wm-nos span{font:700 13px ui-monospace,Menlo,monospace;color:#1f6fd6;opacity:.1;letter-spacing:.08em;white-space:nowrap}.shop-info{text-align:center;font-size:.86em;color:#444;line-height:1.5;margin:2px 0 8px}.paper-title{text-align:center;font-weight:700;margin:4px 0 6px}.no-box{display:grid;text-align:center;border:2px solid #1d2127;border-radius:8px;padding:6px;margin:8px 0;background:#ffffffb3}.no-box span{font-size:.78em;color:#555}.no-box b{font:800 1.35em ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#1f6fd6}.no-box small{font-size:.78em;color:#555}.paper-sec{margin-top:8px}.paper-sec-title{font-weight:700;font-size:.9em;background:#24282f;color:#fff;padding:2px 8px;border-radius:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt .line.total{border-bottom:2px solid #1d2127;font-size:1.08em}.gift-list{list-style:none;margin:4px 0 0;padding:0 4px;display:grid;gap:2px}.paper-foot{text-align:center;margin-top:12px;font-size:.9em}.paper .sign-row{margin-top:32px;font-size:.9em}.login-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--grey-soft);padding:4px;border-radius:10px}.login-mode button{border:0;background:transparent;padding:8px;border-radius:8px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.login-mode button.on{background:var(--card);color:var(--primary);box-shadow:var(--shadow)}.pin-card{display:grid;gap:8px;border:2px dashed var(--primary);border-radius:12px;padding:14px;background:var(--primary-soft)}.pin-card div{display:flex;justify-content:space-between;align-items:center}.pin-card b{font-size:22px;letter-spacing:.08em;color:var(--char)}.req-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.req-title{font-size:17px;display:block;margin:2px 0}.req-details{margin:8px 0 0;padding-left:20px;display:grid;gap:2px}.set-tabs .count{background:var(--red);color:#fff;border-radius:10px;font-size:12px;padding:0 7px;font-weight:700}.daylog-bar{display:flex;justify-content:flex-end;margin:-10px 0 10px}.daylog-btn{display:inline-flex;align-items:center;gap:8px;background:var(--char);color:var(--char-ink);border-color:var(--char);font-weight:600}.daylog-btn:hover{background:var(--char-2)}.dl-ico{font-size:18px}.dl-badge{background:var(--primary);color:#fff;border-radius:999px;padding:0 8px;font-size:13px;min-width:22px;text-align:center}.dl-badge.zero{background:var(--char-2);color:var(--char-muted)}.daylog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--grey-soft);border-radius:10px}.daylog-date{display:flex;align-items:center;gap:6px}.daylog-date b{min-width:120px;text-align:center}.dl-count{font-size:14px;color:var(--muted)}.dl-count b{color:var(--ink)}.dl-count .in{color:var(--green);font-weight:600}.dl-count .out{color:var(--red);font-weight:600}.daylog-empty{padding:28px 4px;color:var(--muted);text-align:center}.daylog-list{list-style:none;margin:0;padding:0}.daylog-list li{display:grid;grid-template-columns:48px auto minmax(0,1fr) auto 150px;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.daylog-list li:last-child{border-bottom:0}.dl-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}.dl-kind{font-size:12.5px;padding:2px 8px;border-radius:999px;background:var(--grey-soft);color:var(--grey);white-space:nowrap;font-weight:600}.dl-kind.good{background:var(--green-soft);color:var(--green)}.dl-kind.bad{background:var(--red-soft);color:var(--red)}.dl-kind.warn{background:var(--orange-soft);color:var(--orange)}.dl-kind.info{background:var(--primary-soft);color:var(--primary)}.dl-main{min-width:0}.dl-main a{color:var(--ink);text-decoration:none}.dl-main a:hover b{color:var(--primary);text-decoration:underline}.dl-detail{display:block;font-size:13.5px;color:var(--muted)}.dl-amt{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.dl-amt.in{color:var(--green)}.dl-amt.out{color:var(--red)}.dl-by{font-size:13.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.daylog-bar{margin:-4px 0 10px}.daylog-btn{width:100%;justify-content:center}.daylog-list li{grid-template-columns:42px auto minmax(0,1fr);grid-template-areas:"t m m" "t k a" "t b b";row-gap:4px;column-gap:8px}.dl-time{grid-area:t;align-self:start;padding-top:2px}.dl-main{grid-area:m}.dl-kind{grid-area:k;justify-self:start}.dl-amt{grid-area:a;justify-self:end}.dl-by{grid-area:b}}@media print{.daylog-bar{display:none!important}}.rp-controls{display:grid;gap:8px}.rp-chips{display:flex;flex-wrap:wrap;gap:6px}.chip.sec.on{background:var(--char);border-color:var(--char);color:#fff}.rp-preview{background:var(--grey-soft);border-radius:10px;padding:12px}.report-sheet{background:#fff;color:#111;padding:18px 20px;border:1px solid var(--line);border-radius:6px;font-size:14px}.rs-head{display:flex;gap:12px;align-items:center;border-bottom:2px solid var(--char);padding-bottom:10px;margin-bottom:6px}.rs-head img{width:56px;height:56px;object-fit:contain}.rs-head>div:nth-child(2){flex:1;display:grid;line-height:1.3}.rs-head h2{margin:0;font-size:19px;color:var(--primary)}.rs-head span{color:#555;font-size:13px}.rs-meta{font-size:12px;color:#666;text-align:right}.rs-block{margin-top:12px;break-inside:avoid}.rs-block h3{font-size:15px;margin:0 0 6px;padding-left:8px;border-left:3px solid var(--primary)}.rs-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.rs-kv>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dotted #ccc}.rs-kv span{color:#555}.rs-kv b{font-variant-numeric:tabular-nums;text-align:right}.rs-table{width:100%;border-collapse:collapse;font-size:13px}.rs-table th,.rs-table td{border:1px solid #d5d9df;padding:4px 7px;text-align:left}.rs-table th{background:#eef2f7;font-weight:600}.rs-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rs-table tfoot td{font-weight:700;background:#f6f7f9}.rs-foot{display:flex;justify-content:space-between;margin-top:28px;font-size:13px;color:#444}@media screen and (max-width: 760px){.rp-preview{padding:4px}.report-sheet{padding:10px;font-size:13px;overflow-x:auto}.rs-kv{grid-template-columns:1fr}.rs-meta{display:none}}@media print{#print-root .report-sheet{border:0;padding:0;border-radius:0;font-size:11.5px}#print-root .rs-table{font-size:11px}#print-root .rs-table th{background:#eef2f7!important}}
