:root{--navy: #0e4c6e;--navy-dark: #0b3a55;--ink: #1d2733;--muted: #5d6b7a;--line: #d7e1ea;--bg: #f4f7fa;--card: #ffffff;--yellow: #fff9c4;--red: #b42318;--red-bg: #fde8e8;--amber: #b54708;--amber-bg: #fff1d6;--green: #067647;--green-bg: #dcf5e7;--blue-bg: #e7f0f7;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;font-size:14px}a{color:var(--navy)}h1{font-size:20px;margin:0 0 12px}h2{font-size:16px;margin:18px 0 8px;color:var(--navy)}button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--navy);background:var(--navy);color:#fff;padding:7px 14px}button.secondary{background:#fff;color:var(--navy)}button.danger{background:var(--red);border-color:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;padding:7px 8px;border:1px solid var(--line);border-radius:6px;width:100%;background:#fff}textarea{min-height:60px}label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:3px}.shell{display:flex;min-height:100vh}.side{width:220px;background:var(--navy);color:#fff;padding:16px 0;flex-shrink:0}.side .brand{font-weight:700;padding:0 16px 14px;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px;line-height:1.3}.side .who{padding:10px 16px;font-size:12px;opacity:.8}.side a{display:block;color:#fff;text-decoration:none;padding:8px 16px;font-size:13px}.side a.active,.side a:hover{background:#ffffff1f}.side .group{font-size:11px;text-transform:uppercase;opacity:.6;padding:12px 16px 4px}.main{flex:1;padding:20px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:8px;padding:12px}.kpi .v{font-size:22px;font-weight:700}.kpi .l{font-size:12px;color:var(--muted)}table.t{width:100%;border-collapse:collapse;background:#fff}table.t th{background:var(--navy);color:#fff;text-align:left;font-size:12px;padding:8px;position:sticky;top:0}table.t td{border-bottom:1px solid var(--line);padding:7px 8px;vertical-align:top}table.t tr.click:hover td{background:var(--blue-bg);cursor:pointer}td.num,th.num{text-align:right;white-space:nowrap}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--blue-bg);color:var(--navy);white-space:nowrap}.badge.red{background:var(--red-bg);color:var(--red)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.green{background:var(--green-bg);color:var(--green)}.msg{padding:10px 12px;border-radius:6px;margin-bottom:12px}.msg.err{background:var(--red-bg);color:var(--red)}.msg.ok{background:var(--green-bg);color:var(--green)}.msg.warn{background:var(--amber-bg);color:var(--amber)}.muted{color:var(--muted);font-size:12px}.totals{margin-left:auto;width:360px;max-width:100%}.totals div{display:flex;justify-content:space-between;padding:4px 0}.totals .big{font-size:17px;font-weight:700;color:var(--navy);border-top:1px solid var(--ink);padding-top:6px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto;z-index:10}.modal{background:#fff;border-radius:10px;width:760px;max-width:100%;padding:20px}.login{max-width:360px;margin:10vh auto}.menu-btn{display:none}.hdr-btns{display:flex;gap:8px;align-items:center}.brand-text{display:block;min-width:0;overflow:hidden}.store-line{display:block;font-weight:400;font-size:12px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-btn{white-space:nowrap}.myday .kv{width:100%;border-collapse:collapse;margin-top:6px}.myday .kv td{padding:3px 0;vertical-align:top}.myday .kv td:first-child{color:var(--muted);font-size:12px;white-space:nowrap;padding-right:10px;width:1%}.myday .scan input{font-size:16px}.job{padding:12px;margin-bottom:10px}@media (max-width: 900px){.shell{flex-direction:column}.menu-btn{display:inline-block}.menu-btn,.back-btn{padding:10px 13px;font-size:15px;font-weight:600;white-space:nowrap;flex:0 0 auto}.side .brand{flex-wrap:nowrap}.brand-text{flex:1 1 auto}.brand-text,.store-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side{width:100%;padding:10px 12px;position:sticky;top:0;z-index:5}.side .brand{padding:0 0 8px;border:0;display:flex;justify-content:space-between;align-items:center;gap:10px}.side .who{padding:0 0 8px}.side .group{padding:10px 0 2px}.side a{padding:10px 8px;border-radius:6px}.side .nav-body{display:none}.side.open .nav-body{display:block;max-height:70vh;overflow:auto}.main{padding:12px}.topbar h1{font-size:18px}.kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.kpi .v{font-size:18px}.grid{grid-template-columns:1fr}.modal{padding:14px;border-radius:0;min-height:100vh}.modal-bg{padding:0}.totals{width:100%}button{padding:10px 14px}input,select,textarea{font-size:16px;padding:9px 10px}.tablewrap{position:relative}.tablewrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:18px;pointer-events:none;background:linear-gradient(to right,#fff0,#0000001a)}table.t th,table.t td{padding:6px;font-size:13px}}@media (max-width: 560px){.pf-two,.pf-sign{grid-template-columns:1fr!important}}.print-page{background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:0;color:#111;font-size:12px}.pf-head{background:var(--navy);color:#fff;padding:18px 24px}.pf-head h1{font-size:22px;margin:0;letter-spacing:.5px}.pf-head .sub{font-size:11px;opacity:.9;margin-top:4px}.pf-body{padding:18px 24px}.pf-box{border:1.5px solid var(--navy);padding:10px 14px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px}.pf-box h2{margin:0;font-size:20px}.pf-table th{background:var(--navy);color:#fff;padding:8px;text-align:left;font-size:11px}.pf-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.pf-table{width:100%;border-collapse:collapse}.pf-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.pf-sign .line{border-top:1px solid #111;margin-top:36px;padding-top:4px}.pf-foot{font-size:10px;color:var(--muted);padding:12px 24px;border-top:1px solid var(--navy);margin-top:30px}@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.no-print,.side{display:none!important}.main{padding:0}.print-page{width:auto;min-height:auto}}.pf-panel{border:1px solid var(--line);border-left:3px solid var(--navy);padding:8px 12px;margin-bottom:10px}.pf-panel h3{margin:0 0 4px;font-size:12px;color:var(--navy);letter-spacing:.3px}.pf-panel.green{border-color:#bfe3cf;border-left-color:var(--green);background:#f3fbf6}.pf-panel.green h3{color:var(--green)}.pf-panel.red{border-color:#f3cfcb;border-left-color:var(--red);background:#fdf4f3}.pf-panel.red h3{color:var(--red)}.pf-panel.amber{border-color:#f2ddb8;border-left-color:var(--amber);background:#fffaf0}.pf-panel.amber h3{color:var(--amber)}.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.pf-kv td{padding:1px 0;vertical-align:top}.pf-kv td:first-child{font-weight:700;white-space:nowrap;padding-right:10px;width:1%}.pf-cut{font-size:10px;color:var(--muted);padding:4px 24px 0}.pf-table tfoot td{border-top:1px solid #111;padding:6px 8px}@media print{.pf-panel{break-inside:avoid}.print-page{page-break-after:always}.print-page:last-child{page-break-after:auto}}.portal{background:var(--bg);min-height:100vh}.portal .main{padding:16px}@media print{.portal .no-print{display:none!important}}.search{position:relative;margin-bottom:12px;max-width:560px}.search input{font-size:14px}.search-results{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:60vh;overflow:auto}.search-hit{padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.search-hit:hover{background:var(--blue-bg)}.search-hit:last-child{border-bottom:0}@media (max-width: 900px){.search{max-width:100%}}.only-print{display:none}@media print{.only-print{display:inline}}.label-sheet{background:#fff;width:210mm;height:297mm;margin:0 auto 12px;box-sizing:border-box;display:grid;gap:0;color:#111;box-shadow:0 1px 4px #0000001f;align-content:start}.label-sheet.s24{grid-template-columns:repeat(3,70mm);padding:.5mm 0}.label-sheet.s24 .label{height:37mm;padding:2mm 4mm}.label-sheet.s10{grid-template-columns:repeat(2,99mm);padding:6mm}.label-sheet.s10 .label{height:57mm;padding:4mm 5mm}.label{box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;border:1px dashed #e3e8ee}.label .l-top{flex:1 1 auto;min-height:0}.label .l-bot{flex:0 0 auto}.label .l-top{font-size:6.6pt;line-height:1.2}.label .l-what{font-weight:700;font-size:7pt;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label .l-tag{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9.5pt;font-weight:700;letter-spacing:.3px}.label .l-note{font-size:5.4pt;color:#444;line-height:1.15;max-height:2.6mm;overflow:hidden}.label .l-flag{display:inline-block;font-size:5.8pt;font-weight:700;color:#fff;background:#b42318;padding:.2mm 1.2mm;border-radius:1mm}.label .l-co{font-size:5.2pt;color:#666;white-space:nowrap;overflow:hidden}.label svg{width:100%;height:7mm;display:block;margin-bottom:.8mm}.label-sheet.s10 .label .l-top{font-size:8.4pt;line-height:1.3}.label-sheet.s10 .label .l-what{font-size:9.5pt}.label-sheet.s10 .label .l-tag{font-size:15pt}.label-sheet.s10 .label .l-note{font-size:6.6pt;max-height:5mm}.label-sheet.s10 .label .l-co{font-size:6.2pt}.label-sheet.s10 .label svg{height:13mm;margin-bottom:1.4mm}@media print{.label-sheet{box-shadow:none;margin:0;page-break-after:always}.label-sheet:last-child{page-break-after:auto}.label{border:none}}.practice-banner{background:#4a2d7a;color:#fff;border-left:6px solid #c9a227}.practice-banner b{letter-spacing:.5px}
