:root{--ink:#17211d;--muted:#68756f;--paper:#f4f6f2;--panel:#fff;--line:#dce3de;--forest:#173f35;--mint:#b9f36b;--mint-dark:#77ad30;--danger:#b23b3b;--radius:18px;--shadow:0 12px 35px rgba(24,49,41,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:var(--forest);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.5px}.brand span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--mint);color:var(--forest)}.brand.large{font-size:28px}.brand.large span{width:45px;height:45px}.sidebar nav{display:grid;gap:4px;margin-top:35px}.sidebar nav small{margin:18px 12px 5px;text-transform:uppercase;letter-spacing:1.5px;color:#a9c0b8;font-size:10px}.sidebar nav a,.logout{color:#eaf2ee;text-decoration:none;padding:10px 12px;border-radius:10px}.sidebar nav a:hover{background:#245448}.logout{margin-top:auto}.app{margin-left:255px;padding:36px;max-width:1700px}.public{min-height:100vh}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.page-head h1{font-size:34px;letter-spacing:-1px;margin:2px 0 5px}.page-head p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--mint-dark);font-size:11px;font-weight:800}.primary{border:0;background:var(--forest);color:#fff;padding:11px 17px;border-radius:11px;font-weight:700;cursor:pointer}.primary:hover{background:#245448}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:30px;margin:8px 0}.metric.accent{background:var(--forest);color:#fff}.metric.accent span,.metric.accent small{color:#c7d9d2}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{padding:14px;border-radius:12px;background:#edf3ee;color:var(--forest);text-decoration:none;font-weight:700}.toolbar{display:flex;gap:10px;margin-bottom:15px}.toolbar input{min-width:350px}.toolbar button,dialog footer button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px}.table-wrap{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 17px;border-bottom:1px solid #edf0ee}th{background:#fafbf9;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.num{text-align:right}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf3ee;color:var(--forest);font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:35px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:var(--forest);align-items:center;padding:8vw}.login-copy{color:#fff;max-width:650px}.login-copy h1{font-size:60px;line-height:1.02;letter-spacing:-2px;margin:40px 0 20px}.login-copy p{font-size:20px;color:#c6d9d1;max-width:580px}.login-card{max-width:430px;width:100%;justify-self:end;padding:34px}.login-card h2{font-size:28px;margin-top:0}.login-card label,.form-grid label{display:grid;gap:6px;margin-bottom:16px;font-weight:650}input,select,textarea{width:100%;border:1px solid #cfd8d2;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.login-card .primary{width:100%;margin-top:8px}.alert{background:#fff0f0;color:var(--danger);padding:10px 12px;border-radius:9px;margin-bottom:14px}dialog{border:0;border-radius:20px;padding:0;width:min(720px,calc(100vw - 30px));box-shadow:0 30px 90px #0005}dialog::backdrop{background:#10251fcc;backdrop-filter:blur(4px)}dialog form>header,dialog form>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}dialog form>footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:10px}dialog header button{border:0;background:none;font-size:26px}.form-grid{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid .wide{grid-column:1/-1}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:11px;font-weight:700}.button.primary{color:#fff;border-color:var(--forest);background:var(--forest)}a{color:var(--forest)}.success{background:#e8f8dc;color:#315b18;border:1px solid #c8e9ad;padding:12px 15px;border-radius:12px;margin-bottom:16px}.section-title{margin:30px 0 12px}.super-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap td small{display:block;color:var(--muted);margin-top:3px}
.landing{min-height:100vh;background:#f6f8f4}.landing-nav{height:82px;display:flex;align-items:center;justify-content:space-between;max-width:1500px;margin:auto;padding:0 5vw}.landing-nav .brand{color:var(--forest)}.landing-nav nav{display:flex;align-items:center;gap:28px}.landing-nav nav>a:not(.button){text-decoration:none;font-weight:650}.landing-hero{min-height:650px;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center;max-width:1500px;margin:auto;padding:70px 5vw 100px}.landing-hero h1{font-size:clamp(48px,6vw,86px);line-height:1;letter-spacing:-3.5px;max-width:1000px;margin:18px 0 28px}.landing-hero p{font-size:20px;max-width:760px;color:var(--muted)}.hero-actions{display:flex;gap:12px;margin-top:34px}.hero-actions .button{padding:14px 20px}.button.ghost{background:transparent}.hero-card{background:var(--forest);color:#fff;border-radius:28px;padding:32px;box-shadow:0 30px 80px #153e342f}.hero-card>span{color:#b9cec5}.hero-card>strong{display:block;font-size:30px;margin:6px 0 28px}.hero-stat{display:flex;gap:14px;align-items:center;padding:17px 0;border-top:1px solid #ffffff1f}.hero-stat i{width:12px;height:12px;border-radius:4px;background:var(--mint)}.hero-stat b,.hero-stat small{display:block}.hero-stat small{color:#bdd1c9;margin-top:2px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;padding:0 5vw 100px;gap:18px}.landing-features article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.landing-features article>b{color:var(--mint-dark)}.landing-features h2{margin:18px 0 8px}.landing-features p{color:var(--muted)}
.form-actions,.head-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.form-actions{border-top:1px solid var(--line);padding:20px;margin:5px -22px -22px}.document-form{max-width:1000px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;justify-content:start}.check input{width:auto}.document-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}.document-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.document-summary span,.totals-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.lv-table td small{display:block;color:var(--muted);margin-top:5px}.lv-title td{background:#eef3ef;font-size:17px}.lv-subtitle td{background:#f7f9f7}.totals-card{width:min(480px,100%);margin:18px 0 0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.totals-card>div{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line)}.totals-card>div:last-child{border:0}.totals-card span{margin:0}.totals-card .grand{background:var(--forest);color:#fff}.totals-card .grand span{color:#c7d9d2}.icon-button{border:0;border-radius:8px;width:30px;height:30px;cursor:pointer}.icon-button.danger{background:#fff0f0;color:var(--danger)}
.mobile-nav-button{display:none}.login-button{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}.landing-section{max-width:1500px;margin:auto;padding:110px 5vw}.section-kicker{text-transform:uppercase;letter-spacing:1.6px;color:#6fa726;font-size:12px;font-weight:900;margin-bottom:20px}.section-kicker.light{color:var(--mint)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:55px}.section-intro h2{font-size:clamp(38px,4.6vw,68px);line-height:1.04;letter-spacing:-2.4px;margin:0}.section-intro p{font-size:18px;line-height:1.75;color:var(--muted);margin:0}.section-intro.light h2{color:#fff}.section-intro.light p{color:#c3d7cf}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.benefit-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.benefit-grid span{color:#72a935;font-weight:900}.benefit-grid h3{font-size:22px;margin:22px 0 10px}.benefit-grid p{color:var(--muted);margin:0}
.product-stage{position:relative;min-height:520px;display:grid;place-items:center}.stage-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:#b9f36b33;filter:blur(30px)}.product-window{position:relative;width:min(680px,100%);background:#fff;border:1px solid #d6e0da;border-radius:22px;box-shadow:0 35px 90px #173f3530;overflow:hidden;transform:rotate(-1deg)}.window-top{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e8ede9}.window-brand{display:flex;gap:8px;align-items:center;font-weight:800}.window-brand b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--mint);color:var(--forest)}.window-user{font-size:12px;color:var(--muted)}.window-body{display:grid;grid-template-columns:60px 1fr;min-height:365px}.window-body aside{background:var(--forest);padding:24px 19px;display:grid;align-content:start;gap:19px}.window-body aside i{display:block;width:20px;height:5px;border-radius:5px;background:#ffffff55}.window-body aside i:first-child{background:var(--mint)}.window-content{padding:24px}.window-heading{display:flex;justify-content:space-between;gap:15px}.window-heading small,.window-heading strong{display:block}.window-heading small{color:var(--muted);margin-bottom:4px}.window-heading strong{font-size:22px}.window-heading>span{height:max-content;border-radius:999px;background:#e9f7dd;color:#497d1d;padding:5px 9px;font-size:11px}.window-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.window-metrics div{background:#f3f6f2;border-radius:12px;padding:13px}.window-metrics small,.window-metrics b{display:block}.window-metrics small{color:var(--muted);font-size:10px}.window-metrics b{margin-top:4px}.window-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:10px}.window-chart,.window-tasks{border:1px solid var(--line);border-radius:13px;padding:14px}.chart-bars{height:95px;display:flex;align-items:end;gap:8px;margin-top:12px}.chart-bars i{flex:1;background:#b9f36b;border-radius:4px 4px 0 0}.chart-bars i:nth-child(1){height:35%}.chart-bars i:nth-child(2){height:55%}.chart-bars i:nth-child(3){height:48%}.chart-bars i:nth-child(4){height:76%}.chart-bars i:nth-child(5){height:66%}.chart-bars i:nth-child(6){height:88%}.chart-bars i:nth-child(7){height:82%}.window-tasks span{display:flex;align-items:center;gap:7px;font-size:10px;padding:9px 0;border-bottom:1px solid #edf0ee}.window-tasks span:last-child{border:0}.window-tasks i{width:7px;height:7px;border-radius:50%;background:var(--mint-dark)}.floating-card{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 20px 55px #173f3525;border-radius:15px;padding:15px}.floating-profit{top:28px;right:-25px}.floating-profit small,.floating-profit strong,.floating-profit span{display:block}.floating-profit small,.floating-profit span{color:var(--muted);font-size:10px}.floating-profit strong{margin:3px 0;color:#3f7718}.floating-mobile{bottom:20px;left:-25px;display:flex;align-items:center;gap:10px}.floating-mobile>i{width:32px;height:42px;border-radius:7px;background:var(--forest)}.floating-mobile small,.floating-mobile strong{display:block}.floating-mobile small{font-size:10px;color:var(--muted)}.floating-mobile>b{color:#5e9828}
.proof-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 5vw;text-align:center}.proof-strip p{color:var(--muted);margin:0 0 13px}.proof-strip div{display:flex;justify-content:center;align-items:center;gap:20px;font-weight:800}.proof-strip i{width:5px;height:5px;border-radius:50%;background:var(--mint-dark)}
.feature-catalog{background:var(--forest);color:#fff}.feature-index{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:45px}.feature-index a{color:#d7e5df;text-decoration:none;border:1px solid #ffffff26;border-radius:11px;padding:12px 14px}.feature-index a:hover{background:#ffffff0d;border-color:var(--mint)}.feature-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-details article{display:grid;grid-template-columns:55px 1fr;gap:16px;background:#fff;color:var(--ink);border-radius:18px;padding:26px}.feature-number{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#eaf8da;color:#527f25;font-weight:900}.feature-details article span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#65952d;font-weight:800}.feature-details h3{font-size:22px;margin:5px 0 9px}.feature-details p{color:var(--muted)}.feature-details ul{padding-left:18px;color:#405049}.feature-details li{margin:6px 0}
.workflow-overview{background:#edf2ed}.process-track{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.process-track article{position:relative;background:#fff;border:1px solid var(--line);padding:22px;min-height:170px}.process-track article:first-child{border-radius:18px 0 0 18px}.process-track article:last-child{border-radius:0 18px 18px 0}.process-track b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--forest);color:var(--mint);margin-bottom:25px}.process-track span{font-weight:900}.process-track p{font-size:12px;color:var(--muted)}.dual-login,.cta-actions{display:flex;gap:10px;margin-top:25px}
.roles-section{background:#fff}.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.roles-grid h2{font-size:clamp(38px,4.5vw,65px);line-height:1.05;letter-spacing:-2px;margin:0 0 20px}.roles-grid>div>p{font-size:18px;color:var(--muted)}.role-stack{display:grid;gap:10px}.role-stack article{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fafcf9}.role-stack article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--forest);color:var(--mint);font-weight:900}.role-stack h3,.role-stack p{margin:0}.role-stack p{color:var(--muted);font-size:12px}.role-stack article>b{font-size:11px;color:#5f786d;background:#e9f0eb;border-radius:999px;padding:5px 8px}
.security-panel{background:var(--forest);border-radius:28px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;color:#fff}.security-panel h2{font-size:clamp(38px,4vw,60px);line-height:1.06;letter-spacing:-2px;margin:0 0 18px}.security-panel>div>p{color:#bfd3cb;font-size:17px}.light-button{margin-top:22px;background:var(--mint);border-color:var(--mint);color:var(--forest)}.security-points{display:grid;gap:10px}.security-points article{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid #ffffff20}.security-points article:last-child{border:0}.security-points i{font-style:normal;color:var(--mint);font-weight:900}.security-points h3,.security-points p{margin:0}.security-points p{color:#bfd3cb;font-size:13px}
.faq-section{background:#f2f5f1}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.faq-grid h2{font-size:clamp(38px,4vw,60px);line-height:1.05;letter-spacing:-2px}.faq-grid>div>p{color:var(--muted)}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:9px;padding:0 18px}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;padding:18px 0;font-weight:800}.faq-list summary span{font-size:20px;color:var(--mint-dark)}.faq-list details p{color:var(--muted);padding:0 0 18px;margin:0}
.final-cta{padding:110px 5vw;background:var(--mint);text-align:center}.final-cta>div{max-width:980px;margin:auto}.final-cta h2{font-size:clamp(45px,6vw,80px);line-height:1;letter-spacing:-3px;margin:17px 0}.final-cta p{font-size:19px}.cta-actions{justify-content:center}.cta-button{background:var(--forest);border-color:var(--forest);color:#fff;padding:14px 20px}.landing-footer{background:#102e27;color:#fff;padding:65px 5vw 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:45px;border-bottom:1px solid #ffffff20}.footer-top p{color:#adc4bb}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;padding:38px 0}.footer-columns div{display:grid;align-content:start;gap:8px}.footer-columns strong{color:var(--mint);margin-bottom:5px}.footer-columns a,.footer-bottom a{color:#c5d6cf;text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:22px;color:#8fa9a0}.footer-bottom nav{display:flex;gap:20px}.login-back{display:block;text-align:center;margin-top:16px;color:var(--muted);text-decoration:none;font-size:13px}
.platform-label{margin:24px 12px 4px;color:var(--mint);text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:900}.platform-nav{margin-top:8px!important}.platform-nav a{position:relative}.platform-head{border-bottom:1px solid var(--line);padding-bottom:22px}.metric.warning,.system-grid .warning{background:#fff4e5;border-color:#f2d3a4}.platform-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.panel-title h2{margin:3px 0}.panel-title>a{font-size:13px}.compact-list{display:grid}.compact-list>a{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-decoration:none;padding:11px 0;border-bottom:1px solid #edf0ee}.compact-list>a:last-child{border:0}.compact-list small{display:block;color:var(--muted)}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e8f6d9;color:#497c1c;font-weight:900}.timeline-list>div{display:grid;grid-template-columns:12px 1fr;gap:12px;border-left:1px solid var(--line);padding:0 0 15px 14px}.timeline-list i{width:8px;height:8px;border-radius:50%;background:var(--mint-dark);margin-left:-19px;margin-top:6px}.timeline-list p,.timeline-list strong,.timeline-list small{display:block;margin:0}.timeline-list small{color:var(--muted)}.quick-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:18px}.quick-admin-grid>a,.quick-admin-grid>button{display:flex;gap:13px;align-items:center;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:16px;text-decoration:none;text-align:left}.quick-admin-grid>a>span,.quick-admin-grid>button>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;background:var(--forest);color:var(--mint);font-weight:900}.quick-admin-grid small{display:block;color:var(--muted)}
.sidebar{z-index:50;width:272px;padding:18px 14px 14px;transition:width .2s ease}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 5px 12px}.sidebar-toggle{flex:0 0 auto;width:28px;height:28px;border:1px solid #ffffff26;border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer}.sidebar-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 3px 12px;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}.sidebar nav{gap:3px;margin-top:14px}.sidebar nav small{margin:15px 10px 4px;font-size:9px}.nav-item{display:flex;align-items:center;gap:10px;white-space:nowrap}.nav-glyph{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#ffffff0a;color:#bde77f;font-size:12px;font-weight:850}.sidebar nav a,.logout{padding:7px 8px}.sidebar nav a.active{background:#245448;box-shadow:inset 3px 0 0 var(--mint)}.sidebar-foot{border-top:1px solid #ffffff18;padding-top:10px}.logout{margin-top:8px}.mode-switch{background:#0f352c;border:1px solid #ffffff18;border-radius:12px;padding:9px}.mode-title{display:block;color:#b8ccc4;font-size:9px;text-transform:uppercase;letter-spacing:1.2px;margin:0 3px 7px}.mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mode-options button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;border:1px solid #ffffff20;background:transparent;color:#dce9e4;border-radius:7px;padding:6px 3px;font:700 10px/1 inherit;cursor:pointer}.mode-options button.selected{background:var(--mint);border-color:var(--mint);color:var(--forest)}.app{margin-left:272px;max-width:1800px;transition:margin-left .2s ease}.sidebar-collapsed .sidebar{width:72px}.sidebar-collapsed .app{margin-left:72px}.sidebar-collapsed .sidebar .nav-text{display:none}.sidebar-collapsed .sidebar-head{justify-content:center}.sidebar-collapsed .sidebar-toggle{position:absolute;right:-12px;top:22px;background:var(--forest)}.sidebar-collapsed .nav-item{justify-content:center}.sidebar-collapsed .mode-options{grid-template-columns:1fr}.environment-banner{display:flex;align-items:center;gap:12px;margin:-36px -36px 28px;padding:10px 36px;background:#fff0c7;border-bottom:1px solid #e4c161;color:#583d00}.environment-banner strong{background:#8a5a00;color:#fff;border-radius:999px;padding:4px 9px;font-size:11px;letter-spacing:.7px}.environment-banner em{margin-left:auto;font-style:normal;font-size:12px;font-weight:750}.workspace-test .environment-banner{background:#e8efff;border-color:#9bb4ec;color:#18366f}.workspace-test .environment-banner strong{background:#315ca8}
.platform-split{display:grid;grid-template-columns:1.5fr .7fr;gap:18px}.selected-row td{background:#f1f7ec}.detail-panel{align-self:start;position:sticky;top:20px}.detail-panel h2{font-size:27px;margin:5px 0}.detail-panel>p{color:var(--muted)}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.detail-facts div{background:#f3f6f2;border-radius:10px;padding:10px}.detail-facts span,.detail-facts strong{display:block}.detail-facts span{color:var(--muted);font-size:11px}.detail-actions{display:flex;gap:8px}.status-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:15px}.button.small{padding:6px 9px;font-size:12px}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.plan-card{position:relative;background:#fff;border:2px solid transparent;border-radius:18px;padding:22px;text-decoration:none;box-shadow:var(--shadow)}.plan-card.selected{border-color:var(--mint-dark)}.plan-card>span{text-transform:uppercase;font-size:10px;color:var(--muted)}.plan-card h2{margin:7px 0}.plan-card p{color:var(--muted);min-height:45px}.plan-card>strong{font-size:23px}.plan-card>strong small{font-size:12px}.plan-card>b{position:absolute;right:15px;top:15px;background:#e8f6d9;color:#4a7d1e;border-radius:999px;padding:4px 8px;font-size:10px}.plan-config h3,.config-panel h3{margin-top:28px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.check-grid label,.permission-group label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:10px}.check-grid input,.permission-group input,.module-admin-grid input{width:auto;margin-top:4px}.check-grid small,.permission-group small{display:block;color:var(--muted)}.limit-editor{display:grid;gap:8px}.limit-editor>div,.override-row{display:grid;grid-template-columns:1fr 1fr 150px;gap:8px}.inline-select{display:flex;align-items:center;gap:15px;font-weight:800}.inline-select select{width:min(500px,100%)}.notice{background:#eef5e9;border-left:4px solid var(--mint-dark);padding:12px 15px;border-radius:8px}.notice.warning{background:#fff7e9;border-color:#e9a53b}.module-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.module-admin-grid label{display:grid;grid-template-columns:auto 42px 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px}.module-glyph{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--forest);color:var(--mint);font-weight:900}.module-admin-grid small{display:block;color:var(--muted)}.permission-group{border-top:1px solid var(--line);padding-top:15px}.permission-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.role-badge{background:#e8eef8;color:#365b92;border-radius:999px;padding:4px 8px;font-size:11px}.audit-tabs{display:flex;gap:8px;margin-bottom:12px}.audit-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px}.audit-tabs button.active{background:var(--forest);color:#fff}.hidden{display:none!important}.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.system-grid article span,.system-grid article small,.system-grid article strong{display:block}.system-grid article span,.system-grid article small{color:var(--muted)}.system-grid article strong{font-size:22px;margin:6px 0}.system-grid .ok{border-color:#b6dda1;background:#f0faea}.migration-list{display:grid;gap:8px}.migration-list>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:9px}.migration-list span{color:#60992c}.migration-list small{color:var(--muted)}.settings-form label>small{display:block;color:var(--muted);font-weight:400}.dialog-subsection{padding:0 22px 18px}.override-row{margin-bottom:8px}.config-panel{margin-top:15px}
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.platform-dashboard-grid,.platform-split{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;gap:40px}.login-card{justify-self:start}.login-copy h1{font-size:44px}.landing-hero{grid-template-columns:1fr}.product-stage{max-width:760px}.section-intro,.roles-grid,.security-panel,.faq-grid{grid-template-columns:1fr}.feature-details{grid-template-columns:1fr}.feature-index{grid-template-columns:repeat(3,1fr)}.process-track{grid-template-columns:repeat(3,1fr);gap:10px}.process-track article,.process-track article:first-child,.process-track article:last-child{border-radius:15px}.footer-columns{grid-template-columns:1fr 1fr 1fr}.plan-grid,.check-grid,.module-admin-grid,.permission-group>div{grid-template-columns:1fr 1fr}.system-grid{grid-template-columns:1fr 1fr}.detail-panel{position:static}}
@media(max-width:760px){.sidebar{position:static;width:auto;min-height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.platform-nav{grid-template-columns:1fr 1fr!important}.app{margin:0;padding:20px}.metric-grid,.super-metrics,.quick-admin-grid,.plan-grid,.check-grid,.module-admin-grid,.permission-group>div,.system-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.login-shell{padding:25px}.toolbar input{min-width:0}.table-wrap{overflow:auto}.limit-editor>div,.override-row{grid-template-columns:1fr}.landing-nav{position:relative;padding:0 20px}.mobile-nav-button{display:block;border:1px solid var(--line);background:#fff;border-radius:9px;width:42px;height:42px;font-size:19px}.landing-nav nav{display:none;position:absolute;z-index:20;top:72px;left:15px;right:15px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);align-items:stretch}.landing-nav nav.open{display:grid}.landing-nav nav a{padding:9px}.landing-hero{padding:45px 20px 75px}.landing-hero h1{font-size:46px;letter-spacing:-2px}.hero-actions,.dual-login{flex-direction:column;align-items:stretch}.hero-trust{display:grid;gap:8px}.product-stage{min-height:380px}.product-window{transform:none}.window-body{grid-template-columns:40px 1fr}.window-body aside{padding:18px 10px}.window-content{padding:15px}.window-metrics{grid-template-columns:1fr 1fr}.window-metrics div:last-child{display:none}.window-grid{grid-template-columns:1fr}.window-tasks{display:none}.floating-card{display:none}.proof-strip div{flex-wrap:wrap;gap:10px}.landing-section{padding:75px 20px}.section-intro{gap:20px}.section-intro h2{font-size:42px}.benefit-grid{grid-template-columns:1fr}.feature-index{grid-template-columns:1fr 1fr}.feature-details article{grid-template-columns:1fr}.process-track{grid-template-columns:1fr 1fr}.security-panel{padding:30px 22px}.role-stack article{grid-template-columns:48px 1fr}.role-stack article>b{display:none}.final-cta{padding:80px 20px}.final-cta h2{font-size:46px}.footer-top,.footer-bottom{display:grid}.footer-columns{grid-template-columns:1fr}.footer-bottom nav{flex-wrap:wrap}}
@media(max-width:760px){.sidebar-collapsed .sidebar{width:auto}.sidebar-scroll{overflow:visible}.sidebar-toggle{display:none}.sidebar-collapsed .sidebar .nav-text{display:inline}.sidebar-collapsed .app{margin:0}.environment-banner{margin:-20px -20px 20px;padding:10px 20px;flex-wrap:wrap}.environment-banner em{margin-left:0}}
.dispatch-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:18px;margin-bottom:18px}.dispatch-grid hr{border:0;border-top:1px solid var(--line);margin:25px 0}.settings-tabs{position:sticky;top:0;z-index:5;display:flex;gap:8px;background:var(--paper);padding:8px 0 18px}.settings-tabs a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 13px;text-decoration:none;font-weight:700}.settings-section{margin-bottom:22px;scroll-margin-top:70px}.mail-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mail-account-grid .panel{box-shadow:none}.detail-actions form{margin:0}.status.danger{background:#fff0f0;color:var(--danger)}
@media(max-width:1100px){.dispatch-grid{grid-template-columns:1fr}.mail-account-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mail-account-grid{grid-template-columns:1fr}.settings-tabs{overflow:auto}}
.mail-date-group{margin:0;padding:10px 18px;background:#f2f6f2;border-bottom:1px solid var(--line);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mail-editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.mail-editor-toolbar button{border:1px solid var(--line);background:#f4f7f4;border-radius:8px;padding:7px 11px;font-weight:700;cursor:pointer}
.settings-section details.inset{margin-top:10px;padding:0}.settings-section details summary{cursor:pointer;padding:14px 16px;list-style:none}.settings-section details[open] summary{border-bottom:1px solid var(--line)}.settings-section details form{padding:16px}
.mail-folders h3{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 8px 6px}.mail-row aside .danger{color:#9c2c2c}
.inline-form{display:inline}.inline-form input{display:none}.inline-form button{white-space:nowrap}
.section-tabs{display:flex;gap:8px;margin-bottom:18px}.section-tabs a{padding:10px 16px;border:1px solid var(--line);border-radius:11px;background:#fff;text-decoration:none;font-weight:800}.section-tabs a.active{background:var(--forest);border-color:var(--forest);color:#fff}
.record-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.record-card.panel{text-decoration:none;color:var(--ink)}.record-card.panel h2{margin:10px 0 4px}.record-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.record-metrics span{background:#f2f6f2;border-radius:10px;padding:10px}.record-metrics b{display:block;color:var(--ink);margin-top:3px}
.execution-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.execution-summary .panel{box-shadow:none;padding:16px}.execution-summary span,.execution-summary strong{display:block}.execution-summary span{color:var(--muted);font-size:12px}.execution-summary strong{margin-top:5px}.download-actions{display:grid;gap:8px;margin:15px 0}
@media(max-width:1100px){.execution-summary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.execution-summary,.record-metrics{grid-template-columns:1fr}.section-tabs{overflow:auto}}
.calculation-projects .record-metrics{grid-template-columns:1fr 1fr}.negative{color:#b23b3b!important}.positive{color:#4d851f!important}.master-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.master-row:last-child{border:0}.master-row small{display:block;color:var(--muted)}.result-number{display:block;font-size:36px;margin:14px 0;color:#4d851f}.progress{height:8px;min-width:110px;background:#edf1ee;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--mint-dark);border-radius:inherit}.diary-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.diary-timeline{display:grid;gap:14px}.diary-entry>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px}.diary-entry>header h2{margin:4px 0}.diary-entry>header>div:last-child{display:flex;align-items:center;gap:8px}.diary-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.diary-grid>div{padding:14px 0;border-bottom:1px solid #edf0ee}.diary-grid span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.diary-grid p{margin:5px 0 0}
@media(max-width:760px){.calculation-projects .record-metrics,.diary-grid{grid-template-columns:1fr}.master-row{grid-template-columns:42px 1fr}.master-row>span{grid-column:2}.diary-head{display:grid}}
.planning-filter{align-items:end}.planning-filter label{display:grid;gap:4px}.planning-board{display:grid;gap:10px}.planning-day{font-size:18px;margin:18px 0 3px}.planning-entry{position:relative;display:grid;grid-template-columns:90px 1fr 230px;gap:18px;align-items:center;padding-left:28px}.planning-entry:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;border-radius:18px 0 0 18px;background:var(--calendar-color)}.planning-entry h3,.planning-entry p{margin:3px 0}.planning-entry p,.planning-entry small{color:var(--muted)}.planning-time strong,.planning-time small{display:block}.planning-actions form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:7px}.planning-actions select,.planning-actions button{padding:7px;font-size:12px}.priority-urgent{border-color:#e7aaaa}.priority-high{border-color:#efd29e}.time-approval{display:flex;gap:5px}.time-approval button{padding:6px;border:1px solid var(--line);background:#fff;border-radius:7px}.interface-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.interface-card p{min-height:65px;color:var(--muted)}.interface-card form{display:grid;gap:8px}.interface-card .head-actions{justify-content:flex-start}
.access-users{margin-bottom:18px}.access-panel-title{padding:20px 22px 5px}.access-panel-title small{color:var(--muted)}.access-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(520px,1.35fr);gap:18px;align-items:start}.access-role-list{display:grid;gap:8px}.access-role-list>a{display:flex;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.access-role-list>a.active{border-color:var(--mint-dark);background:#eef6e8}.access-role-list span:last-child{text-align:right}.access-role-list small{display:block;color:var(--muted)}.access-role-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.access-role-actions form,.detail-actions form{display:inline-flex}.danger-button{border:1px solid #e2aaaa;background:#fff3f3;color:var(--danger);border-radius:10px;padding:9px 14px}.role-choice{border:1px solid var(--line);border-radius:12px;padding:14px}.role-choice legend{font-weight:800}.role-choice label{display:inline-flex;align-items:center;gap:7px;margin:5px 14px 5px 0}.role-choice input{width:auto}.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-actions>button,.access-role-actions>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px}
@media(max-width:1100px){.planning-entry{grid-template-columns:75px 1fr}.planning-actions{grid-column:2}.interface-grid,.access-grid{grid-template-columns:1fr}}
@media(max-width:760px){.planning-entry{grid-template-columns:1fr;padding-left:20px}.planning-actions{grid-column:auto}.planning-filter{display:grid}.time-approval{display:grid}}

.app-toast{position:fixed;right:24px;bottom:24px;z-index:10000;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border-radius:12px;background:#123f35;color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.22);font-weight:700}.app-toast.error{background:#9d2525}.app-toast[hidden]{display:none}form[aria-busy="true"]{opacity:.72;pointer-events:none}

/* Projektweiter Popup-/JSON-Arbeitsmodus */
.app-content[aria-busy="true"]{opacity:.68;pointer-events:none;transition:opacity .15s ease}
body.app-popup-open{overflow:hidden}
.app-popup-layer{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:16px;background:rgba(10,31,25,.74);backdrop-filter:blur(5px)}
.app-popup-layer[hidden]{display:none}
.app-popup-window{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1500px,calc(100vw - 32px));height:min(94vh,1080px);overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:var(--paper);box-shadow:0 34px 110px rgba(0,0,0,.42)}
.app-popup-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fff;z-index:3}
.app-popup-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--forest);font-size:15px}
.app-popup-head button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--forest);font-size:23px;cursor:pointer}
.app-popup-head button:hover{background:#edf3ee}
.app-popup-back[hidden]{visibility:hidden;display:grid}
.app-popup-body{min-height:0;overflow:auto;padding:28px 30px 90px;overscroll-behavior:contain}
.app-popup-body>.page-head{margin-top:0}
.app-popup-body .page-head h1{font-size:31px}
.app-popup-loading{display:grid;place-items:center;align-content:center;gap:14px;min-height:55vh;color:var(--muted)}
.app-popup-loading span{width:38px;height:38px;border:4px solid #dce5df;border-top-color:var(--forest);border-radius:50%;animation:kalkuly-spin .8s linear infinite}
.app-popup-error{max-width:620px;margin:12vh auto;padding:28px;border:1px solid #efcaca;border-radius:18px;background:#fff4f4;color:#7f1d1d;text-align:center}
@keyframes kalkuly-spin{to{transform:rotate(360deg)}}
.form-json-error{margin:16px 22px 0;padding:12px 14px;border-left:4px solid #b42318;border-radius:9px;background:#fff0f0;color:#8b1d1d;font-weight:700}
form:not(:has(>header))>.form-json-error{margin:0 0 16px}
.app-popup-body dialog{max-height:calc(100vh - 70px);overflow:auto}
.app-popup-body .bulk-bar{position:sticky;top:8px;bottom:auto;z-index:20;margin:0 0 12px;box-shadow:0 12px 32px rgba(0,0,0,.24)}
@media(max-width:800px){.app-popup-layer{padding:0}.app-popup-window{width:100vw;height:100vh;border:0;border-radius:0}.app-popup-body{padding:20px 14px 90px}.app-popup-head{min-height:54px}.app-popup-body .page-head{display:grid}.app-popup-body .page-head h1{font-size:27px}}
.lv-line-just-saved{animation:kalkuly-line-saved 1.8s ease-out}
@keyframes kalkuly-line-saved{0%{box-shadow:inset 0 0 0 999px rgba(168,239,91,.32)}100%{box-shadow:inset 0 0 0 999px rgba(168,239,91,0)}}
/* Vertragsverwaltung 1.11.2 */
.legal-app-card{margin-bottom:22px;overflow:hidden}.legal-app-body{padding:22px;line-height:1.7;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:620px;overflow:auto}.legal-app-body h2,.legal-app-body h3{margin-top:1.5em}.legal-app-body table{width:100%;border-collapse:collapse}.legal-app-body th,.legal-app-body td{padding:10px;border:1px solid #dbe3ee;vertical-align:top}.legal-accept-form{padding:20px;border-top:1px solid #e2e8f0;display:grid;gap:15px}.legal-doc-grid{display:grid;gap:18px}.legal-doc-summary{padding:22px}.legal-doc-summary summary{cursor:pointer;font-weight:800;margin-top:12px}.legal-admin-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.legal-admin-list{padding:16px;display:grid;gap:8px}.legal-admin-item{display:grid;gap:4px;padding:12px;border:1px solid #dbe3ee;border-radius:10px;text-decoration:none;color:inherit}.legal-admin-item.active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}.legal-admin-item small{color:#64748b}.legal-editor-form{padding:20px;display:grid;gap:14px}.legal-editor-form textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5;min-height:560px}.check{display:flex!important;align-items:flex-start;gap:9px}.check input{width:auto;margin-top:4px}@media(max-width:900px){.legal-admin-grid{grid-template-columns:1fr}.legal-app-body{max-height:none}.legal-editor-form textarea{min-height:420px}}

/* Kalkuly 1.11.3 – Verträge, Versionen und Annahmestände */
.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.status-badge.ok{background:#e7f7ed;color:#17663d}.status-badge.warning{background:#fff3d8;color:#855700}.status-badge.neutral{background:#edf1ef;color:#56635e}.button.small{padding:7px 10px;font-size:12px}.legal-documents-head{align-items:center}.legal-doc-grid{display:grid;gap:18px}.legal-doc-summary{padding:0;overflow:hidden}.legal-doc-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid var(--line)}.legal-doc-summary-head h2{margin:4px 0 5px}.legal-doc-summary-head p{margin:0;color:var(--muted)}.legal-acceptance-proof{display:grid;gap:4px;margin:18px 22px 0;padding:14px 16px;border:1px solid #cce3d7;border-radius:13px;background:#f1f9f5}.legal-acceptance-proof span,.legal-acceptance-proof small{color:var(--muted)}.legal-document-details{margin:18px 22px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.legal-document-details>summary{cursor:pointer;padding:14px 16px;background:#f7faf8;font-weight:800;color:var(--forest)}.legal-app-body{padding:22px;line-height:1.7;background:#fff;max-height:620px;overflow:auto}.legal-app-body h2,.legal-app-body h3,.legal-app-body h4{color:var(--forest);margin-top:1.5em}.legal-app-body table{width:100%;border-collapse:collapse}.legal-app-body th,.legal-app-body td{padding:10px;border:1px solid #dbe3ee;vertical-align:top}.legal-doc-summary-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 22px;border-top:1px solid var(--line);background:#fbfcfb}.legal-doc-summary-foot code{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.legal-admin-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.legal-admin-intro h2{margin:4px 0}.legal-admin-intro p{max-width:900px;margin:0;color:var(--muted)}.legal-admin-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.legal-admin-list{padding:16px;position:sticky;top:24px}.legal-document-list{display:grid;gap:8px;margin-top:15px}.legal-document-list a{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:12px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:inherit;background:#fff}.legal-document-list a:hover,.legal-document-list a.active{border-color:#74a894;background:#f2f8f5;box-shadow:0 0 0 2px rgba(23,63,53,.07)}.legal-document-list span span{display:grid;gap:2px}.legal-document-list small,.legal-document-list em{display:block;color:var(--muted);font-style:normal;font-size:11px}.legal-document-list em{margin-top:5px;font-weight:750;color:#477060}.legal-doc-icon{display:grid!important;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--forest);color:#fff;font-weight:900}.legal-admin-workspace{display:grid;gap:18px}.legal-editor-form{display:grid;gap:16px}.legal-editor-payload{display:none}.legal-editor-title{align-items:flex-start}.legal-editor-title h2{margin:3px 0}.legal-editor-title p{margin:0;color:var(--muted)}.legal-meta-fields{padding:0}.legal-editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:9px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:#f6f9f7}.legal-editor-toolbar button{border:1px solid #ced8d2;border-radius:8px;background:#fff;padding:7px 10px;cursor:pointer;font:inherit;font-size:12px;font-weight:750}.legal-rich-editor,.legal-source-editor{min-height:560px;padding:24px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#fff;line-height:1.7;overflow:auto}.legal-rich-editor:focus,.legal-source-editor:focus{outline:3px solid rgba(23,63,53,.12)}.legal-rich-editor h2,.legal-rich-editor h3,.legal-rich-editor h4{color:var(--forest)}.legal-rich-editor table{border-collapse:collapse;width:100%}.legal-rich-editor th,.legal-rich-editor td{border:1px solid var(--line);padding:8px;vertical-align:top}.legal-source-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.legal-integrity-row{display:grid;gap:5px;padding:13px 15px;border-radius:11px;background:#f5f7f6}.legal-integrity-row span{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:800}.legal-integrity-row code{font-size:11px;overflow-wrap:anywhere}.legal-publish-confirm{padding:14px;border:1px solid #e7d4a5;border-radius:12px;background:#fff8e8}.legal-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line)}.legal-editor-actions p{margin:0;color:var(--muted);font-size:12px;max-width:680px}.legal-version-history{padding:0;overflow:hidden}.legal-version-history>.panel-title{padding:20px 22px}.mandant-legal-status{margin-top:18px}.mandant-legal-status .panel-title{padding-bottom:18px}.notice.warning{background:#fff7e4;border:1px solid #ecd39a;color:#725000;padding:12px 15px;border-radius:12px}.quick-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media(max-width:1050px){.legal-admin-grid{grid-template-columns:1fr}.legal-admin-list{position:static}.legal-document-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.legal-admin-intro,.legal-doc-summary-head,.legal-doc-summary-foot,.legal-editor-actions{align-items:stretch;flex-direction:column}.legal-document-list{grid-template-columns:1fr}.legal-rich-editor,.legal-source-editor{min-height:400px;padding:16px}.legal-doc-summary-foot code{font-size:9px}.legal-documents-head{display:grid}.head-actions{justify-content:flex-start;flex-wrap:wrap}}

/* P3D.5: eigenstaendiges Login-Branding ohne Konflikt mit .brand span */
.login-product-brand{display:inline-flex;align-items:center;gap:14px;max-width:100%;color:#fff}
.login-product-brand__mark{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:14px;background:var(--mint);color:var(--forest);font-size:30px;font-weight:900;line-height:1;box-shadow:0 10px 28px rgba(0,0,0,.13)}
.login-product-brand__copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;line-height:1}
.login-product-brand__copy strong{display:block;color:#fff;font-size:30px;font-weight:850;letter-spacing:-.8px;white-space:nowrap}
.login-product-brand__copy small{display:block;color:#a9c9bd;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.75px;text-transform:uppercase;white-space:nowrap}
@media(max-width:760px){.login-product-brand__mark{flex-basis:50px;width:50px;height:50px;font-size:26px}.login-product-brand__copy strong{font-size:26px}.login-product-brand__copy small{white-space:normal}}

/* P3D.34: Mehrfachfotos und Rapport-Fotogalerie */
.enterprise-report-list td strong,.enterprise-report-list td small{display:block}.enterprise-report-list td small{margin-top:.25rem;color:var(--muted)}
.report-cost-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.report-cost-strip span{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border,var(--line));border-radius:12px;background:var(--ui-surface-2,#f5f8f7)}
.inline-fields{display:grid;grid-template-columns:2fr 1fr;gap:.5rem}
@media(max-width:900px){.report-cost-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.enterprise-report-list{overflow-x:auto}}
@media(max-width:560px){.report-cost-strip,.inline-fields{grid-template-columns:1fr}}
.mobile-photo-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:12px}.mobile-photo-row label{margin:0}.report-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.report-photo{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.report-photo img{display:block;width:100%;height:180px;object-fit:cover;background:#eef3f0}.report-photo-meta{display:grid;gap:6px;padding:12px}.report-photo-meta small{color:var(--muted)}.report-photo-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.report-photo-actions form{margin:0}.table-wrap{overflow-x:auto!important;overflow-y:visible!important}@media(max-width:700px){.mobile-photo-row{grid-template-columns:1fr}.report-photo-grid{grid-template-columns:1fr 1fr}.report-photo img{height:145px}}@media(max-width:460px){.report-photo-grid{grid-template-columns:1fr}}

/* P3D.58: Superuser dashboard quick actions - prevent squeezed/overlapping cards */
.quick-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  margin-top:20px;
}
.quick-admin-grid>a,
.quick-admin-grid>button{
  display:flex;
  width:100%;
  min-width:0;
  min-height:96px;
  height:auto;
  margin:0;
  padding:18px;
  gap:14px;
  align-items:flex-start;
  justify-content:flex-start;
  position:relative;
  overflow:hidden;
  white-space:normal;
  line-height:1.35;
}
.quick-admin-grid>button{
  appearance:none;
  font:inherit;
}
.quick-admin-grid>a>div,
.quick-admin-grid>button>div{
  min-width:0;
  flex:1 1 auto;
}
.quick-admin-grid strong,
.quick-admin-grid small{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.quick-admin-grid small{
  margin-top:4px;
  line-height:1.4;
}
@media (max-width:1100px){
  .quick-admin-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .quick-admin-grid{grid-template-columns:1fr;gap:12px;}
  .quick-admin-grid>a,
  .quick-admin-grid>button{min-height:88px;padding:15px;}
}

/* P3D.60: saubere mobile Navigation und PWA nur nach Login */
.ui-mobile-menu,.sidebar-backdrop{display:none}
@media(max-width:760px){
  body:not(.marketing-site){overflow-x:hidden}
  body:not(.marketing-site) .ui-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:9px;align-items:center}
  .ui-mobile-menu{display:grid;place-items:center;align-content:center;gap:4px;width:42px;height:42px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--forest);cursor:pointer}
  .ui-mobile-menu span{display:block;width:21px;height:2px;border-radius:4px;background:currentColor}
  body:not(.marketing-site) .sidebar{position:fixed;z-index:1200;inset:0 auto 0 0;width:min(88vw,360px);min-height:100vh;padding:20px 15px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 55px rgba(0,0,0,.28)}
  body.mobile-sidebar-open .sidebar{transform:translateX(0)}
  body.mobile-sidebar-open{overflow:hidden}
  body:not(.marketing-site) .sidebar nav,body:not(.marketing-site) .platform-nav{grid-template-columns:1fr!important}
  body:not(.marketing-site) .sidebar-toggle{display:none}
  body:not(.marketing-site) .sidebar-scroll{overflow-y:auto;overflow-x:hidden}
  body:not(.marketing-site) .sidebar .nav-text{display:inline!important}
  body:not(.marketing-site) .nav-item{justify-content:flex-start!important}
  .sidebar-backdrop{position:fixed;z-index:1190;inset:0;display:block;background:rgba(5,24,20,.56);backdrop-filter:blur(2px)}
  .sidebar-backdrop[hidden]{display:none}
  body:not(.marketing-site) .app{margin-left:0!important;padding:16px!important}
}


/* P3D.62: PWA installation notice shown only after login */
.app-install-notice{margin:12px 20px 0;padding:14px 16px;border:1px solid #b8d7cc;border-radius:16px;background:#eef8f3;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 22px rgba(18,63,53,.08)}
.app-install-notice[hidden]{display:none!important}.app-install-notice__text{display:grid;gap:2px}.app-install-notice__text strong{font-size:15px}.app-install-notice__text span{font-size:13px;color:#536c64}.app-install-notice__actions{display:flex;gap:8px;flex:0 0 auto}.app-install-notice button{white-space:nowrap}
@media(max-width:760px){.app-install-notice{margin:10px 12px 0;align-items:stretch;flex-direction:column}.app-install-notice__actions{width:100%}.app-install-notice__actions button{flex:1}}

/* P3D.63: mobile dashboard polish and reliable install/menu UI */
.ui-mobile-menu__icon{display:block;font:800 24px/1 system-ui,sans-serif;transform:translateY(-1px)}
.ui-mobile-menu span:not(.ui-mobile-menu__icon){display:none!important}
.app-install-notice{position:relative;z-index:20}
.app-install-notice__actions .secondary{border:1px solid var(--line);background:#fff;color:var(--forest);padding:11px 15px;border-radius:11px;font-weight:750;cursor:pointer}

@media(max-width:980px){
  body[data-route="dashboard"] .app{padding:18px}
  body[data-route="dashboard"] .ui-topbar{margin-bottom:12px}
  body[data-route="dashboard"] .page-head{margin:4px 0 16px;gap:14px}
  body[data-route="dashboard"] .page-head h1{font-size:clamp(30px,8vw,44px);margin:0}
  body[data-route="dashboard"] .page-head p{font-size:15px;line-height:1.45}
  body[data-route="dashboard"] .page-head .primary{width:100%;justify-content:center;text-align:center}
  body[data-route="dashboard"] .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
  body[data-route="dashboard"] .metric{min-height:150px;padding:18px;border-radius:18px;display:flex;flex-direction:column;justify-content:space-between}
  body[data-route="dashboard"] .metric strong{font-size:38px;margin:8px 0 4px}
  body[data-route="dashboard"] .metric.accent{grid-column:1/-1;min-height:132px}
  body[data-route="dashboard"] .dashboard-grid{grid-template-columns:1fr;gap:14px}
  body[data-route="dashboard"] .dashboard-grid .panel{padding:18px;border-radius:18px}
  body[data-route="dashboard"] .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body[data-route="dashboard"] .quick-grid a{min-height:58px;display:flex;align-items:center;padding:12px}
}
@media(max-width:520px){
  body[data-route="dashboard"] .metric-grid{grid-template-columns:1fr}
  body[data-route="dashboard"] .metric.accent{grid-column:auto}
  body[data-route="dashboard"] .metric{min-height:126px}
  body[data-route="dashboard"] .quick-grid{grid-template-columns:1fr}
}

/* P3D.64: compact PWA/mobile platform dashboard metrics */
@media (max-width:1100px){
  body[data-route="superadmin"] .metric-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
  }
  body[data-route="superadmin"] .metric{
    min-height:108px;
    padding:14px 15px;
    border-radius:16px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  body[data-route="superadmin"] .metric span,
  body[data-route="superadmin"] .metric small{
    font-size:12px;
    line-height:1.3;
  }
  body[data-route="superadmin"] .metric strong{
    font-size:30px;
    line-height:1.05;
    margin:5px 0 3px;
  }
}
@media (max-width:720px){
  body[data-route="superadmin"] .metric-grid,
  body[data-route="superadmin"] .super-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  body[data-route="superadmin"] .metric{
    min-height:98px;
    padding:12px 13px;
    border-radius:14px;
  }
  body[data-route="superadmin"] .metric strong{
    font-size:27px;
  }
  body[data-route="superadmin"] .metric.accent,
  body[data-route="superadmin"] .metric.warning{
    grid-column:auto;
  }
}
@media (max-width:420px){
  body[data-route="superadmin"] .metric-grid,
  body[data-route="superadmin"] .super-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  body[data-route="superadmin"] .metric{
    min-height:90px;
    padding:11px;
  }
  body[data-route="superadmin"] .metric strong{
    font-size:24px;
  }
  body[data-route="superadmin"] .metric span,
  body[data-route="superadmin"] .metric small{
    font-size:11px;
  }
}
