:root{font-family:Inter,'Segoe UI',-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:#1a2c49;background:#f4f7fd;font-size:14px;--blue:#2468e8;--navy:#103777;--ink:#1a2c49;--muted:#7c8ca4;--line:#e5ecf6;--bg:#f4f7fd;--coral:#d88571;--radius:16px;--sidebar:236px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:wait}button{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8ab4fd;outline-offset:3px}input,select,textarea{border:1px solid #dce5f1;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);width:100%;min-height:43px}input:focus,select:focus,textarea:focus{outline:2px solid #a9c9ff;outline-offset:1px}input::placeholder{color:#a1aec1}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.2}h2{font-size:16px;letter-spacing:-.3px}h3{font-size:14px}svg.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:fixed;top:-80px;left:12px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}.boot{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:28px;text-align:center}.boot img{object-fit:contain}.boot h1{font-size:25px}.boot p{max-width:460px;color:var(--muted);line-height:1.8}.spinner{width:25px;height:25px;border:3px solid #e5edfc;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 14px 0;z-index:50}.brand{display:flex;flex-direction:column;align-items:center;padding:0 0 22px;margin-bottom:19px;border-bottom:1px solid var(--line)}.brand img{width:137px;height:137px;object-fit:contain}.brand small{font-size:8px;color:#8e9db3;letter-spacing:1.2px;margin-top:9px}.nav-label{color:#a2afc1;font-size:9px;letter-spacing:1.5px;font-weight:600;padding:0 13px;margin-bottom:11px}.nav{display:flex;flex-direction:column;gap:6px}.nav a{display:flex;gap:12px;align-items:center;padding:13px;border-radius:10px;font-size:12px;color:#7a8da9;min-height:44px}.nav a:hover{background:#f5f8fd}.nav a.active{background:#e9f1ff;color:var(--blue);font-weight:650}.nav a.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--blue);margin-left:auto}.sidebar-bottom{margin-top:auto;padding:22px 10px}.cloud-note{font-size:10px;color:#98a7ba;line-height:1.7;margin-bottom:16px}.user{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:17px}.avatar{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-weight:700;flex-shrink:0}.user .name{font-size:11px;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user small{font-size:9px;color:#95a3b8;display:block;margin-top:4px}.user a{margin-left:auto;color:#a1aec0;font-size:10px}.shell{margin-left:var(--sidebar)}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 32px;position:sticky;top:0;z-index:25}.crumb{display:flex;align-items:center;gap:14px;font-size:11px;color:#a0adc0}.crumb strong{font-weight:500;color:#5f718d}.top-actions{display:flex;gap:12px;align-items:center}.sync{display:flex;align-items:center;gap:7px;border:1px solid #dfebfc;border-radius:20px;padding:7px 11px;background:#f8fbff;color:#6d8caf;font-size:10px;white-space:nowrap}.sync:before{content:'';width:6px;height:6px;border-radius:50%;background:#5b9df7}.sync.offline{color:#b58065;background:#fff9f2;border-color:#f3e6d7}.sync.offline:before{background:#c49769}.sync.saving:before{animation:spin .8s linear infinite;border:1px solid #a9c8ff;border-top-color:var(--blue);border-radius:50%;background:transparent;width:8px;height:8px}.icon-button{border:0;border-radius:7px;background:transparent;color:#8494ad;min-height:31px;min-width:31px;display:inline-flex;align-items:center;justify-content:center;padding:6px}.icon-button:hover{background:#f0f5fd;color:var(--blue)}.mobile-menu{display:none}main{max-width:1640px;padding:30px 32px 24px;margin:auto;min-height:calc(100dvh - 124px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#91a0b6;font-weight:650;margin-bottom:9px}.subtitle{font-size:12px;color:#8b9ab1;line-height:1.8;margin-top:9px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;border:1px solid #dfe7f3;border-radius:9px;background:white;padding:10px 13px;font-size:11px;font-weight:600;white-space:nowrap}.btn .icon{width:15px;height:15px}.btn:hover{background:#f4f8ff}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#1557cb}.btn.soft{background:#edf4ff;color:var(--blue);border-color:transparent}.btn.danger{color:#b46b5c;background:#fff7f3;border-color:#f1dcd4}.btn.link{padding:4px 0;min-height:auto;border:0;color:var(--blue);background:transparent}.tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;scrollbar-width:thin}.tabs button{font-size:11px;font-weight:600;white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:9px;min-height:37px;padding:9px 17px}.tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}.filterbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-group select,.filter-group input{font-size:11px;min-height:37px;padding:8px 11px;width:auto;max-width:235px}.filter-group input[type=checkbox]{min-height:auto;width:14px}.filter-group label{font-size:11px;color:#8f9eb4;display:flex;gap:7px;align-items:center}.search{position:relative;max-width:260px;flex:1;min-width:165px}.search .icon{position:absolute;left:12px;top:10px;width:15px;height:15px;color:#99a8bd}.search input{padding-left:35px;font-size:11px;min-height:37px}.period-controls{display:flex;gap:6px;align-items:center}.period-controls .btn{min-height:36px;font-size:10px;padding:8px 11px}.period-note{font-size:10px;color:#91a0b7}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px;min-height:135px}.stat-label{font-size:10px;color:#8e9eb7;display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-label .icon{width:15px;height:15px;color:#91add5}.stat-value{font-size:27px;font-weight:700;letter-spacing:-.8px;margin:16px 0 11px;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-note{font-size:9px;color:#8e9fb7;line-height:1.6}.stat.featured{background:linear-gradient(120deg,#1350bd,#2c79ef);border-color:transparent;color:white}.stat.featured .stat-label,.stat.featured .stat-note{color:#d4e5ff}.stat.featured .icon{color:#d4e5ff}.stats.secondary .stat{min-height:111px;padding-top:15px;padding-bottom:14px}.stats.secondary .stat-value{font-size:23px;margin-block:12px 8px}.grid-charts{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);gap:18px;margin-bottom:20px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 22px 0}.panel-head p{font-size:10px;color:#9aa8bc;margin-top:7px}.panel-body{padding:20px 22px}.chart{padding:8px 12px 4px;position:relative;overflow:hidden}.chart svg{width:100%;height:auto;display:block;font-family:inherit}.chart text{fill:#92a2b9;font-size:11px}.chart .gridline{stroke:#eaf0f8;stroke-dasharray:3 3}.chart .empty-chart{fill:#9aa8bb;font-size:13px;font-weight:600}.legend{display:flex;gap:18px;align-items:center;font-size:10px;color:#8294ae;padding:17px 22px 0;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:2px;display:inline-block;flex-shrink:0}.chart-values{border-top:1px solid var(--line);font-size:10px;color:#9aa9bd;padding:10px 20px}.chart-values summary{cursor:pointer;outline-offset:3px}.chart-values table{margin-top:10px}.donut-body{display:flex;flex-direction:column;align-items:center;padding:21px 25px 24px}.donut{width:153px;height:153px;position:relative}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:5px}.donut-center strong{font-size:14px}.donut-center small{font-size:9px;color:#99a8bb}.cost-legend{width:100%;display:flex;flex-direction:column;gap:13px;margin-top:24px}.cost-legend>div{display:flex;gap:7px;align-items:center;font-size:10px;color:#8b9db6}.cost-legend b{margin-left:auto;color:#5c769c;font-weight:600}.flow-chart{margin-bottom:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px;gap:12px}.count{font-size:10px;padding:4px 7px;border-radius:5px;background:#e7effc;color:#6588b9;margin-left:6px;font-weight:500}.notice{border:1px solid #dce8fa;border-radius:10px;background:#eef5ff;padding:12px 15px;display:flex;gap:10px;align-items:flex-start;color:#7890b2;font-size:11px;line-height:1.7;margin:15px 0}.notice .icon{height:15px;width:15px;margin-top:2px}.notice.warning{background:#fff8f0;border-color:#f1e0cc;color:#aa8863}.hero{background:linear-gradient(115deg,#0d367f,#008cd8);color:white;border-radius:18px;padding:25px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.hero h2{font-size:22px;letter-spacing:-.6px}.hero p{font-size:11px;color:#c6dfff;line-height:1.8;margin:9px 0 16px}.hero .btn{border-color:transparent}.hero .hero-art{width:165px;height:120px;opacity:.35;flex-shrink:0}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.start-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;text-align:left;transition:transform .15s,border-color .15s}.start-card:hover{border-color:#a6c6f7;transform:translateY(-2px)}.start-icon{width:40px;height:40px;border-radius:11px;background:#edf4ff;color:var(--blue);display:grid;place-items:center;margin-bottom:18px}.start-card h3{font-size:13px;margin-bottom:10px}.start-card p{font-size:10px;color:#96a5bd;line-height:1.8}.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px;text-align:left}th{font-size:9px;font-weight:600;letter-spacing:.4px;color:#94a4bc;background:#f8faff;padding:13px 18px;border-bottom:1px solid var(--line)}td{padding:15px 18px;border-bottom:1px solid #edf2f9;color:#778ba8}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}td strong{font-weight:600;color:#35537e}.money{text-align:right;font-variant-numeric:tabular-nums;color:#45618a;font-weight:600}.positive{color:#3877d7}.negative{color:#c17d6b}.row-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end}.row-actions .icon-button .icon{width:14px;height:14px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 8px;font-size:9px;background:#edf4ff;color:#6c96ce}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.orange{background:#fff5e9;color:#b29262}.badge.gray{background:#f1f4f8;color:#97a3b6}.record-count{padding:13px 19px;border-top:1px solid var(--line);font-size:10px;color:#98a8bf}.empty{padding:53px 25px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.empty-icon{display:grid;place-items:center;background:#ecf3ff;border-radius:25px;width:86px;height:86px;margin:0 auto 23px;color:#5a96f2;box-shadow:0 0 0 15px #f7faff}.empty-icon .icon{height:35px;width:35px}.empty h2{font-size:21px;letter-spacing:-.6px;margin-bottom:12px}.empty p{font-size:12px;color:#96a6bd;line-height:1.9;max-width:500px;margin:0 auto 22px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.data-card{padding:24px}.data-card h2{font-size:17px}.data-card p{font-size:12px;color:#93a5bf;line-height:1.9;margin:12px 0 20px}.data-card .actions{margin-top:14px}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px;color:#8ca0bb}.detail-row:last-child{border:0}.detail-row strong{color:#3e6396}.muted{color:var(--muted)}footer{max-width:1640px;margin:auto;padding:17px 32px 22px;font-size:9px;color:#a9b5c7;display:flex;justify-content:space-between;gap:15px}.bottom-nav{display:none}.screen-overlay{display:none}.mobile-brand{display:none}dialog{border:0;border-radius:18px;width:740px;max-width:calc(100vw - 28px);padding:0;max-height:90dvh;color:var(--ink);box-shadow:0 24px 100px #17397130}dialog::backdrop{background:#183a694f;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:21px 25px;background:#f8faff;border-bottom:1px solid var(--line)}.modal-heading{display:flex;align-items:center;gap:13px}.modal-heading img{height:46px;width:46px;object-fit:contain}.modal-head h2{font-size:20px;letter-spacing:-.7px}.modal-head p{font-size:10px;color:#9babc2;margin-top:7px}.modal-body{padding:23px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 21px}.field{font-size:11px;color:#647e9f;font-weight:600;display:block}.field input,.field select{margin-top:8px;font-weight:400}.field.full{grid-column:1/-1}.form-help{font-size:10px;color:#98a9c1;line-height:1.8;margin:17px 0 0}.form-error{background:#fff3ee;border-radius:8px;color:#b27b67;padding:11px 14px;margin-top:16px;font-size:12px;line-height:1.8}.form-error:empty{display:none}.modal-foot{padding:16px 25px;display:flex;justify-content:flex-end;gap:9px;background:#f8faff;border-top:1px solid var(--line)}.calculation{margin-top:17px;background:#edf4ff;border-radius:9px;padding:13px 15px;color:#557ead;font-size:12px;line-height:1.8}.calculation b{color:#2468e8}.modal-body .notice{margin-top:0}.version-list{display:flex;flex-direction:column;gap:10px}.version-item{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border:1px solid var(--line);border-radius:11px;background:#fff;gap:15px}.version-item strong{font-size:12px;color:#557cae}.version-item small{display:block;margin-top:5px;font-size:10px;color:#a1afc3}.install-list{font-size:12px;color:#7e94b1;line-height:2;padding-left:19px}.install-list li{padding-block:5px}#toast{position:fixed;bottom:26px;left:calc(50% + 118px);transform:translate(-50%,20px);background:#184781;color:#fff;box-shadow:0 8px 35px #17397126;border-radius:11px;padding:13px 22px;z-index:150;max-width:90vw;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.offline-banner{position:sticky;top:70px;background:#fff6e9;color:#a68860;border-bottom:1px solid #f0e1cb;text-align:center;padding:10px;font-size:11px;z-index:24}.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}
@media(min-width:1500px){.stat-value{font-size:31px}main{padding-top:36px}.stat{padding:22px}.grid-charts{grid-template-columns:2.15fr 1fr}.chart{padding-inline:20px}}
@media(max-width:1150px){:root{--sidebar:206px}.sidebar{padding-inline:11px}.brand img{width:125px;height:125px}.nav a{font-size:11px;padding:12px 9px;gap:10px}.nav-label{font-size:8px}.user .name{max-width:95px}.topbar{padding-inline:24px}main{padding-inline:24px}.stat{padding:16px}.stat-value{font-size:23px}.stat-note{font-size:8px}.stats{gap:11px}.grid-charts{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr)}.period-note{max-width:270px;line-height:1.6}.hero h2{font-size:20px}.hero-art{display:none}.top-actions .btn span{display:none}#toast{left:calc(50% + 103px)}}
@media(max-width:950px){:root{--sidebar:185px}.brand img{width:112px;height:112px}.brand small{font-size:7px}.sidebar .nav a{font-size:10px;gap:8px}.sidebar .nav .icon{width:16px;height:16px}.stats{grid-template-columns:repeat(2,1fr)}.grid-charts{grid-template-columns:1fr}.donut-body{flex-direction:row;justify-content:center;gap:35px}.cost-legend{max-width:250px;margin:0}.stat-value{font-size:28px}.stat-note{font-size:10px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.start-grid{gap:11px}.start-card{padding:16px}.hero{padding:22px}.filterbar{gap:12px}.topbar .crumb>span:first-child{display:none}.data-grid{grid-template-columns:1fr}.topbar{padding-inline:20px}main{padding-inline:20px}footer{padding-inline:20px}.user .name{max-width:80px}.chart svg{min-height:200px}}
@media(max-width:700px){:root{--sidebar:252px}body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.sidebar{width:252px;transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 60px #1533621a;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}.sidebar.open{transform:translateX(0)}.brand img{width:126px;height:126px}.brand small{font-size:8px}.sidebar .nav a{font-size:13px;padding:14px 12px;gap:12px}.sidebar .nav .icon{width:19px;height:19px}.sidebar .user .name{max-width:140px}.screen-overlay.open{display:block;position:fixed;inset:0;background:#19304e54;z-index:45}.shell{margin-left:0}.topbar{height:64px;padding:0 15px;gap:9px}.mobile-menu{display:inline-flex}.crumb{gap:7px;min-width:0}.crumb strong{font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:120px}.crumb>span{display:none}.mobile-brand{display:block;width:34px;height:34px;object-fit:contain}.top-actions{gap:5px}.top-actions>.btn{display:none}.top-actions .sync{font-size:9px;padding:6px 8px}.sync:before{width:5px;height:5px}.sync .sync-detail{display:none}.top-actions .icon-button{min-width:29px}main{padding:24px 16px 16px;min-height:calc(100dvh - 130px)}h1{font-size:25px}.page-heading{flex-direction:column;gap:16px;margin-bottom:21px}.page-heading .actions{width:100%;justify-content:flex-end}.eyebrow{font-size:8px;letter-spacing:1.1px}.subtitle{font-size:11px;margin-top:8px}.page-heading .btn{flex:1}.tabs{margin-bottom:13px;gap:6px}.tabs button{font-size:10px;padding:9px 14px;min-height:39px}.filterbar{align-items:flex-start;gap:12px;margin-bottom:17px}.filter-group{gap:7px}.filter-group select,.filter-group input{max-width:180px;font-size:11px;min-height:39px}.period-controls{gap:6px}.period-controls .btn{padding:9px 12px;min-height:39px}.period-note{font-size:9px;max-width:none;width:100%;line-height:1.8}.stats{gap:10px;margin-bottom:13px}.stat{border-radius:13px;padding:16px 13px;min-height:125px}.stat-label{font-size:10px;line-height:1.4}.stat-label .icon{display:none}.stat-value{font-size:23px;margin:14px 0 10px;letter-spacing:-.65px}.stat-note{font-size:8px;line-height:1.6}.stats.secondary .stat-value{font-size:22px}.stats.secondary .stat{padding:14px 13px;min-height:106px}.grid-charts{gap:14px;margin-bottom:16px}.panel{border-radius:13px}.panel-head{padding:18px 16px 0;align-items:flex-start}.panel-head h2{font-size:14px}.panel-head p{font-size:9px;line-height:1.7;margin-top:5px}.legend{font-size:9px;padding:14px 16px 0;gap:13px}.chart{padding:5px 4px 2px}.chart svg{min-height:175px}.chart text{font-size:12px}.chart .empty-chart{font-size:12px}.chart-values{padding:10px 14px;font-size:9px}.donut-body{padding:22px 19px;gap:23px}.donut{width:128px;height:128px;flex-shrink:0}.donut-center strong{font-size:12px}.cost-legend{gap:15px;max-width:190px}.cost-legend>div{font-size:9px}.hero{padding:21px 19px;border-radius:14px;display:block}.hero h2{font-size:21px;line-height:1.3}.hero p{font-size:11px}.hero .actions{gap:7px}.hero .btn{font-size:10px}.hero .hero-art{display:none}.start-grid{grid-template-columns:1fr;gap:11px}.start-card{display:grid;grid-template-columns:42px 1fr;gap:4px 15px;padding:18px}.start-icon{grid-row:1/3;width:39px;height:39px;margin:0}.start-card h3{margin:0;font-size:12px}.start-card p{font-size:10px;grid-column:2;margin:3px 0 0}.section-heading{margin-top:21px}.section-heading h2{font-size:15px}th{padding:12px 14px;font-size:9px}td{padding:14px;font-size:11px}.row-actions{gap:4px}.row-actions .icon-button{min-height:35px;min-width:35px}.record-count{padding:12px 14px;font-size:9px}.empty{padding:40px 22px}.empty h2{font-size:21px}.empty p{font-size:11px}.empty-icon{height:72px;width:72px;border-radius:22px;margin-bottom:27px;box-shadow:0 0 0 12px #f7faff}.data-grid{gap:14px}.data-card{padding:22px}.data-card p{font-size:11px}.version-item{flex-direction:column;align-items:stretch;padding:17px}.version-item .actions{justify-content:flex-end}.report-summary{grid-template-columns:1fr}.notice{font-size:10px;padding:12px 13px;gap:8px;line-height:1.9}.notice .icon{width:14px;height:14px;flex-shrink:0}footer{padding:16px;font-size:8px;line-height:1.8}footer span:last-child{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:35;justify-content:space-around}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:8px;color:#9baac0;min-height:43px;min-width:52px;padding:4px 6px;border-radius:8px}.bottom-nav a.active{color:var(--blue);background:#edf4ff}.bottom-nav .icon{width:20px;height:20px}dialog{max-width:100vw;width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.modal-head{padding:calc(16px + env(safe-area-inset-top)) 17px 17px}.modal-head h2{font-size:20px}.modal-head p{font-size:9px;line-height:1.7}.modal-heading img{height:42px;width:42px}.modal-heading{gap:10px}.modal-body{padding:22px 18px;overflow:auto}.form-grid{grid-template-columns:1fr;gap:19px}.field{font-size:12px}.field.full{grid-column:auto}.field input,.field select{font-size:16px;min-height:47px}.modal-foot{padding:16px 18px calc(16px + env(safe-area-inset-bottom));position:sticky;bottom:0;z-index:1}.modal-foot .btn{flex:1;min-height:44px;font-size:12px}.form-help{font-size:10px;line-height:1.9}.calculation{font-size:12px}.form-error{font-size:11px}#toast{left:50%;bottom:calc(85px + env(safe-area-inset-bottom));font-size:11px;max-width:calc(100vw - 30px);width:max-content;padding:12px 17px}.offline-banner{top:64px;font-size:10px;padding:9px 13px;line-height:1.7}.boot h1{font-size:25px}.boot p{font-size:12px}.install-list{font-size:12px;line-height:1.9}}
@media(max-width:370px){.stat-value{font-size:20px}.donut-body{gap:16px;padding-inline:16px}.donut{width:113px;height:113px}.filter-group select,.filter-group input{max-width:157px}.topbar .crumb strong{max-width:86px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.bottom-nav,.tabs,.filterbar,.actions,footer,.row-actions{display:none!important}.shell{margin:0}main{padding:0}.panel,.stat{break-inside:avoid}.table-scroll{overflow:visible}body{background:white;padding:0}}
.auth-screen {
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px;
}
.auth-card {
  width: min(100%, 420px);
  padding: clamp(22px, 5vw, 36px);
}
.auth-card > img {
  display: block;
  margin: 0 0 12px;
  object-fit: contain;
}
.auth-card h1 { margin: 6px 0 10px; }
.auth-card form { display: grid; gap: 14px; margin-top: 22px; }
.auth-card form > .btn { justify-content: center; min-height: 44px; }
.auth-card .form-error:empty { display: none; }
.user [data-action="logout"] {
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  min-width: 34px;
  min-height: 34px;
}
.auth-install { margin-top: 14px; width: 100%; justify-content: center; }
.install-page {
  width: min(100%, 860px);
  margin: 0 auto;
  padding: max(24px, env(safe-area-inset-top)) 18px 32px;
}
.install-header { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.install-header img { flex: none; object-fit: contain; }
.install-header h1 { font-size: clamp(22px, 5vw, 32px); }
.install-intro, .install-devices, .install-pc { margin-bottom: 14px; }
.install-link-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.install-link-row input { flex: 1 1 260px; min-width: 0; }
.install-link-row .btn { min-height: 44px; }
.install-feedback:empty { display: none; }
.install-pc summary { cursor: pointer; font-weight: 650; }
.record-addon { border: 1px solid var(--line); border-radius: 12px; min-width: 0; margin: 14px 0; padding: 12px; }
.record-addon legend { color: var(--navy); font-weight: 700; padding: 0 6px; }
.document-fields { border: 0; padding: 0; margin: 12px 0 0; min-width: 0; }
.inline-contact-action { align-self: end; }
.vat-rate-row { display: flex; align-items: center; gap: 7px; }
.vat-rate-row input { min-width: 0; }
.vat-rate-row button { flex: none; }
.document-attachment { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.attachment-choices, .attachment-current { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.attachment-picker { position: relative; cursor: pointer; min-height: 44px; }
.attachment-picker input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.attachment-picker:focus-within { outline: 3px solid #8ab4fd; outline-offset: 2px; }
.attachment-link { max-width: min(250px, 100%); min-width: 0; }
.attachment-link span, .attachment-status { overflow-wrap: anywhere; }
td .attachment-link { display: flex; width: fit-content; margin-top: 6px; }
.attachment-current input[type=checkbox] { width: auto; min-height: 0; }
.attachment-status:empty, #clear-document-file[hidden] { display: none; }
.document-scan p { margin: 7px 0; line-height: 1.5; }
.document-scan p:empty, .document-scan button[hidden] { display: none; }
.mfa-card { width: min(100%, 510px); }
.mfa-steps { padding-left: 22px; color: var(--muted); line-height: 1.6; }
.mfa-steps li + li { margin-top: 8px; }
.mfa-qr { text-align: center; margin: 14px 0; }
.mfa-qr img { width: 230px; height: 230px; max-width: 100%; image-rendering: pixelated; }
.mfa-manual { border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-bottom: 18px; }
.mfa-manual summary { cursor: pointer; font-weight: 600; }
.mfa-manual .field { margin-top: 14px; }
.mfa-manual input { font-family: monospace; font-size: 13px; }
.mfa-check { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; margin: 16px 0; font-size: 13px; }
.mfa-check input { width: 18px; height: 18px; min-height: 18px; flex-shrink: 0; margin-top: 2px; }
.mfa-recovery-codes { background: #f1f6ff; border: 1px solid #d9e5fa; border-radius: 12px; padding: 14px; margin: 18px 0; display: grid; gap: 9px; }
.mfa-recovery-codes code { font-size: 12px; overflow-wrap: anywhere; text-align: center; color: #12376d; }
.mfa-card form { margin-top: 18px; }
.mfa-card input[name=code] { font-size: 22px; letter-spacing: .12em; }
