: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; }
.ed-connection { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; margin-bottom:20px; background:linear-gradient(110deg,#f0f7ff,#fff); border-color:#bed8ff; }
.ed-connection h2 { margin:7px 0; font-size:20px; }
.ed-connection p { color:var(--muted); max-width:650px; line-height:1.6; margin:0; }
.ed-connection .actions { flex-shrink:0; }
.ed-tools { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:16px; }
.ed-tools .tabs { margin:0; flex-wrap:wrap; }
.ed-tools .field { min-width:240px; }
.ed-status { display:inline-block; padding:6px 10px; border-radius:20px; font-size:12px; color:#315782; background:#edf4ff; }
.ed-status.held { color:#8b580b; background:#fff4df; }
.ed-status.posted { color:#166850; background:#e8f7f0; }
.ed-review-note { display:block; color:#8b580b; margin-top:5px; }
.ed-summary { display:grid; grid-template-columns:1fr 1fr; margin:18px 0; gap:0 20px; }
.ed-summary>div { min-width:0; border-bottom:1px solid var(--line); padding:11px 0; }
.ed-summary dt { color:var(--muted); font-size:12px; margin-bottom:5px; }
.ed-summary dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.ed-summary small { display:block; margin-top:4px; color:var(--muted); font-weight:400; }
.ed-tax { margin:14px 0 20px; font-size:13px; line-height:1.7; }
.ed-tax summary,.ed-readiness summary { cursor:pointer; font-weight:600; }
.excel-steps{display:flex;gap:28px;padding:8px 0 22px;color:var(--muted);font-size:13px}.excel-steps span{display:flex;align-items:center;gap:9px}.excel-steps b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eaf0f8;color:#6e83a1}.excel-steps .current{color:#1452aa;font-weight:650}.excel-steps .current b{background:#1763df;color:#fff}
.excel-upload{display:flex;align-items:center;gap:22px;padding:30px;border:1.5px dashed #a5c4f4;background:linear-gradient(120deg,#f2f7ff,#fff);margin-bottom:24px}.excel-upload-icon{padding:20px;border-radius:20px;color:#1763df;background:#e2edff}.excel-upload-icon .icon{width:32px;height:32px}.excel-upload h2{margin:8px 0;font-size:23px}.excel-upload p{color:var(--muted);line-height:1.7;margin:7px 0}.excel-upload small{color:#59718e}.excel-upload .actions{margin-left:auto;flex-shrink:0;flex-direction:column;align-items:stretch}.excel-options{padding:28px;margin-bottom:24px}.excel-options h2{margin-top:0}.excel-options>.actions{margin-top:20px}.excel-mapping{margin:24px 0;border-top:1px solid var(--line);padding-top:20px}.excel-mapping summary{font-weight:650;cursor:pointer;margin-bottom:18px}.excel-mapping summary span{color:var(--muted);font-size:12px;font-weight:400;margin-left:10px}.excel-preview td{vertical-align:top;max-width:290px}.excel-preview td small{display:block;color:var(--muted);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}.excel-preview .panel-heading{padding:20px 24px}.excel-preview .panel-heading h2{margin:0}.excel-preview .panel-heading p{color:var(--muted);font-size:13px;margin:8px 0 0}.excel-save{padding:20px 24px;background:#f8fbff;border-top:1px solid var(--line)}.excel-preview .notice ul{padding-left:20px;line-height:1.8}.tax-breakdown-table input,.tax-breakdown-table select{min-width:85px;width:100%}.tax-breakdown-table th{text-align:left}.tax-breakdown-table{width:100%;font-size:13px}.tax-breakdown-table td{padding:7px 5px}.tax-breakdown-note{font-size:12px;color:var(--muted)}
@media(max-width:900px){.excel-upload{flex-wrap:wrap;padding:22px}.excel-upload .actions{width:100%;margin:0;flex-direction:row;flex-wrap:wrap}.excel-options{padding:20px}.excel-steps{gap:12px;justify-content:space-between;font-size:11px}.excel-steps span{gap:5px}.excel-steps b{width:24px;height:24px;flex-shrink:0}.excel-mapping summary span{display:block;margin:6px 0}.excel-upload h2{font-size:19px}.excel-upload-icon{display:none}}
.ed-readiness ol { padding-left:22px; line-height:1.65; }
.support-launcher{position:fixed;right:26px;bottom:23px;z-index:60;display:grid;grid-template-columns:30px auto;gap:1px 9px;align-items:center;text-align:left;border:1px solid #91b9ff;background:linear-gradient(125deg,#1256c8,#2578ee);color:#fff;padding:13px 18px;border-radius:19px;box-shadow:0 8px 26px #1554aa35;cursor:pointer;font:inherit}.support-launcher>.icon{grid-row:1/3;width:27px;height:27px}.support-launcher span{font-size:13px;font-weight:650}.support-launcher i{font-style:normal;font-size:11px;color:#dceaff}.support-panel{position:fixed;z-index:100;right:24px;bottom:100px;width:405px;max-width:calc(100vw - 28px);height:620px;max-height:calc(100dvh - 125px);border:1px solid #bfd5f4;border-radius:24px;background:#fff;box-shadow:0 20px 65px #112f5c30;display:flex;flex-direction:column;overflow:hidden}.support-header{background:linear-gradient(115deg,#0e4ba7,#2178ee);padding:19px 17px;display:flex;align-items:center;gap:11px;color:#fff}.support-header h2{font-size:16px;margin:0 0 5px}.support-header p{font-size:11px;margin:0;color:#e1eeff}.support-avatar{padding:10px;background:#ffffff22;border-radius:13px}.support-header>.icon-button{margin-left:auto;color:#fff;border:0;background:#ffffff16}.support-tabs{display:flex;border-bottom:1px solid #e6eef9;padding:7px 12px;gap:5px}.support-tabs button{border:0;background:transparent;border-radius:9px;padding:9px 11px;cursor:pointer;color:#60738e;font:inherit;font-size:12px}.support-tabs button.active{color:#175ac4;background:#eaf2ff;font-weight:650}.support-tabs button:last-child{margin-left:auto}.support-tabs .icon{width:16px;height:16px}.support-context{display:flex;align-items:center;gap:6px;color:#5d7595;font-size:11px;padding:10px 18px;background:#f8fbff;border-bottom:1px solid #edf2fa}.support-context .icon{width:14px;height:14px}.support-messages{flex:1;overflow:auto;padding:18px;min-height:90px;overscroll-behavior:contain}.support-welcome{text-align:center;padding-top:4px}.support-orb{width:52px;height:52px;display:grid;place-items:center;background:#e9f2ff;border:1px solid #d6e7ff;color:#1b68dc;border-radius:18px;margin:3px auto 15px}.support-orb .icon{width:29px;height:29px}.support-welcome h3{font-size:17px;margin:0 0 10px;color:#173756}.support-welcome p{font-size:12px;color:#687e99;line-height:1.65}.support-suggestions{display:grid;gap:8px;margin-top:17px}.support-suggestions button,.support-help>button:not(.support-back){display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;text-align:left;background:#f8fbff;color:#284d78;border:1px solid #dce8f8;border-radius:12px;padding:12px;font:inherit;font-size:12px;cursor:pointer}.support-suggestions .icon,.support-help .icon{width:16px;height:16px;flex-shrink:0}.support-message{max-width:94%;padding:13px 14px;border-radius:15px;margin-bottom:13px;background:#f0f5fc;color:#213c60}.support-message small{font-size:10px;font-weight:650;display:block;margin-bottom:6px}.support-message>div{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75}.support-message.user{margin-left:auto;background:#1964d5;color:white;border-bottom-right-radius:4px}.support-message.assistant{border-bottom-left-radius:4px}.support-thinking{display:flex;align-items:center;gap:4px;color:#60799a;font-size:11px}.support-thinking span{width:5px;height:5px;background:#5c90dc;border-radius:50%;animation:support-pulse 1s infinite alternate}.support-thinking span:nth-child(2){animation-delay:.2s}.support-thinking span:nth-child(3){animation-delay:.4s;margin-right:6px}.support-compose{display:flex;align-items:end;gap:8px;padding:12px 14px 5px;border-top:1px solid #e4edf9}.support-compose textarea{resize:none;min-height:60px;max-height:110px;border:1px solid #d4e2f4;border-radius:12px;padding:12px;font:inherit;font-size:13px;line-height:1.5;width:100%;outline-offset:2px;background:#fbfdff}.support-send{width:39px;height:39px;min-width:39px;display:grid;place-items:center;background:#1964d5;border:0;color:white;border-radius:11px;cursor:pointer;margin-bottom:9px}.support-send:disabled{opacity:.4;cursor:default}.support-send .icon{width:22px;height:22px}.support-privacy{font-size:10px;color:#74859c;padding:0 17px 13px;line-height:1.5;margin:5px 0 0}.support-error{margin:6px 14px;padding:10px;border-radius:8px;background:#fff5e5;color:#7b541c;font-size:12px;line-height:1.5}.support-help{overflow:auto;flex:1;padding:18px;display:flex;flex-direction:column;gap:8px}.support-help h3{font-size:17px;color:#20436b;line-height:1.5}.support-help p{font-size:13px;color:#486581;line-height:1.9}.support-help .support-back{background:transparent;border:0;text-align:left;color:#2466bf;padding:0;cursor:pointer;font-size:12px}.support-help .btn{font-size:12px;align-self:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes support-pulse{to{opacity:.25;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.support-thinking span{animation:none}}@media(max-width:700px){.support-launcher{bottom:85px;right:14px;padding:11px 13px;grid-template-columns:24px auto;gap:0 7px}.support-launcher i{display:none}.support-launcher>.icon{grid-row:auto;width:22px;height:22px}.support-launcher span{font-size:12px}.support-panel{bottom:82px;right:10px;width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 100px);height:610px;border-radius:19px}.support-header{padding:14px}footer{padding-bottom:70px}}
.ed-readiness li { margin:15px 0; }
.ed-readiness p { line-height:1.65; }
.ed-readiness li p { margin:4px 0; color:var(--muted); }
@media(max-width:900px){.ed-connection,.ed-tools{align-items:stretch;flex-direction:column}.ed-connection .actions{flex-wrap:wrap}.ed-tools .field{min-width:0}.ed-summary{gap:0 12px}}

.support-related{display:grid;gap:6px;margin-top:12px}.support-related button{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;font:inherit;font-size:11px;border:1px solid #ccddf5;border-radius:8px;padding:8px;background:#fff;color:#235da8;cursor:pointer}.support-related .icon{width:14px;height:14px;flex-shrink:0}

#record-form .field[hidden] { display: none; }
#record-form input[readonly] { background: #f0f5ff; color: var(--navy); }

.tax-row-start { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px; margin:14px 0; border:1px dashed #b2cbf4; border-radius:12px; background:#f5f9ff; }
.tax-row-start p { margin-top:6px; font-size:12px; color:var(--muted); line-height:1.6; }
.tax-row-start .btn { flex-shrink:0; }
.tax-row-heading,.tax-row-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tax-row-heading { margin-bottom:12px; }
.tax-row-footer { margin:12px 0; }
.tax-row-heading span,.tax-row-footer span { color:var(--muted); font-size:12px; }
.tax-row-total { display:block; white-space:nowrap; font-weight:650; color:var(--navy); }
.tax-row-delete .btn { padding:8px; white-space:nowrap; }
.tax-row-editor .tax-breakdown-note { margin-top:8px; line-height:1.7; }
.tax-row-editor button:disabled { cursor:default; }
@media(max-width:600px) {
 .tax-row-start { align-items:flex-start; flex-direction:column; }
 .tax-row-editor .table-scroll { overflow:visible; }
 .tax-row-editor table,.tax-row-editor tbody { display:block; min-width:0; }
 .tax-row-editor thead { display:none; }
 .tax-row-editor tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; padding:12px; margin-bottom:12px; background:#f5f9ff; border:1px solid var(--line); border-radius:12px; }
 .tax-row-editor td { display:block; padding:0; border:0; min-width:0; }
 .tax-row-editor td::before { content:attr(data-label); display:block; margin-bottom:5px; font-size:11px; color:var(--muted); }
 .tax-row-editor td:first-child { grid-column:1 / -1; font-weight:650; }
 .tax-row-editor td:first-child::before { display:inline; margin-right:6px; }
 .tax-row-editor input,.tax-row-editor select { min-width:0; }
 .tax-row-total { padding:10px 0; }
 .tax-row-delete { align-self:end; text-align:right; }
}

.tax-entry-label,.tax-row-net { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; }
.tax-row-editor select[name^="taxBasis_"] { min-width:114px; }
@media(max-width:600px) { .tax-row-editor select[name^="taxBasis_"] { min-width:0; } }

.period-row-dates { display:block; padding:0 12px 6px; color:var(--muted); font-size:11px; white-space:nowrap; }

.official-type-filter { display:flex; flex-direction:column; gap:7px; width:300px; max-width:100%; margin:0 0 20px; font-size:12px; color:var(--muted); }
.document-scan[hidden] { display:none; }
