:root{
      --bg:#f4efe7;--panel:#fffaf2;--card:#ffffff;--text:#211914;--muted:#75675c;--line:#e2d6c8;
      --brand:#87502f;--brand2:#c8864c;--brand3:#efd8bf;--blue:#315f73;--green:#13764a;--orange:#a26100;--red:#b3342b;
      --shadow:0 16px 40px rgba(55,36,22,.10);--radius:20px;
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 0% 0%,rgba(200,134,76,.22),transparent 30%),radial-gradient(circle at 85% 0%,rgba(49,95,115,.17),transparent 32%),var(--bg);color:var(--text)}
    body.dark{--bg:#141210;--panel:#211b16;--card:#28211d;--text:#fff6ec;--muted:#d0bba8;--line:#473b32;--brand:#d18b54;--brand2:#efbd7b;--brand3:#5f3c28;--shadow:0 16px 40px rgba(0,0,0,.28)}
    .app{display:grid;grid-template-columns:290px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;background:linear-gradient(180deg,#241710,#47291d 55%,#704329);color:#fff7ec;overflow:auto}.brand-card{padding:17px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 40px rgba(0,0,0,.16)}.brand{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.logo-mark{width:88px;aspect-ratio:1024/913;height:auto;border-radius:18px;background:#0b2571;display:grid;place-items:center;color:#f7d65a;font-weight:950;font-size:.9rem;line-height:.95;overflow:hidden;border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 26px rgba(0,0,0,.18);margin:0 auto}.logo-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand h1{font-size:1.08rem;line-height:1.2;margin:0 0 4px}.brand p{font-size:.76rem;line-height:1.3;margin:0;color:rgba(255,247,236,.78);font-style:italic}
    nav{margin-top:18px;display:grid;gap:8px}.nav-btn{border:0;background:transparent;color:rgba(255,247,236,.84);padding:12px 14px;border-radius:16px;text-align:left;font-weight:850;cursor:pointer;display:flex;align-items:center;gap:10px;transition:.18s}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.13);color:#fff;transform:translateX(3px)}.side-note{margin-top:18px;padding:15px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,247,236,.78);font-size:.82rem;line-height:1.45}
    main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.title h2{font-size:clamp(1.55rem,2.4vw,2.48rem);line-height:1.08;margin:0 0 8px}.title p{margin:0;color:var(--muted);max-width:880px;line-height:1.5}.controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.control,.btn,input,select,textarea{font:inherit}.control,.btn,.input{border:1px solid var(--line);background:rgba(255,255,255,.78);color:var(--text);padding:10px 12px;border-radius:14px;box-shadow:0 8px 22px rgba(70,49,34,.05)}body.dark .control,body.dark .btn,body.dark .input,body.dark input,body.dark select,body.dark textarea{background:#2f2824;color:var(--text);border-color:var(--line)}.btn{cursor:pointer;font-weight:850}.btn.primary{background:var(--brand);color:white;border-color:var(--brand)}.btn.small{padding:7px 10px;border-radius:11px;font-size:.82rem}.btn.active{background:var(--blue);color:white;border-color:var(--blue)}
    .section{display:none;animation:fade .2s ease}.section.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.two{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.overview-trend-health{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.two-even{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(255,250,242,.88);border:1px solid rgba(226,214,200,.88);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;min-width:0;backdrop-filter:blur(9px)}body.dark .card{background:rgba(40,33,29,.9)}.white{background:rgba(255,255,255,.86)}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.head h3{margin:0;font-size:1.05rem}.head p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.4}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--brand3);color:#5a321f;font-size:.76rem;font-weight:950;white-space:nowrap}body.dark .pill{color:#ffe7d4}.kpi{position:relative;overflow:hidden;min-height:132px}.kpi:after{content:"";position:absolute;right:-38px;top:-38px;width:110px;height:110px;border-radius:999px;background:rgba(200,134,76,.18)}.kpi-label{color:var(--muted);font-size:.78rem;font-weight:950;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:1.55rem;font-weight:950;letter-spacing:-.03em;margin-bottom:7px}.kpi-sub{color:var(--muted);font-size:.84rem;line-height:1.35}.delta,.status{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:.73rem;font-weight:950;white-space:nowrap}.good{background:rgba(19,118,74,.12);color:var(--green)}.warn{background:rgba(162,97,0,.12);color:var(--orange)}.bad{background:rgba(179,52,43,.12);color:var(--red)}.neutral{background:rgba(49,95,115,.12);color:var(--blue)}
    .chart{width:100%;max-width:100%;min-height:250px;overflow:hidden;padding:0 2px}.chart svg{width:100%;max-width:100%;height:260px;overflow:hidden;display:block}.legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.82rem;margin-top:8px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.dot.brand{background:var(--brand)}.dot.blue{background:var(--blue)}.dot.orange{background:var(--brand2)}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.traffic-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}.traffic-green{background:var(--green)}.traffic-amber{background:var(--orange)}.traffic-red{background:var(--red)}.workload-note{font-size:.78rem;color:var(--muted);margin-top:6px;line-height:1.35}
    table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:hover td{background:rgba(239,216,191,.16)}.table-wrap{overflow:auto}.edit-input,.edit-select,.edit-text{width:100%;border:1px solid var(--line);border-radius:10px;padding:7px 8px;background:#fff;color:var(--text);min-width:90px}.edit-text{min-height:42px}.edit-input:disabled,.edit-select:disabled,.edit-text:disabled{background:rgba(117,103,92,.08);color:var(--muted);cursor:not-allowed}.edit-mode .editable-zone{outline:2px dashed rgba(49,95,115,.35);outline-offset:5px}.muted{color:var(--muted)}.search-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.search-row input,.search-row select{flex:1;min-width:200px}.bar-bg{height:12px;background:rgba(117,103,92,.16);border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand2))}.bar-fill.blue{background:linear-gradient(90deg,var(--blue),var(--brand2))}.score-line{display:grid;grid-template-columns:155px 1fr 60px;gap:10px;align-items:center;font-size:.88rem;margin:11px 0}.metric-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 0;font-size:.9rem}.metric-row:last-child{border-bottom:0}.metric-row span:first-child{color:var(--muted)}.metric-row span:last-child{font-weight:950;text-align:right}.ai-box{background:linear-gradient(135deg,rgba(135,80,47,.96),rgba(49,95,115,.92));color:white;border:0}.ai-box p,.ai-box .muted{color:rgba(255,255,255,.78)}.ai-box .pill{background:rgba(255,255,255,.16);color:white}.insights{display:grid;gap:10px;margin:0;padding:0;list-style:none}.insights li,.rec{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:16px;padding:12px;line-height:1.45}.ai-box .insights li,.ai-box .rec{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16)}.rec-grid{display:grid;gap:11px}.follow-grid{display:flex;gap:4px;justify-content:center;min-width:76px}.tick{width:22px;height:22px;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.75);cursor:pointer;font-weight:950;font-size:.72rem;line-height:1;padding:0}.tick.on{background:var(--green);color:white;border-color:var(--green)}.tick:disabled{opacity:.45;cursor:not-allowed}.quote-note{border-left:5px solid var(--brand);padding:12px 14px;background:rgba(239,216,191,.28);border-radius:14px;margin-bottom:14px;line-height:1.45}.danger-zone{border:1px dashed rgba(179,52,43,.35);background:rgba(179,52,43,.05);border-radius:14px;padding:12px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tab{border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:850;color:var(--muted)}.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.panel{display:none}.panel.active{display:block}.toast{position:fixed;right:22px;bottom:22px;z-index:30;background:var(--text);color:var(--bg);padding:12px 14px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;font-weight:850}.toast.show{opacity:1;transform:none}.modal{position:fixed;inset:0;background:rgba(0,0,0,.48);display:none;z-index:50;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal-card{background:var(--card);color:var(--text);border-radius:18px;max-width:720px;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.35);padding:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.receipt{width:148mm;min-height:210mm;background:white;color:#241710;margin:0 auto;padding:13mm;border:1px solid #ddd;font-family:Arial,sans-serif}.receipt-head{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid #241710;padding-bottom:10px;margin-bottom:14px}.receipt-logo{width:70px;aspect-ratio:1024/913;height:auto;border-radius:12px;background:#0b2571;color:white;display:grid;place-items:center;font-weight:900;overflow:hidden;border:1px solid #ddd}.receipt-logo img{width:100%;height:100%;object-fit:contain;display:block}.receipt h2{margin:0;font-size:18px}.receipt table{font-size:13px}.receipt td{border-bottom:1px solid #eee}.receipt .big{font-size:20px;font-weight:900}.a5-note{font-size:.82rem;color:var(--muted);line-height:1.4}.owner-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.owner-field{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:16px;padding:11px}.owner-field label{display:block;font-size:.72rem;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}.owner-field small{display:block;margin-top:6px;color:var(--muted);font-size:.77rem}.owner-wide{grid-column:1/-1}.target-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.chart-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.chart-toggle{border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900;cursor:pointer;color:var(--muted)}.chart-toggle.active{background:var(--brand);border-color:var(--brand);color:white}.money-format{text-align:right;font-variant-numeric:tabular-nums}.funnel-board{display:grid;gap:12px}.funnel-step{border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.66)}.funnel-step-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.funnel-step-head b{font-size:.95rem}.funnel-step-value{font-size:1.18rem;font-weight:950}.progress-track{height:10px;background:rgba(117,103,92,.15);border-radius:999px;overflow:hidden;margin-top:6px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--brand2));border-radius:inherit}.health-grid{display:grid;gap:12px;overflow:hidden}.health-grid svg{width:100%;max-width:100%;display:block;overflow:hidden}.health-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.65)}.color-meaning{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.color-key{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.58)}.key-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.key-green{background:var(--green)}.key-orange{background:var(--brand2)}.key-red{background:var(--red)}.health-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:.86rem}.health-top b{font-size:.95rem}.add-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.add-row .btn{flex:0 0 auto}.mini-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.footer{margin-top:18px;color:var(--muted);font-size:.82rem;line-height:1.45}

    /* Professional login gate - matches dashboard theme */
    body.locked{min-height:100vh;overflow:hidden}
    body.locked .app,body.locked #receiptModal{display:none!important}
    .login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);background:radial-gradient(circle at 8% 10%,rgba(200,134,76,.28),transparent 28%),radial-gradient(circle at 90% 12%,rgba(49,95,115,.20),transparent 34%),var(--bg);color:var(--text);position:relative;overflow:hidden}
    .login-shell:before{content:"";position:absolute;inset:auto -120px -160px auto;width:430px;height:430px;border-radius:999px;background:rgba(135,80,47,.10);filter:blur(1px)}
    .login-brand-panel{position:relative;padding:42px;display:flex;align-items:stretch;background:linear-gradient(160deg,#241710,#47291d 54%,#704329);color:#fff7ec;overflow:hidden}
    .login-brand-panel:after{content:"";position:absolute;right:-100px;top:-120px;width:360px;height:360px;border-radius:999px;background:rgba(255,255,255,.08)}
    .login-brand-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:28px;width:100%;max-width:560px;margin:0 auto}
    .login-mini-brand{display:flex;align-items:center;gap:14px}.login-logo{width:72px;aspect-ratio:1024/913;border-radius:18px;background:#0b2571;object-fit:contain;border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 30px rgba(0,0,0,.22)}
    .login-mini-brand b{display:block;font-size:1.02rem}.login-mini-brand span{display:block;margin-top:3px;color:rgba(255,247,236,.72);font-size:.82rem}
    .login-hero-copy h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;margin:0 0 16px;letter-spacing:-.05em}.login-hero-copy p{margin:0;color:rgba(255,247,236,.76);line-height:1.6;max-width:520px}.login-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.login-proof{padding:14px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}.login-proof strong{display:block;font-size:1.25rem}.login-proof span{display:block;color:rgba(255,247,236,.72);font-size:.78rem;margin-top:4px;line-height:1.35}
    .login-form-panel{position:relative;display:grid;place-items:center;padding:34px}.login-card{width:min(100%,460px);background:rgba(255,250,242,.90);border:1px solid rgba(226,214,200,.9);border-radius:28px;box-shadow:0 24px 70px rgba(55,36,22,.16);padding:28px;backdrop-filter:blur(12px)}body.dark .login-card{background:rgba(40,33,29,.92)}
    .login-card .pill{margin-bottom:14px}.login-card h2{font-size:1.7rem;line-height:1.1;margin:0 0 8px;letter-spacing:-.03em}.login-card p{margin:0;color:var(--muted);line-height:1.5}.login-fields{display:grid;gap:14px;margin-top:22px}.login-field label{display:block;font-size:.78rem;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.login-input-wrap{position:relative}.login-field input{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:rgba(255,255,255,.84);color:var(--text);box-shadow:0 8px 22px rgba(70,49,34,.05);outline:none}.login-field input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(200,134,76,.16)}.login-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--blue);font-weight:950;cursor:pointer;padding:8px}.login-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;color:var(--muted);font-size:.88rem}.login-row label{display:flex;align-items:center;gap:8px}.login-row a{color:var(--brand);font-weight:900;text-decoration:none}.login-submit{width:100%;margin-top:20px;padding:13px 16px;border-radius:16px;border:0;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;font-weight:950;cursor:pointer;box-shadow:0 14px 30px rgba(135,80,47,.20)}.login-submit:hover{transform:translateY(-1px)}.login-error{display:none;margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(179,52,43,.10);color:var(--red);font-weight:850;font-size:.88rem}.login-error.show{display:block}.login-demo-note{margin-top:18px!important;padding:12px;border-radius:16px;background:rgba(239,216,191,.30);border:1px solid var(--line);font-size:.84rem}.login-footer-note{margin-top:16px;color:var(--muted);font-size:.78rem;line-height:1.45;text-align:center}

    @media(max-width:1200px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.overview-trend-health,.two-even,.three{grid-template-columns:1fr}.owner-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.target-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:760px){main{padding:18px}.topbar{flex-direction:column}.controls{justify-content:flex-start}.control,.btn{flex:1;min-width:140px}.kpi-grid,.owner-strip,.target-mini-grid{grid-template-columns:1fr}nav{grid-template-columns:1fr}.score-line{grid-template-columns:1fr}table{font-size:.78rem}th,td{padding:8px 6px}.receipt{width:100%;min-height:auto}}

    @media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:44vh;padding:28px}.login-form-panel{padding:22px;margin-top:-52px;align-items:start}.login-card{border-radius:24px}.login-proof-grid{grid-template-columns:1fr 1fr 1fr}.login-hero-copy h1{font-size:2.15rem}}
    @media(max-width:560px){.login-brand-panel{padding:22px}.login-proof-grid{grid-template-columns:1fr}.login-form-panel{padding:16px;margin-top:-36px}.login-card{padding:22px}.login-row{align-items:flex-start;flex-direction:column}.login-mini-brand{align-items:flex-start}.login-logo{width:62px}}

    @media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.modal{display:block;position:static;background:white;padding:0}.modal-card{box-shadow:none;padding:0;max-width:none}.modal-actions,.a5-note{display:none}.receipt{position:absolute;left:0;top:0;border:0;width:148mm;min-height:210mm}@page{size:A5;margin:0}}
