/* Ledgero Light UI system · Neue Quellen v0.7 */
:root{color-scheme:light;--ink:#18263f;--muted:#68788e;--border:#e1e7f0;--bg:#f4f7fb;--panel:#fff;--blue:#315fe5;--blue2:#244fcf;--nav:#192d52;--good:#0b9672;--bad:#ca5060;--radius:17px;--surface2:#f7f9fd;--shadow:0 18px 50px rgba(24,44,82,.055)}
[data-theme="dark"]{color-scheme:dark;--ink:#f1f6ff;--muted:#a5b5cd;--border:#2b3b52;--bg:#0c1421;--panel:#142034;--blue:#84aaff;--blue2:#acc5ff;--nav:#0c1421;--good:#58d9ae;--bad:#ff99a7;--surface2:#1a2a40;--shadow:0 22px 50px rgba(0,0,0,.2)}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.56}
a{color:var(--blue)}a:hover{text-decoration:none}
button,input,select,textarea{font:inherit}
.shell{max-width:1340px;padding-inline:32px}
.topbar{background:var(--panel);border-bottom:1px solid var(--border);box-shadow:none;position:sticky;top:0;z-index:25;backdrop-filter:none}
.topbar-in{height:76px}
.logo{color:var(--ink);gap:11px;font-size:19px;font-weight:790;line-height:1.1}
.logo-text{display:flex;flex-wrap:wrap;align-items:baseline;line-height:1.12;gap:3px}
.logo-text em{color:var(--blue);margin-left:0;font-style:normal}
.logo-text small{flex-basis:100%;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;line-height:1.55}
.brand-icon{height:42px;width:42px;border-radius:13px;background:#192d52;color:#fff;font-size:24px;box-shadow:none}
.brand-icon span{color:#a4c3ff}
.top-right{gap:10px}
.product-pill{color:var(--muted);font-size:10px;letter-spacing:1.5px;font-weight:800}
.tenant-pill{color:var(--muted);background:var(--surface2);border:1px solid var(--border);font-size:11px;font-weight:700;padding:8px 12px}
.theme-toggle,.menu-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface2);border-radius:12px;color:var(--ink);font-size:22px;cursor:pointer;box-shadow:none;padding:0}
.menu-toggle{display:none;align-content:center;gap:4px}
.menu-toggle span{display:block;width:17px;height:2px;background:currentColor;border-radius:2px}
.logout button{background:var(--surface2);color:var(--muted);border:1px solid var(--border);min-height:40px;border-radius:12px;font-size:12px;font-weight:720;padding:8px 13px}
.appgrid{grid-template-columns:235px minmax(0,1fr);gap:31px;min-height:calc(100vh - 170px)}
.sidebar{position:sticky;top:99px;align-self:start;padding:25px 0 16px;gap:7px}
.sidebar small{font-size:10px;letter-spacing:1.6px;font-weight:850;color:var(--muted);margin:0 0 13px 16px}
.sidebar>a{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;color:var(--muted);font-size:13px;font-weight:690;transition:background .15s,color .15s;white-space:normal}
.sidebar>a svg{width:19px;height:19px;flex:none}
.sidebar>a:hover{color:var(--ink);background:var(--surface2);transform:none}
.sidebar>a.active{color:var(--blue);background:rgba(49,95,229,.08);font-weight:790}
.sidebar-bottom{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:19px;margin-top:23px;box-shadow:var(--shadow)}
.sidebar-bottom strong{font-size:13px;color:var(--ink)}
.sidebar-bottom p{font-size:11px;line-height:1.7;color:var(--muted)}
.sidebar-bottom .mini-link{font-size:11px;color:var(--blue)}
.main-content{min-width:0;padding:37px 0 65px}
.page-head{align-items:end;gap:15px;margin-bottom:20px}
.page-head h1,.auth-intro h1{font-size:clamp(31px,3.1vw,40px);line-height:1.15;font-weight:810;letter-spacing:-1.3px;margin:7px 0 8px;color:var(--ink)}
.page-head p{color:var(--muted);line-height:1.7;font-size:13px}
.eyebrow{color:var(--blue);font-size:10px;letter-spacing:1.8px;font-weight:850}
.btn{border-radius:12px;min-height:45px;padding:11px 16px;font-size:12px;font-weight:780;box-shadow:none;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:#315fe5;color:white;box-shadow:none}
.btn.primary:hover{background:#244fd1}
.btn.outline{border:1px solid var(--border);background:var(--panel);color:var(--blue)}
.btn.ghost{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.metric{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:23px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-width:0;transition:border-color .15s}
.metric:hover{transform:none;border-color:var(--border)}
.metric::before{content:'';display:block;width:34px;height:34px;border-radius:11px;background:var(--surface2);margin-bottom:13px;border:1px solid var(--border)}
.metric::after{position:absolute;left:35px;top:30px;font-size:18px;line-height:1;color:var(--blue);font-weight:700}
.metric:nth-child(1)::after{content:'↘'}.metric:nth-child(2)::after{content:'↗'}.metric:nth-child(3)::after{content:'≋'}
.metric span{font-size:12px;color:var(--muted);font-weight:690}
.metric b{font-size:clamp(23px,2.2vw,30px);letter-spacing:-1.2px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;margin:11px 0 7px}
.metric small{font-size:10px;color:var(--muted)}
.metric.emphasis{background:#192d52;border-color:#192d52;color:#fff}
.metric.emphasis span,.metric.emphasis small{color:#b5cbea}
.metric.emphasis::before{background:#2b426a;border-color:#3a5681}
.metric.emphasis::after{color:#99c6ff}
.split{grid-template-columns:minmax(0,1.4fr) minmax(265px,.85fr);gap:17px;margin:16px 0}
.panel{border-radius:18px;border:1px solid var(--border);padding:25px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink);min-width:0;transition:none}
.panel:hover{transform:none}
.panel h2{font-size:19px;letter-spacing:-.55px;color:var(--ink);line-height:1.3}
.panel h3{font-size:15px;color:var(--ink)}
.panel p{color:var(--muted);line-height:1.73;font-size:12px}
.panel .section-top{margin-bottom:14px}
.panel .section-top a{font-size:12px;color:var(--blue)}
.table-wrap{width:100%;overflow-x:auto}
table{font-size:12px;color:var(--ink)}
th{color:var(--muted);font-size:10px;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:13px 10px}
td{border-bottom:1px solid var(--border);padding:13px 10px;font-size:12px}
td small{color:var(--muted);font-size:10px}
td.right{font-weight:780}
.positive{color:var(--good)}.negative{color:var(--bad)}
.empty{background:var(--surface2);border-radius:13px;padding:30px 16px}
.empty strong{font-size:15px}
.empty p{margin:8px auto 16px;max-width:350px}
.checklist{color:var(--muted);font-size:12px;line-height:1.75;padding-left:19px}
.checklist li{padding-left:3px;margin:8px 0}
.secondary-panel .btn{margin-top:9px;width:100%;justify-content:center}
.notice{background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.65;border-radius:13px}
.notice.info{background:var(--surface2);border-color:var(--border);color:var(--muted)}
.notice strong,.notice b{color:var(--ink)}
.notice.warning{background:#fff8ec;color:#7d5e32;border-color:#ead3a9}
[data-theme="dark"] .notice.warning{background:#3e3423;color:#f4dab2;border-color:#736048}
.notice.success{background:#e6f8f0;color:#136b52;border-color:#b7e4d1}
[data-theme="dark"] .notice.success{background:#173e34;color:#80e7c5;border-color:#316c5a}
.notice.error{background:#fff2f4;color:#a23143;border-color:#ffd5db}
[data-theme="dark"] .notice.error{background:#422230;color:#ffc0c9;border-color:#854354}
.year-select{margin-bottom:17px;gap:10px}
.year-select label{font-size:11px;color:var(--muted)}
.year-select select{min-width:135px}
.form-panel{max-width:930px}
.form-grid{gap:18px}
label{font-size:12px;color:var(--ink);font-weight:720}
input,textarea,select{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px 14px;color:var(--ink);min-height:47px;font-size:14px;box-shadow:none}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}
input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#779bf1;outline:3px solid rgba(49,95,229,.14);outline-offset:0;box-shadow:none}
.subheading{border-color:var(--border)}
.subheading p{color:var(--muted);font-size:11px}
.import-area{background:var(--surface2);border:1px dashed var(--border);border-radius:13px}
.import-area b{font-size:13px}.import-area p{font-size:11px}
.tiny,.small{color:var(--muted)}
.auth-layout{min-height:calc(100vh - 158px);grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(26px,7vw,100px);padding-top:48px;padding-bottom:48px}
.auth-intro{max-width:650px}
.auth-intro h1{font-size:clamp(39px,4.6vw,62px);letter-spacing:-2.4px;line-height:1.08;margin:19px 0 21px}
.auth-intro h1 span{color:var(--blue)}
.auth-intro p{font-size:15px;line-height:1.85;color:var(--muted)}
.auth-intro ul{display:grid;gap:5px;color:var(--muted);line-height:1.9;font-size:13px;margin:21px 0;padding-left:22px}
.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:37px;box-shadow:var(--shadow)}
.auth-card h2{font-size:27px;letter-spacing:-.8px;color:var(--ink)}
.auth-card p{color:var(--muted);font-size:12px}
.stack{gap:18px}
.copy-row input{min-width:0}
.invitation{background:var(--surface2);border:1px solid var(--border)}
.footer{border-color:var(--border);background:var(--panel);color:var(--muted)}
.footer .shell{font-size:10px;padding-top:21px;padding-bottom:21px}
.onboarding-mini{display:flex;gap:12px;align-items:center;background:var(--panel);padding:15px 17px;border:1px solid var(--border);border-radius:14px;margin-bottom:19px;box-shadow:var(--shadow)}
.note-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#eaf1ff;color:#315fe5;font-size:22px}
[data-theme="dark"] .note-icon{background:#2b426a;color:#a2c2ff}
.onboarding-mini>div{display:grid;gap:3px}.onboarding-mini strong{font-size:12px}.onboarding-mini div span{color:var(--muted);font-size:11px;line-height:1.5}
.mobile-tabbar,.nav-backdrop{display:none}
.print-page{background:var(--panel)}
@media(max-width:1100px){.shell{padding-inline:22px}.appgrid{grid-template-columns:207px minmax(0,1fr);gap:20px}.split{grid-template-columns:1fr}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:30px}.metric{padding:19px}}
@media(max-width:760px){.shell{padding-inline:16px}.topbar-in{height:65px}.logo{font-size:18px}.brand-icon{height:37px;width:37px;border-radius:11px}.logo-text small{font-size:9px}.product-pill,.tenant-pill{display:none}.logout button{min-height:38px;font-size:11px;padding:8px 10px}.top-right{gap:7px}.theme-toggle,.menu-toggle{height:38px;width:38px}.menu-toggle{display:grid}.appgrid{display:block;min-height:calc(100vh - 140px)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,85vw);z-index:52;background:var(--panel);padding:90px 18px 34px;box-shadow:0 25px 70px rgba(0,0,0,.25);overflow-y:auto;transform:translateX(-112%);transition:transform .23s ease;visibility:hidden;display:flex}.menu-open .sidebar{transform:translateX(0);visibility:visible}.menu-open .nav-backdrop{position:fixed;display:block;inset:0;z-index:50;background:rgba(6,16,30,.55);border:0;width:100%;height:100%;cursor:pointer}.sidebar small{display:block}.sidebar-bottom{display:block}.sidebar>a{padding:14px}.mobile-tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:fixed;left:12px;right:12px;bottom:calc(9px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--panel);border:1px solid var(--border);box-shadow:0 18px 52px rgba(10,28,54,.18);border-radius:18px;padding:8px 7px}.mobile-tabbar a{min-width:0;text-decoration:none;color:var(--muted);display:grid;justify-items:center;align-content:center;gap:4px;padding:8px 3px;border-radius:12px;font-size:10px;font-weight:700;text-align:center;line-height:1.2;min-height:48px}.mobile-tabbar a svg{width:20px;height:20px}.mobile-tabbar a.active{color:var(--blue);background:rgba(49,95,229,.08)}.mobile-tabbar a strong{font-size:11px}.main-content{padding:26px 0 120px;margin:0}.page-head{flex-direction:column;align-items:stretch;gap:15px}.page-head h1{font-size:32px}.page-head .btn{align-self:flex-start}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:16px;border-radius:15px}.metric b{font-size:24px;line-height:1.2}.metric small{font-size:9px}.metric.emphasis{grid-column:1/-1;grid-row:1}.metric::before{width:29px;height:29px;margin-bottom:9px}.metric::after{left:26px;top:25px;font-size:16px}.split{grid-template-columns:1fr;gap:12px}.panel{border-radius:16px;padding:19px}.auth-layout{display:block;min-height:calc(100vh - 130px);padding-top:37px;padding-bottom:50px}.auth-intro h1{font-size:clamp(38px,8vw,49px)}.auth-intro p{font-size:14px}.auth-intro ul{font-size:12px}.auth-card{max-width:560px;padding:25px;margin:28px auto 0}.form-grid,.export-form{grid-template-columns:1fr}.form-grid .full,.export-form .full{grid-column:auto}.form-actions{flex-wrap:wrap}.export-buttons{display:grid;grid-template-columns:1fr;gap:8px}.export-buttons .btn{width:100%}.import-area{grid-template-columns:1fr}.import-area input{width:100%}.footer .shell{padding-bottom:94px;flex-direction:column;gap:5px}.has-mobile-tabbar .footer{padding-bottom:0}.table-wrap{overflow:visible;margin:0;width:100%}.table-wrap table{display:block;width:100%;min-width:0!important}.table-wrap thead{display:none}.table-wrap tbody{display:grid;gap:10px}.table-wrap tr{display:block;border:1px solid var(--border);background:var(--surface2);padding:11px 12px;border-radius:12px}.table-wrap td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:0;padding:6px 0;text-align:right;white-space:normal;min-width:0;font-size:12px;overflow-wrap:anywhere}.table-wrap td::before{content:attr(data-label);font-weight:700;color:var(--muted);font-size:10px;flex:none;text-align:left;max-width:38%}.table-wrap td.right{text-align:right}.table-wrap td small{line-height:1.4}.table-actions{justify-content:flex-end;flex-wrap:wrap}}
@media(max-width:380px){.shell{padding-inline:12px}.logo{font-size:16px}.logo-text small{display:none}.main-content{padding-top:22px}.metrics{gap:8px}.metric{padding:13px}.metric b{font-size:20px}.onboarding-mini{padding:12px}.auth-card{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar,.mobile-tabbar,.btn{transition:none!important}}
@media print{body{background:#fff!important;color:#111!important}.topbar,.sidebar,.mobile-tabbar,.nav-backdrop,.menu-toggle,.footer,.onboarding-mini,.no-print{display:none!important}.shell,.appgrid,.main-content{display:block!important;max-width:none!important;padding:0!important;margin:0!important}.panel,.metric,.print-page{box-shadow:none!important;border:1px solid #ddd!important;background:#fff!important;color:#111!important}.print-page .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap table{min-width:0!important;display:table!important}.table-wrap thead{display:table-header-group!important}.table-wrap tbody{display:table-row-group!important}.table-wrap tr{display:table-row!important;border:0!important}.table-wrap td{display:table-cell!important}.table-wrap td::before{display:none!important}}

.menu-close{display:none}@media(max-width:760px){.menu-close{display:grid;position:absolute;top:20px;right:18px;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--ink);font-size:25px;cursor:pointer}}
