@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f5f7fb;--surface: #ffffff;--surface-muted: #f9fafb;--text: #101828;--text-2: #344054;--muted: #667085;--subtle: #98a2b3;--border: #e4e7ec;--border-strong: #d0d5dd;--primary: #1d5fd8;--primary-hover: #174fb5;--primary-soft: #eef4ff;--primary-text: #ffffff;--navy: #11295a;--success: #1a7f37;--success-soft: #e7f6ec;--warning: #a15c00;--warning-soft: #fff4db;--danger: #b42318;--danger-bg: #fef3f2;--danger-text: #b42318;--notice-bg: #eef4ff;--radius: 10px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgb(16 24 40 / 5%);--shadow-md: 0 8px 24px rgb(16 24 40 / 10%);--focus: 0 0 0 3px rgb(29 95 216 / 18%);--sidebar-w: 248px;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0 0 .75rem;color:var(--text);letter-spacing:-.01em}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.125rem;font-weight:650}h3{font-size:.95rem;font-weight:650}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}svg{flex-shrink:0}button{font:inherit;font-size:.9rem;font-weight:600;height:36px;padding:0 .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background-color .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--surface-muted)}button:focus-visible{outline:none;box-shadow:var(--focus)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.link{border:none;background:none;color:var(--primary);padding:0;height:auto;box-shadow:none;font-weight:600}button.link:hover:not(:disabled){background:none;text-decoration:underline}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger-outline{color:var(--danger);border-color:#fecdca}button.ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}button.ghost:hover:not(:disabled){background:#f2f4f7;color:var(--text)}button.icon-btn{width:36px;padding:0}button.btn-sm{height:30px;padding:0 .6rem;font-size:.82rem}button.btn-lg{height:40px;padding:0 1.1rem}input,select,textarea{font:inherit;font-size:.9rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;min-width:0;box-shadow:var(--shadow-sm)}input,select{height:38px;padding:0 .7rem}textarea{padding:.5rem .7rem}input[type=checkbox],input[type=radio]{height:16px;width:16px;padding:0;box-shadow:none;accent-color:var(--primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:#84adf5;box-shadow:var(--focus)}input::placeholder,textarea::placeholder{color:var(--subtle)}input:read-only:not([type=checkbox]),input.readonly{background:var(--surface-muted)}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:linear-gradient(to right,var(--surface) calc(var(--sidebar-w) - 1px),var(--border) calc(var(--sidebar-w) - 1px),var(--border) var(--sidebar-w),transparent var(--sidebar-w))}.app.collapsed{--sidebar-w: 76px}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding:1.1rem .85rem .9rem;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.7rem;padding:.2rem .4rem 1.1rem;color:inherit}.brand:hover{text-decoration:none}.brand-logo{width:42px;height:42px;flex:none;object-fit:contain}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:1.3rem;font-weight:800;color:var(--primary);letter-spacing:.01em;line-height:1.1}.brand-tagline{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.company-switch{margin:0 .3rem .6rem;width:calc(100% - .6rem)}.nav-group{margin:.9rem .6rem .35rem;font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.62rem .75rem;border-radius:9px;color:var(--text-2);font-weight:500;font-size:.92rem}.nav-link:hover{background:var(--surface-muted);text-decoration:none}.nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:650}.nav-link svg{color:var(--muted)}.nav-link.active svg{color:var(--primary)}.nav-empty{padding:.4rem .75rem;color:var(--muted);font-size:.85rem}.sidebar-spacer{flex:1;min-height:1rem}.sidebar-card{margin:.5rem .2rem .6rem;padding:.8rem .9rem;border-radius:10px;background:var(--surface-muted);border:1px solid var(--border);font-size:.8rem}.sidebar-card-title{display:flex;align-items:center;gap:.45rem;font-weight:600;color:var(--text)}.sidebar-card .muted{margin-top:.3rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block}.sidebar-footer{padding:.2rem .6rem;font-size:.72rem;color:var(--subtle)}.app.collapsed .brand-text,.app.collapsed .nav-label,.app.collapsed .nav-group,.app.collapsed .company-switch,.app.collapsed .sidebar-card,.app.collapsed .sidebar-footer{display:none}.app.collapsed .nav-link{justify-content:center;padding:.65rem}.app.collapsed .brand{justify-content:center}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:1rem;padding:0 1.75rem;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.breadcrumb{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--muted);min-width:0}.breadcrumb strong{color:var(--text);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.topbar-date{color:var(--muted);font-size:.9rem;white-space:nowrap}.lang-switch{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.lang-switch button{height:30px;border:none;border-radius:0;box-shadow:none;padding:0 .6rem;font-size:.78rem;color:var(--muted)}.lang-switch button[aria-pressed=true]{background:var(--primary);color:#fff}.user-menu{position:relative}.user-button{height:44px;border:none;box-shadow:none;background:transparent;padding:0 .35rem;gap:.65rem}.user-button:hover:not(:disabled){background:var(--surface-muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:.8rem}.user-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.user-name{font-weight:650;color:var(--text);font-size:.9rem}.user-role{font-weight:400;color:var(--muted);font-size:.75rem}.content{flex:1;padding:1.6rem 1.75rem 2rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:.3rem;display:flex;flex-direction:column}.menu button,.menu a{height:36px;justify-content:flex-start;border:none;box-shadow:none;border-radius:7px;font-weight:500;color:var(--text-2);padding:0 .7rem;display:flex;align-items:center;gap:.55rem;font-size:.88rem}.menu a:hover{text-decoration:none;background:var(--surface-muted)}.menu .menu-danger{color:var(--danger)}.menu-wrap{position:relative;display:inline-block}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0 0 .35rem}.page-subtitle{margin:0;color:var(--muted);font-size:.95rem}.page-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.page-actions select{min-width:200px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);overflow-x:auto}.card.flush{padding:0;overflow:visible}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.card-header h2{margin:0}.card-subtitle{margin:.2rem 0 0;color:var(--muted);font-size:.82rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}table{width:100%;border-collapse:collapse;margin-top:.75rem}th,td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.8rem;background:var(--surface-muted);white-space:nowrap}td{font-size:.88rem;color:var(--text-2)}tbody tr:hover td{background:#fbfcfe}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.row-actions{white-space:nowrap;text-align:right}td.row-actions>*+*{margin-left:.4rem}td.row-actions button{height:30px;padding:0 .6rem;font-size:.82rem}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-2)}.field.wide{grid-column:1 / -1}.field-inline{flex-direction:row;align-items:center;gap:.5rem}.form{display:flex;flex-direction:column;gap:.9rem;max-width:440px}.inline-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;margin:.5rem 0}.inline-form>input:not([type]){min-width:min(300px,100%)}.subform{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin:.75rem 0;display:flex;flex-direction:column;gap:.85rem;background:var(--surface-muted)}.subform h3{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}.checkboxes{border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.45rem;padding:.75rem;background:var(--surface)}.checkboxes legend{font-weight:600;padding:0 .3rem}.checkboxes label,.check{display:flex;gap:.5rem;align-items:center;font-size:.88rem}.required{color:var(--danger)}.details{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.5rem;margin:0 0 1rem}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:500}.error{background:var(--danger-bg);color:var(--danger-text);border:1px solid #fecdca;padding:.65rem .85rem;border-radius:8px;margin:.5rem 0;font-size:.88rem}.notice{background:var(--notice-bg);border:1px solid #d1e0ff;padding:.65rem .85rem;border-radius:8px;font-size:.88rem}.notice-danger{background:var(--danger-bg);border-color:#fecdca;color:var(--danger-text)}.muted{color:var(--muted)}.small{font-size:.8rem}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;word-break:break-all}.nowrap{white-space:nowrap}.strong{font-weight:650;color:var(--text)}.centered{padding:3rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-2)}.empty-state p{margin:.2rem 0}.pill,.badge{display:inline-flex;align-items:center;height:24px;padding:0 .55rem;border-radius:6px;font-size:.76rem;font-weight:600;background:#f2f4f7;color:var(--muted);white-space:nowrap}.pill-success,.badge-active,.badge-success{background:var(--success-soft);color:var(--success)}.pill-warning,.badge-suspended,.badge-inactive,.badge-locked,.badge-failure,.badge-pending,.badge-maintenance{background:var(--warning-soft);color:var(--warning)}.pill-muted{background:#f2f4f7;color:var(--muted)}.pill-danger{background:var(--danger-bg);color:var(--danger)}.pill-info{background:var(--primary-soft);color:var(--primary)}.badge-disabled,.badge-revoked,.badge-archived,.badge-denied{background:var(--danger-bg);color:var(--danger-text)}.pager{display:flex;gap:.75rem;align-items:center;margin-top:.75rem}.pagination{display:flex;gap:.35rem;align-items:center}.pagination button{height:32px;min-width:32px;padding:0 .5rem;font-size:.85rem}.pagination button[aria-current=page]{background:var(--primary);border-color:var(--primary);color:#fff}.pagination .ellipsis{color:var(--muted);padding:0 .2rem}.page-size{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.page-size select{height:32px;border:none;box-shadow:none;padding:0 .3rem;color:var(--muted);background:transparent}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(420px,1fr);background:#fff}.login-hero{position:relative;overflow:hidden;background:#fbfdff}.login-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}.login-panel{display:grid;place-items:center;padding:2rem 2.5rem;background:linear-gradient(160deg,#eef5ff,#e6f0fd)}.login-card{width:100%;max-width:540px;display:flex;flex-direction:column;gap:1.15rem;padding:2.25rem 2.5rem 1.75rem;border:1px solid #e3ebf7;border-radius:22px;box-shadow:0 2px 4px #10182808,0 18px 40px #1d5fd814}.login-brand{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.login-brand .brand-logo{width:72px;height:72px}.login-brand .brand-name{font-size:1.9rem;line-height:1.1}.login-brand .brand-tagline{font-size:.95rem;letter-spacing:.04em}.login-card h1{font-size:2.2rem;margin:.25rem 0 0;letter-spacing:-.01em}.login-card .field{font-size:1.05rem}.login-card .lang-switch{align-self:flex-end}.login-card .lang-switch button{height:36px;min-width:44px;font-size:.95rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon>svg{position:absolute;left:1rem;color:var(--muted);pointer-events:none}.input-with-icon input{width:100%;height:52px;padding:0 3rem;border-radius:12px;font-size:1rem;background:#f7faff}.input-with-icon input::placeholder{color:#98a2b3}.input-with-icon .input-action{position:absolute;right:.5rem;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;border-radius:8px}.input-with-icon .input-action:hover{color:var(--text);background:#eef2f8}.login-card button[type=submit]{height:54px;border-radius:12px;font-size:1.15rem;margin-top:.25rem}.login-footer{margin:.5rem 0 0;padding-top:1.1rem;border-top:1px solid var(--border);text-align:center;font-size:.92rem;color:var(--muted)}@media (max-width: 1100px){.login{grid-template-columns:minmax(0,1fr) minmax(400px,1fr)}}@media (max-width: 860px){.login{grid-template-columns:1fr;grid-template-rows:240px 1fr}.login-hero img{object-position:45% 55%}.login-panel{padding:1rem 1rem 2rem;align-items:start}.login-card{padding:1.5rem 1.25rem 1.25rem;border-radius:18px}.login-brand .brand-logo{width:56px;height:56px}.login-brand .brand-name{font-size:1.5rem}.login-card h1{font-size:1.6rem}}.toasts{position:fixed;right:1.25rem;bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:60;max-width:420px}.toast{display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between;padding:.75rem .95rem;border-radius:10px;box-shadow:var(--shadow-md);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);font-size:.9rem}.toast button{height:auto;border:none;box-shadow:none;padding:0;background:none}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger);background:var(--danger-bg);color:var(--danger-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:50;overflow-y:auto}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:520px;box-shadow:0 24px 60px #10182840;display:flex;flex-direction:column;max-height:92vh}.modal-wide{max-width:1120px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.35rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;display:flex;gap:.6rem;align-items:center}.modal-close{font-size:1.5rem;line-height:1;color:var(--muted)}.modal-body{padding:1.1rem 1.35rem;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.35rem;border-top:1px solid var(--border);flex-wrap:wrap;background:var(--surface-muted);border-radius:0 0 14px 14px}.confirm-message{line-height:1.55}.weighing-page{display:flex;flex-direction:column;gap:1.25rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:var(--shadow-sm);min-width:0}.stat-label{color:var(--muted);font-size:.86rem;font-weight:500;padding-right:2.6rem}.stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.2;overflow-wrap:anywhere}.stat-hint{color:var(--muted);font-size:.76rem}.stat-icon{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.stat-ok .stat-icon{background:var(--success-soft);color:var(--success)}.stat-warn .stat-icon{background:var(--warning-soft);color:var(--warning)}.stat-warn .stat-hint{color:var(--warning)}.stat-dark{background:var(--navy);border-color:var(--navy)}.stat-dark .stat-label,.stat-dark .stat-hint{color:#b9c7e6}.stat-dark .stat-value{color:#fff}.stat-dark .stat-icon{background:#ffffff1f;color:#fff}.list-card{padding:0;overflow:hidden}.list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem .9rem}.list-head h2{margin:0}.list-tools{display:flex;gap:.25rem;position:relative}.filter-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:0 1.25rem 1rem;border-bottom:1px solid var(--border)}.search-box{position:relative;flex:1 1 240px;max-width:300px}.search-box input{width:100%;padding-right:2.2rem}.search-box svg{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.date-range{display:inline-flex;align-items:center;gap:.3rem;height:38px;padding:0 .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.date-range input{height:34px;border:none;box-shadow:none;padding:0 .2rem;width:8.6rem}.date-range input:focus{box-shadow:none}.date-range svg{color:var(--muted)}.filter-row select{min-width:170px}.more-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:.9rem 1.25rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-muted)}.tabs{display:flex;gap:1.5rem;padding:0 1.25rem;border-bottom:1px solid var(--border);overflow-x:auto}.tab{height:44px;border:none;border-radius:0;background:none;box-shadow:none;padding:0;color:var(--muted);font-weight:500;border-bottom:2px solid transparent}.tab:hover:not(:disabled){background:none;color:var(--text)}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}.table-scroll{overflow-x:auto}.ticket-table{margin:0}.ticket-table th{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.ticket-table td{white-space:nowrap;height:52px}.ticket-table th:first-child,.ticket-table td:first-child{padding-left:1.25rem;width:44px}.ticket-table tr.selected td{background:var(--primary-soft)}.ticket-table tr.status-cancelled td.fade{color:var(--subtle)}.ticket-no{font-weight:650;color:var(--primary);background:none;border:none;box-shadow:none;padding:0;height:auto;font-size:.9rem}.ticket-no:hover:not(:disabled){background:none;text-decoration:underline}.cell-time{display:flex;flex-direction:column;line-height:1.25}.cell-time small{color:var(--subtle);font-size:.7rem}.th-button{border:none;background:none;padding:0;height:auto;box-shadow:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap;gap:.2rem}.th-button:hover:not(:disabled){background:none;color:var(--text)}.sort-mark{color:var(--primary);display:inline-flex}.row-menu-cell{width:52px;text-align:center;position:relative}.row-menu-cell button.icon-btn{height:30px;width:30px}.list-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;border-top:1px solid var(--border);background:var(--surface-muted);font-size:.85rem}.list-footer .total{display:flex;gap:1.2rem;align-items:baseline}.list-footer .total strong{color:var(--primary);font-size:1rem;font-variant-numeric:tabular-nums}.list-pages{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 1.25rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.list-pages .right{display:flex;gap:1rem;align-items:center}.column-picker{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:260px;max-height:360px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:.6rem .8rem;display:flex;flex-direction:column;gap:.35rem}.column-picker strong{font-size:.82rem;margin-bottom:.2rem}.ticket-form{display:flex;flex-direction:column;gap:.9rem}.form-section{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem 1rem}.form-section legend{font-weight:650;padding:0 .35rem;color:var(--text)}.input-lg{font-size:1.2rem;font-weight:650;height:46px}input.num{text-align:right;font-variant-numeric:tabular-nums}.ticket-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.9rem}.ticket-section{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.ticket-section h3{margin:0 0 .7rem;color:var(--primary)}.ticket-section-highlight{background:#f7faff;border-color:#d1e0ff}.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}.ticket-grid .wide{grid-column:1 / -1}.info{display:flex;flex-direction:column;gap:.15rem}.info-label{color:var(--muted);font-size:.78rem}.info-value{font-variant-numeric:tabular-nums;word-break:break-word;color:var(--text)}.info-value.strong{font-size:1.05rem;font-weight:650}.history{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem;font-size:.86rem}.combobox{position:relative;display:flex;flex-direction:column}.combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;margin:0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);max-height:300px;overflow-y:auto;min-width:280px}.combobox-option{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .65rem;border-radius:7px;cursor:pointer;color:var(--text)}.combobox-option[aria-selected=true]{background:var(--primary-soft)}.combobox-empty{padding:.5rem .65rem}.calc-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem 1rem;margin:0}.calc-preview div{display:flex;flex-direction:column;gap:.15rem}.calc-preview dt{font-size:.78rem;color:var(--muted)}.calc-preview dd{margin:0;font-size:1.05rem;font-weight:650;font-variant-numeric:tabular-nums}.calc-preview .calc-total dd{color:var(--primary);font-size:1.2rem}.filter-bar{display:flex;flex-direction:column;gap:.9rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.filter-actions{justify-content:flex-end}.report-types{border:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.6rem}.report-types legend{font-weight:650;margin-bottom:.5rem;padding:0}.report-type{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface)}.report-type:hover{border-color:var(--border-strong)}.report-type input{position:absolute;opacity:0;pointer-events:none}.report-type.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.report-type:focus-within{box-shadow:var(--focus)}.report-type-label{font-weight:650;color:var(--text)}.report-type-desc{font-size:.78rem;color:var(--muted)}.period-presets{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border-radius:999px;height:30px;padding:0 .85rem;font-size:.82rem;font-weight:500}.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.report-heading h2{margin-bottom:.2rem}.report-heading{margin-bottom:.75rem}.report-table tfoot th,.report-table tfoot td{background:var(--surface-muted);font-weight:700;color:var(--text);border-top:2px solid var(--border);white-space:nowrap}.report-table tfoot th{text-align:left}@media (max-width: 1200px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app,.app.collapsed{grid-template-columns:minmax(0,1fr);background:var(--bg)}.sidebar{position:fixed;z-index:45;left:0;top:0;width:264px;transform:translate(-100%);transition:transform .2s;box-shadow:var(--shadow-md)}.app.mobile-open .sidebar{transform:none}.app.collapsed .brand-text,.app.collapsed .nav-label,.app.collapsed .nav-group,.app.collapsed .company-switch,.app.collapsed .sidebar-card,.app.collapsed .sidebar-footer{display:revert}.app.collapsed .nav-link{justify-content:flex-start;padding:.62rem .75rem}.topbar{padding:0 1rem;gap:.6rem}.topbar-date,.user-text,.user-button>svg,.breadcrumb>span,.breadcrumb>svg{display:none}.lang-switch,.user-menu,.menu-wrap{flex-shrink:0}.page-actions{width:100%}.page-actions>*{flex:1 1 auto}.content{padding:1.1rem 1rem 1.5rem}}@media (max-width: 600px){.stats{grid-template-columns:minmax(0,1fr)}.search-box{max-width:none}}.print-area{display:none}@media print{body>#root{display:none!important}.print-area{display:block}@page{size:A5 landscape;margin:10mm}.print-ticket{font-family:Times New Roman,serif;color:#000;font-size:11pt}.print-ticket+.print-ticket{break-before:page}.print-ticket h1{text-align:center;font-size:18pt;margin:4mm 0}.print-head{display:flex;justify-content:space-between}.print-no{font-size:12pt}.print-cancelled{text-align:center;font-weight:700;border:2px solid #000;padding:2mm;margin-bottom:3mm}.print-table{width:100%;border-collapse:collapse;margin:0}.print-table th,.print-table td{border:1px solid #000;padding:1.5mm 2mm;text-align:left;font-size:11pt;color:#000;background:none;height:auto}.print-table th{width:18%;font-weight:400;background:#f2f2f2}.print-emphasis td{font-weight:700;font-size:12pt}.print-meta{margin:2mm 0;font-size:9pt}.print-signatures{display:flex;justify-content:space-around;text-align:center;margin-top:6mm;min-height:22mm}}.push-right{margin-left:auto}.check.field{flex-direction:row;align-items:center}.ok-icon{color:var(--success)}.danger-text{color:var(--danger)}.warning-text{color:var(--warning)}button.primary-soft{background:var(--primary-soft);border-color:#d1e0ff;color:var(--primary)}button.primary-soft:hover{background:#e0eaff}.provider-flag{margin-left:.4rem;height:20px;font-size:.7rem}.station-picker{margin:0}.invoice-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem 1rem;margin:0 0 1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.invoice-head dt{color:var(--muted);font-size:.78rem}.invoice-head dd{margin:.15rem 0 0;font-weight:600;color:var(--text)}.invoice-entry{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;margin-bottom:.75rem}.invoice-entry header{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:.6rem}.invoice-entry .details{margin:0;font-size:.86rem}.invoice-filter{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.6rem 1rem .2rem;font-size:.84rem}.chip{height:28px;padding:0 .7rem;border-radius:999px;font-size:.8rem;background:var(--surface)}.chip[aria-pressed=true]{background:var(--primary-soft);border-color:#b2ccff;color:var(--primary);font-weight:600}button.invoice-menu-btn{display:inline-flex;align-items:center;gap:.35rem}.menu-hint{margin:.3rem .6rem;font-size:.8rem;color:var(--muted);max-width:260px}.menu button[disabled]{opacity:.45;cursor:not-allowed}.customer-row{display:flex;gap:.75rem;align-items:flex-end}.customer-row>.field{flex:1}.customer-row>.check{white-space:nowrap;padding-bottom:.55rem}.bulk-tickets{margin-top:.25rem}.bulk-tickets tfoot th{background:var(--surface-muted);color:var(--text)}.bulk-missing{margin-left:.4rem;height:20px;font-size:.7rem}
