:root{--ink:#0e1621;--ink2:#5a6672;--ink3:#8a96a2;--line:#d8e0e7;--line2:#edf1f5;--bg:#eef2f6;--card:#fff;--brand:#00b0f0;--brand-dk:#0076a8;--tint:#e8f7fe;--red:#d22b2b;--amber:#e08600;--green:#0e8a5f;--r:6px;--shadow:0 1px 2px #0e16210f, 0 4px 14px #0e16210d}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0}a{color:var(--brand-dk)}.spacer{flex:1}.loading,.loading-screen{min-height:40vh;color:var(--ink2);place-items:center;font-weight:700;display:grid}.state-panel{min-height:180px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.state-panel strong{color:var(--ink)}.cursor-controls{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;padding:10px 0;font-size:12px;display:flex}.tablefoot .cursor-controls{margin-left:auto;padding:0}.skeleton-row{pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#edf1f4 25%,#f8fafb 45%,#edf1f4 65%) 0 0/300% 100%;border-radius:4px;width:100%;min-width:42px;height:12px;animation:1.2s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.loading-screen{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:40;background:#fff;align-items:center;gap:16px;height:62px;padding:9px 20px;display:flex;position:sticky;top:0}.topbar .logo{object-fit:contain;width:116px;height:40px}.topbar .divider{background:var(--line);width:1px;height:34px}.appname{letter-spacing:.06em;text-transform:uppercase;font-size:17px;font-weight:800}.appsub{color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.required-label:after{color:var(--red);content:" *";font-weight:800}.field:has(>.catalogue-select [aria-required=true])>span:first-child:after{color:var(--red);content:" *";font-weight:800}.field:has(>input[required],>select[required],>textarea[required])>span:first-child:after{color:var(--red);content:" *";font-weight:800}.otp-label{color:var(--ink2);margin-bottom:7px;font-size:12px;font-weight:750}.btn{border:1px solid var(--line);border-radius:var(--r);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--brand);color:var(--brand-dk)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dk);border-color:var(--brand-dk)}.btn.danger:hover{border-color:var(--red);color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.full{width:100%;padding:11px}.btn.mini{padding:4px 8px;font-size:11px}.file-label input{display:none}.file-label.disabled{opacity:.55;pointer-events:none}.account-menu{flex:none;position:relative}.account-trigger{background:var(--brand);box-shadow:0 0 0 1px var(--line);color:#fff;cursor:pointer;letter-spacing:.03em;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:850;display:inline-flex}.account-trigger:hover,.account-trigger:focus-visible,.account-menu.open .account-trigger{background:var(--brand-dk);outline:none;box-shadow:0 0 0 2px #00b0f033}.account-dropdown{border:1px solid var(--line);z-index:60;background:#fff;border-radius:8px;min-width:210px;padding:6px;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden;box-shadow:0 12px 30px #15273229}.account-dropdown button{color:var(--ink2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;width:100%;padding:10px;font-size:13px;display:flex}.account-dropdown button:hover,.account-dropdown button:focus-visible{background:var(--tint);color:var(--ink);outline:none}.account-dropdown .account-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-weight:750;overflow:hidden}.account-dropdown .account-signout{border-top:1px solid var(--line2);color:var(--red);border-radius:0 0 5px 5px;margin-top:4px;padding-top:11px}.mobile-menu{background:#fff;border:0;font-size:22px;display:none}nav.tabs{border-bottom:1px solid var(--line);z-index:39;background:#fff;gap:2px;height:41px;padding:0 20px;display:flex;position:sticky;top:62px;overflow-x:auto}nav.tabs a{letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px;font-size:13px;font-weight:750;text-decoration:none}nav.tabs a.active{color:var(--ink);border-bottom-color:var(--brand)}nav.tabs .pill{background:var(--red);color:#fff;border-radius:20px;margin-left:6px;padding:1px 7px;font-size:11px}main{max-width:1800px;margin:auto;padding:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.card>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:43px;padding:11px 16px;display:flex}.card>header h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-size:12px}.dashbar{margin-bottom:12px}.banner{border-radius:var(--r);color:#6d5300;background:#fff8e6;border:1px solid #f0dca8;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.dashhint{color:var(--ink2);margin-left:8px;font-size:12px}.hero{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);cursor:pointer;background:#fff;padding:14px 16px;position:relative;overflow:hidden}.hero>div>.stat{height:100%}.stat:before{content:"";background:var(--brand);width:4px;position:absolute;inset:0 auto 0 0}.stat.warn:before{background:var(--amber)}.stat.bad:before{background:var(--red)}.stat:hover{border-color:var(--brand)}.stat .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:11px;font-weight:750}.stat .val{margin-top:4px;font-size:38px;font-weight:800;line-height:1.05}.stat .sub{color:var(--ink2);margin-top:2px;font-size:12px}.dashcharts{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.chartbody{justify-content:center;align-items:center;gap:26px;min-height:205px;padding:20px;display:flex}.donut{border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.donut>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.donut strong{font-size:25px}.donut span{letter-spacing:.15em;color:var(--ink3);font-size:9px}.clegend{min-width:135px;margin:0;padding:0;list-style:none}.clegend li button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px;display:flex}.clegend b{margin-left:auto}.clegend i,.legend i{border-radius:2px;width:11px;height:11px;display:inline-block}.g{color:var(--green)}i.g,.bar .g{background:var(--green)}.a{color:var(--amber)}i.a,.bar .a{background:var(--amber)}.r{color:var(--red)}i.r,.bar .r{background:var(--red)}.vbars{justify-content:center;align-items:flex-end;gap:16px;height:205px;padding:24px 28px 18px;display:flex}.vbar{max-width:54px;height:160px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;padding:0;display:flex}.vbar span{border-radius:3px 3px 0 0;width:100%}.vbar .green{background:var(--green)}.vbar .amber{background:var(--amber)}.vbar .red{background:var(--red)}.vbar small{white-space:nowrap;color:var(--ink2)}.hbars{min-height:205px;padding:18px 22px}.hbars>button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:100px 1fr 20px;align-items:center;gap:8px;margin:11px 0;padding:0;display:grid}.hbars .hbar-label{text-overflow:ellipsis;background:0 0;overflow:hidden}.hbars span{background:var(--brand);border-radius:3px;height:14px}.actiongrid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px;display:grid}.actioncard .count{background:var(--ink);color:#fff;border-radius:20px;padding:2px 10px;font-weight:800}.actioncard.clickable{cursor:pointer}.actioncard.clickable:hover{border-color:var(--brand)}.actioncard .viewall{color:var(--brand-dk);cursor:pointer;opacity:0;white-space:nowrap;background:0 0;border:0;margin-right:2px;padding:0;font-size:11px;font-weight:700;transition:opacity .15s}.actioncard.clickable:hover .viewall,.actioncard.clickable:focus-within .viewall{opacity:1}.actioncard.editing{outline:2px dashed var(--brand);outline-offset:2px}.actioncard.hot .count{background:var(--red)}.actioncard.warm .count{background:var(--amber)}.actioncard ul{max-height:275px;margin:0;padding:0;list-style:none;overflow:auto}.actioncard li{border-bottom:1px solid var(--line2);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:baseline;gap:2px 10px;padding:8px 16px;display:grid}.actioncard li:hover{background:var(--tint)}.actioncard .so{grid-area:1/1;min-width:46px;font-weight:800}.actioncard .d{text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;overflow:hidden}.actioncard .age{grid-area:1/3;font-weight:800}.actioncard .meta{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;grid-area:2/2/auto/4;font-size:11px;overflow:hidden}.actioncard .preview-count{border-top:1px solid var(--line2);color:var(--ink3);text-align:right;padding:8px 16px;font-size:11px}.empty{color:var(--ink3);text-align:center;padding:24px}.legend{text-transform:uppercase;color:var(--ink2);gap:14px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.agerow{border-bottom:1px solid var(--line2);cursor:pointer;grid-template-columns:210px 54px 1fr 130px;align-items:center;gap:12px;padding:9px 16px;display:grid}.agerow:hover{background:var(--tint)}.agerow .sname{font-size:13px;font-weight:700}.agerow .stot{text-align:right;font-size:20px;font-weight:800}.bar{background:var(--line2);border-radius:3px;height:16px;display:flex;overflow:hidden}.bar span{height:100%;display:block}.agerow .meta{color:var(--ink2);text-align:right;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar input,.toolbar select,.note-row input{border:1px solid var(--line);border-radius:var(--r);background:#fff;min-width:135px;padding:7px 10px}.toolbar>input{min-width:270px}.lazy-filter{min-width:145px;position:relative}.lazy-filter-trigger{border:1px solid var(--line);border-radius:var(--r);width:100%;min-height:34px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;display:flex}.lazy-filter-trigger .placeholder{color:var(--ink2)}.lazy-filter.open .lazy-filter-trigger{outline:2px solid var(--brand);outline-offset:-1px}.field:has(.field-error) .catalogue-select .lazy-filter-trigger{border-color:var(--red)}.lazy-filter-menu{z-index:30;border:1px solid var(--line);border-radius:var(--r);width:max(100%,230px);box-shadow:var(--shadow);background:#fff;padding:7px;position:absolute;top:calc(100% + 5px);left:0}.lazy-filter-menu>input{border:1px solid var(--line);border-radius:var(--r);width:100%;min-width:0;margin-bottom:6px;padding:7px 9px}.lazy-filter-options{max-height:230px;overflow-y:auto}.lazy-filter-options button,.lazy-filter-state{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:7px 8px;display:block}.lazy-filter-options button{cursor:pointer}.lazy-filter-options button:hover,.lazy-filter-options button.selected{background:var(--tint);color:var(--brand-dk)}.lazy-filter-state{color:var(--ink3);text-align:center}.check{color:var(--ink2);border:1px solid var(--line);border-radius:var(--r);background:#fff;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.check.warranty{color:var(--red);background:#fce9e9;border-color:#f0bebe;margin-top:12px}.tablewrap{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:#fff;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}thead th{border-bottom:2px solid var(--line);z-index:2;text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f7fafc;padding:9px 10px;font-size:11px;position:sticky;top:0}thead th:hover{color:var(--brand-dk)}thead th .arrow{color:var(--brand);margin-left:4px;font-size:10px}thead th .grip{opacity:0;cursor:grab;color:var(--ink3);letter-spacing:-3px;vertical-align:middle;margin-right:5px;font-size:11px}thead th:hover .grip{opacity:.55}thead th.dragover{background:var(--tint);box-shadow:inset 3px 0 0 var(--brand)}thead th.dragging{opacity:.45}tbody td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:8px 10px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--tint)}tbody tr.rowflag td:first-child{box-shadow:inset 3px 0 0 var(--red)}tbody tr.rowwarn td:first-child{box-shadow:inset 3px 0 0 var(--amber)}tbody tr.rowwty{background:#fce9e9}tbody tr.rowwty:hover{background:#f8dada}td.mono{font-weight:700}td.desc{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.tag{white-space:nowrap;border:1px solid;border-radius:20px;margin:1px 3px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.tag.g{color:var(--green);background:#eaf8f2;border-color:#b7e2d1}.tag.a{color:var(--amber);background:#fdf3e4;border-color:#f2d9ae}.tag.r{color:var(--red);background:#fbebeb;border-color:#f0bebe}.tag.n{color:var(--ink2);border-color:var(--line);background:#f5f8fa}.tag.b{color:var(--brand-dk);background:var(--tint);border-color:#b5e4f8}td.age{font-weight:800}.tablefoot{color:var(--ink2);flex-wrap:wrap;align-items:center;gap:16px;padding:9px 12px;font-size:12px;display:flex}.page-limit-selector{white-space:nowrap;align-items:center;gap:6px;display:flex}.page-limit-selector select,.page-limit-selector input{border:1px solid var(--line);border-radius:var(--r);min-width:0;color:var(--ink);background:#fff;padding:6px 8px}.page-limit-selector input{width:76px}.actions{gap:5px;display:flex}.chipbar:empty{display:none}.chipbar{margin-bottom:10px}.fchip{background:var(--tint);color:var(--brand-dk);border:1px solid #b5e4f8;border-radius:20px;align-items:center;gap:8px;padding:5px 6px 5px 12px;font-size:13px;display:inline-flex}.fchip button{background:var(--brand-dk);color:#fff;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-weight:800;line-height:1}.fchip button:hover{background:var(--ink)}.scrim{z-index:60;background:#0e162173;position:fixed;inset:0}.drawer{background:var(--bg);z-index:61;flex-direction:column;width:min(920px,96vw);display:flex;position:fixed;top:0;bottom:0;right:0}.drawer>header{border-bottom:1px solid var(--line);background:#fff;align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.drawer>header h2{font-size:19px}.drawer>header .sub{color:var(--ink2);margin-top:2px;font-size:13px}.drawer-body{flex:1;padding:16px 20px;overflow:auto}.drawer>footer,.modal>footer{border-top:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:12px 20px;display:flex}.grid3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid2{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.field{display:block}.field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:3px;font-size:11px;font-weight:700;display:block}.field input,.field select,.field textarea,.settings-row input{border:1px solid var(--line);border-radius:var(--r);background:#fff;width:100%;padding:7px 9px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}.field textarea{resize:vertical;min-height:72px}.field-error{color:var(--red);margin-top:4px;font-size:12px;font-weight:650;display:block}:is(.field:has(.field-error) input,.field:has(.field-error) select,.field:has(.field-error) textarea){border-color:var(--red)}.compact-field{min-width:190px}.warning-banner{display:block}.contact-modal{width:min(760px,96vw)}.contact-details{grid-template-columns:100px 1fr;gap:10px 14px;margin:0;display:grid}.contact-details dt{color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.contact-details dd{margin:0}.contact-message{white-space:pre-wrap;overflow-wrap:anywhere}fieldset{border:0;margin:0 0 18px;padding:0}legend{letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);padding:0 0 8px;font-size:11px;font-weight:800}.autolegend{border-radius:var(--r);background:#fff7da;border:1px solid #e8c860;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;display:flex}.autolegend .dot{background:#e8c860;width:12px;height:12px}.note-row{gap:8px;margin-bottom:12px;display:flex}.note-row input{flex:1}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--line);margin-left:5px;padding:0 0 14px 22px;position:relative}.timeline li:before{content:"";background:var(--brand);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.timeline li.sys:before{background:var(--ink3)}.timeline .when{color:var(--ink3);text-transform:uppercase;font-size:11px;font-weight:700}.timeline-show-more{margin:2px auto 0;display:block}.filerow{border:1px solid var(--line);border-radius:var(--r);background:#fff;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.filerow span{flex:1}.filerow small{color:var(--ink3)}.iconbtn{border:1px solid var(--line);border-radius:var(--r);background:0 0;width:30px;height:30px}.user-action{color:var(--ink2);justify-content:center;align-items:center;display:inline-flex}.user-action:hover{border-color:var(--brand);color:var(--brand-dk)}.user-action.danger:hover{border-color:var(--red);color:var(--red)}.user-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.user-action svg.filled{fill:currentColor;stroke:none}.modal-bg{z-index:70;background:#0e162180;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;flex-direction:column;width:min(650px,96vw);max-height:90vh;display:flex;box-shadow:0 20px 60px #00000040}.modal>header{border-bottom:1px solid var(--line);align-items:center;padding:15px 20px;display:flex}.modal>header h2{flex:1;font-size:18px}.modal>header button{background:0 0;border:0;font-size:24px}.modal-body{padding:18px 20px;overflow:auto}.confirmation-modal-bg{z-index:100}.confirmation-modal{width:min(460px,96vw)}.confirmation-modal .modal-body{color:var(--ink2);line-height:1.55}.confirmation-modal .btn.danger{background:var(--red);border-color:var(--red);color:#fff}.confirmation-modal .btn.danger:hover:not(:disabled){filter:brightness(.9);color:#fff}.section-rule{border:0;border-top:1px solid var(--line);margin:22px 0}.pad{padding:16px}.space-top{margin-top:16px}.muted{color:var(--ink3);font-size:12px}.report-controls{max-width:900px}.report-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:0;display:flex}.page-limit-control{gap:8px;display:grid}.page-limit-control.custom{grid-template-columns:minmax(0,1fr) minmax(90px,.65fr)}.report-range-field{grid-column:1/-1}.report-range-picker.ant-picker{border-color:var(--line);border-radius:var(--r);width:100%;min-height:34px;box-shadow:none;font-family:inherit}.report-range-picker.ant-picker:hover,.report-range-picker.ant-picker-focused{border-color:var(--brand)}.field .report-range-picker input{background:0 0;border:0;border-radius:0;width:auto;padding:0}.field .report-range-picker input:focus{outline:0}.report-hint{color:var(--ink3);flex-basis:100%;margin:4px 0 0;font-size:12px}.print-report{margin-top:16px;padding:18px}.report-head{border-bottom:3px solid var(--brand);align-items:center;gap:16px;margin-bottom:14px;padding-bottom:10px;display:flex}.report-head img{object-fit:contain;width:130px;height:50px}.report-head>div{flex:1}.report-head h1{font-size:20px}.report-head p,.report-head span{color:var(--ink2);font-size:12px}.print-report h2{text-transform:uppercase;color:var(--brand-dk);margin:16px 0 6px;font-size:13px}.settings-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:16px;display:grid}.settings-grid .option-card:first-child{margin-top:0}.settings-head,.settings-row{grid-template-columns:1fr 90px 90px 34px;align-items:center;gap:10px;display:grid}.settings-head{text-transform:uppercase;color:var(--ink3);padding-bottom:6px;font-size:11px;font-weight:800}.settings-row{border-bottom:1px solid var(--line2);padding:6px 0}.settings-help{color:var(--ink3);margin:10px 0 0;font-size:12px;line-height:1.5}.status-defaults{margin-top:12px}.status-no-job{margin:12px 0}.status-no-job small{color:var(--ink3);margin-top:4px;font-size:11px;display:block}.data-actions{flex-wrap:wrap;gap:8px;display:flex}.option-modal{width:min(460px,96vw)}.pillrow{flex-wrap:wrap;gap:7px;display:flex}.option-pill{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600}.option-pill button{color:var(--ink3);background:0 0;border:0;font-weight:800}.graph-settings{gap:14px;display:grid}.graph-intro{color:var(--ink2);margin:0;line-height:1.5}.graph-field{border-bottom:1px solid var(--line2);padding-bottom:12px}.graph-secret-row{align-items:stretch;gap:7px;display:flex}.graph-secret-row input{min-width:0}.graph-env-option{color:var(--ink2);align-items:center;gap:7px;margin-top:6px;font-size:12px;display:flex}.graph-env-option input{margin:0}.graph-connection{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.graph-connection>div{border:1px solid var(--line2);border-radius:var(--r);background:#f8fafc;min-width:0;padding:9px 10px}.graph-connection span,.graph-connection strong{display:block}.graph-connection span{color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.graph-connection strong{overflow-wrap:anywhere;margin-top:3px;font-size:12px}.graph-connection .graph-callback{grid-column:1/-1}.graph-actions{flex-wrap:wrap;gap:8px;display:flex}.toast{background:var(--ink);color:#fff;border-radius:var(--r);z-index:200;opacity:0;padding:11px 18px;font-weight:600;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,80px)}.toast.show{opacity:1;transform:translate(-50%)}.login-screen{background:linear-gradient(145deg,#f7f8fa,#e8edf5);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border:1px solid #0000000f;border-radius:16px;width:min(420px,100%);overflow:hidden;box-shadow:0 8px 40px #0000001f}.login-head{text-align:center;border-top:4px solid var(--brand);border-bottom:1px solid var(--line2);padding:34px 30px 24px}.login-head img{object-fit:contain;width:150px;height:68px}.login-name{text-transform:uppercase;letter-spacing:.08em;font-size:20px;font-weight:800}.login-tag{color:var(--ink3);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.login-body{padding:26px 30px}.login-body h1,.simple-card h1{font-size:21px}.login-body p,.simple-card p{color:var(--ink2);line-height:1.6}.login-body label,.simple-card label{color:var(--ink2);margin:15px 0;font-size:12px;font-weight:700;display:block}.login-body input,.simple-card input{border:1px solid var(--line);border-radius:6px;width:100%;margin-top:5px;padding:10px;display:block}.otp-boxes{grid-template-columns:repeat(6,1fr);gap:8px;margin:22px 0 12px;display:grid}.login-body .otp-box{text-align:center;min-width:0;height:50px;margin:0;padding:0;font-size:22px;font-weight:700}.login-body .otp-box:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #00b0f024}.resend-row{min-height:34px;color:var(--ink3);text-align:center;font-size:12px}.resend-link{color:var(--brand-dk);cursor:pointer;background:0 0;border:0;font-weight:600}.login-secure-note{color:var(--ink3);text-align:center;margin-top:17px;font-size:11px}.text-button{width:100%;color:var(--brand-dk);background:0 0;border:0;padding:15px}.form-error,.form-success{text-align:center;border-radius:5px;margin-top:12px;padding:10px;font-size:12px}.form-error{color:var(--red);background:#fdecec}.form-success{color:var(--green);background:#eaf8f2}.simple-card{padding:28px}@media (width<=1200px){.hero{grid-template-columns:repeat(2,1fr)}.dashcharts,.actiongrid{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.topbar{gap:8px;padding:9px 12px}.topbar .logo{width:85px}.topbar .divider,.appsub,.topbar>.btn:not(.primary){display:none}.mobile-menu{display:block}nav.tabs{padding:0 8px;top:62px}main{padding:12px}.settings-grid{grid-template-columns:1fr}.agerow{grid-template-columns:1fr 45px}.agerow .bar,.agerow .meta{display:none}.toolbar>input{flex:1;min-width:100%}.drawer{width:100vw}.grid3,.grid2{grid-template-columns:1fr}.drawer>footer{overflow-x:auto}.actions{min-width:235px}.report-head span{display:none}}@media (width<=520px){.page-limit-control.custom{grid-template-columns:1fr}.topbar .logo{width:68px}.appname{font-size:15px}.topbar .btn.primary{padding:7px 8px;font-size:11px}.hero{grid-template-columns:repeat(2,1fr);gap:8px}.stat{padding:12px}.stat .val{font-size:29px}.stat .sub{font-size:10px}.chartbody{flex-direction:column}.legend{display:none}.modal-bg{align-items:end;padding:0}.modal{border-radius:12px 12px 0 0;width:100%;max-height:88vh}.settings-head,.settings-row{grid-template-columns:1fr 66px 66px 30px}.login-body{padding:22px}.login-head{padding:25px}}@media print{body{background:#fff}.topbar,nav.tabs,.report-controls,.toast{display:none!important}main{padding:0}.print-report{box-shadow:none;border:0;margin:0;padding:0}.tablewrap{box-shadow:none;overflow:visible}table{font-size:10px}thead th{position:static}@page{size:A4 landscape;margin:10mm}}
