:root{--navy: #00126b;--ice: #99c9ee;--ice-deep: #3860b2;--bar: #cce7f6;--selected: #bacae2;--line: #111;--paper: #fff;--danger: #8f1d1d;color:var(--navy);font-family:Open Sans,Segoe UI,sans-serif;background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input,select{font:inherit;color:var(--navy)}button{min-height:44px;padding:0 14px;border:1px solid var(--navy);border-radius:4px;background:var(--ice);cursor:pointer}button:hover{background:var(--ice-deep);color:#fff}button.on{background:var(--navy);color:#fff}button.ghost{background:#fff}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ice-deep);outline-offset:2px}.bag-app,.print-app{min-height:100vh}.topbar,.searchbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 16px;background:var(--bar)}.title-block{min-width:280px;flex:1 1 320px}.title-block h1{margin:0;font-size:28px;line-height:1.2}.title-block p{margin:4px 0 0;font-size:15px}.toolbar,.searchbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.toolbar{flex:2 1 520px;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.field select,.field input,.searchbar input{height:44px;border:1px solid var(--navy);border-radius:4px;background:#fff;padding:0 8px}.searchbar input{width:min(360px,100%);font-weight:600}.find-status{margin:0;min-height:44px;display:flex;align-items:center;padding:0 8px;background:var(--bar);flex:1 1 220px}.banner,.total{margin:0;padding:8px 16px;background:#eef6fb;border-top:1px solid #d5e6f2}.banner.error{background:#fde8e8;color:var(--danger)}.flip-note{font-weight:700}.sheet{height:calc(100vh - 168px);min-height:240px;overflow:auto;border-top:1px solid var(--line)}table{width:max-content;min-width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #222;border-right:1px solid #222;padding:8px;font-size:16px;white-space:nowrap;background:#fff}th{position:sticky;top:0;z-index:1;background:#e8eef5;font-size:14px}.week th{top:0}.week thead tr:nth-child(2) th{top:38px}td.num,th{text-align:center}td.num{font-variant-numeric:tabular-nums}tr.selected td{background:var(--selected)}tbody tr{cursor:pointer}.empty{margin:0;padding:48px 16px;text-align:center;font-size:20px}.print-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 16px;background:var(--bar)}.sortbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 16px;background:var(--bar);border-top:1px solid #d5e6f2}.page-label{font-weight:700}.print-app{background:#e7eef3}.print-sheet{width:210mm;max-width:calc(100% - 16px);margin:12px auto 24px;padding:18pt 23pt 16pt 18pt;background:#fff;border:1px solid var(--navy);font-family:Tahoma,Segoe UI,sans-serif}.print-sheet,.print-sheet *{color:#000}.print-sheet .empty{padding:12pt 0;font-size:11pt}.print-table{width:554pt;max-width:100%;table-layout:fixed;border-collapse:collapse;font-family:Tahoma,Segoe UI,sans-serif}.print-table .c-no{width:20.3pt}.print-table .c-level{width:33pt}.print-table .c-code{width:46.5pt}.print-table .c-name{width:149.3pt}.print-table .c-bag{width:24.8pt}.print-table .c-left{width:28.5pt}.print-table .c-driver{width:47.3pt}.print-table .c-bill{width:51.8pt}.print-table .c-day{width:40.5pt}.print-table .c-time{width:37.5pt}.print-table td,.print-table th{border:1px solid #000;color:#000;background:#fff;text-align:center;vertical-align:middle;font-weight:400}.print-table th{position:static;top:auto;z-index:auto;height:32.1pt;padding:0 1pt;font-size:10pt;white-space:normal;line-height:1.05}.print-table tr.page-row th.page-stamp,.print-table tr.page-row th.blank{height:43.9pt;font-size:9.4pt;white-space:nowrap}.print-table tr.page-row th.page-stamp span{display:block;line-height:1.15}.print-table tr.span-hold{height:0}.print-table tr.sort-row th{height:24pt;font-size:12pt;white-space:nowrap}.print-table tr.sort-row th.sort-name{font-size:10pt}.print-table tr.sort-row th.banner{text-align:left;padding-left:4pt;overflow:hidden}.print-table tr.page-row th.line-mark{height:67.9pt;font-size:36pt;line-height:.85;padding:0;overflow:visible}.print-table th.stack span{display:block;line-height:1.05}.print-table td{height:15.95pt;padding:0 1.5pt;font-size:10pt;line-height:1;overflow:hidden;white-space:nowrap}.print-table td.num{font-variant-numeric:tabular-nums}.print-table td.drivers{font-size:8pt}.print-table td.name{text-align:left;padding-left:2pt}.print-table tbody tr{cursor:default}.paper-pages{display:none}@media (max-width: 800px){.title-block h1{font-size:22px}.toolbar{justify-content:flex-start}.sheet{height:auto;min-height:50vh}th,td{font-size:14px}}@page{size:A4 portrait;margin:18pt 23pt 16pt 18pt}@media print{.no-print,.screen-sheet{display:none!important}.paper-pages{display:block}.print-app,.print-app *{color:#000!important}.print-app{background:#fff}.print-sheet{width:554pt;max-width:none;margin:0;padding:0;border:0;background:#fff}.paper-page+.paper-page,.print-app.all-lines .print-sheet+.print-sheet{break-before:page}.print-app.all-lines .print-sheet+.print-sheet{margin-top:0;border-top:0;padding-top:0}.print-table tr{break-inside:avoid}body{background:#fff}}.print-app.all-lines .print-sheet+.print-sheet{margin-top:24px;border-top:1px solid var(--navy);padding-top:16px}.sheet-pager{display:flex;gap:8px;margin-top:8px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#fff}.login-card{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(100%,280px)}.login-screen .login-level{width:160px;height:88px;margin:0;border:0;background:transparent;color:#111;font-size:72px;font-weight:700;line-height:88px;text-align:center;padding:0}.login-name{width:100%;min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;background:#f6d4d4;color:#111;font-size:22px;font-weight:700}.login-pair{display:flex;gap:8px;width:100%}.login-screen .login-id,.login-screen .login-pass{width:100%;height:52px;text-align:center;font-size:20px;font-weight:700;color:#111;border-width:2px;border-radius:6px}.login-screen .login-id{background:#d7f1fb;border-color:#2f6fad}.login-screen .login-pass{background:#e5f6cf;border-color:#7dae45}.login-screen button.login-submit{width:180px;min-height:52px;margin-top:8px;border:0;border-radius:8px;background:#4aa8ea;color:#fff;font-size:28px;font-weight:600}.login-screen button.login-submit:hover{background:#2f95dc;color:#fff}.login-error{margin:0;color:var(--danger);font-weight:700;text-align:center}.flip-gauge{padding:8px 16px 12px;background:var(--bar);border-top:1px solid #d5e6f2}.flip-gauge-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:15px}.flip-track{height:8px;background:#fff;border:1px solid var(--navy);border-radius:4px;overflow:hidden}.flip-fill{height:100%;background:var(--navy)}.flip-detail{margin:8px 0 0;font-size:14px}.flip-lines{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}.flip-lines li{min-height:32px;padding:4px 8px;border:1px solid var(--navy);border-radius:4px;background:#fff;font-size:13px}.flip-lines li.pass,.flip-lines li.single{background:var(--ice)}.flip-lines li.run{background:var(--navy);color:#fff}.flip-lines li.fail,.flip-lines li.empty{background:#fde8e8;color:var(--danger)}
