@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#101d37;--blue:#2463eb;--ink:#192844;--muted:#788399;--line:#e6eaf1;--bg:#f5f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px 'DM Sans',system-ui,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}.sidebar{width:226px;background:var(--navy);position:fixed;inset:0 auto 0 0;color:#a6b3cb;padding:34px 20px;display:flex;flex-direction:column}.brand{font:800 29px 'Manrope',sans-serif;color:white;padding:0 12px;letter-spacing:-1.2px}.brand span{color:#6d9aff}.brand small{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:2.5px;color:#8d9ab4;margin:10px 0 38px}.nav-label{font-size:9px;letter-spacing:1.7px;margin:0 12px 14px;color:#75849f}nav a{padding:13px 15px;margin:5px 0;display:flex;align-items:center;gap:13px;border-radius:8px;font-size:17px}nav a span{font-size:13px}nav a.active{background:#263f70;color:#fff}nav i{margin-left:auto;font-style:normal;font-size:10px;background:#4565a3;border-radius:5px;padding:2px 6px}.side-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;padding:18px 8px 0;border-top:1px solid #ffffff18;color:white;font-size:12px}.side-bottom small{display:block;color:#8e9ab2;margin-top:4px;font-size:10px}.avatar{width:34px;height:34px;background:#304971;border:1px solid #4a638a;border-radius:50%;display:grid;place-items:center;font-size:11px}main{margin-left:226px}.top{height:74px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#667389;font-size:12px}.top b{margin:0 14px;color:#c1c8d5;font-weight:400}.version{font-size:10px;background:#f5f7fb;padding:8px 11px;border:1px solid var(--line);border-radius:6px}.version i{display:inline-block;background:#4c82f3;border-radius:50%;width:5px;height:5px;margin-right:5px}#app{padding:35px 38px 10px;max-width:1600px;margin:auto}.title-row{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:27px}.eyebrow{text-transform:uppercase;letter-spacing:1.9px;font-size:9px;color:var(--blue);font-weight:700;margin:0 0 9px}h1{font:750 29px 'Manrope',sans-serif;letter-spacing:-1px;margin:0 0 8px}h2{font:700 15px 'Manrope',sans-serif;margin:0 0 5px;letter-spacing:-.2px}h3{font:700 13px 'Manrope',sans-serif;margin:0 0 5px}p{line-height:1.6}.subtitle{color:var(--muted);font-size:12px;margin:0}.btn{border:1px solid #dce2ed;background:white;color:var(--ink);padding:10px 15px;border-radius:7px;font-weight:600;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px}.btn:hover{background:#eef3fc}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#1853d1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.danger{color:#b43f42}.steps{display:flex;gap:0;margin-bottom:24px;max-width:560px}.step{display:flex;align-items:center;gap:8px;color:#77859a;font-size:11px;flex:1}.step:after{content:'';height:1px;background:#dce3ef;flex:1;margin:0 16px}.step:last-child:after{display:none}.step b{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;background:#e8effe;color:var(--blue);font-size:10px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:23px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;margin-bottom:20px;box-shadow:0 2px 3px #19284402}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:22px}.number{font-size:10px;color:#6580ac;border:1px solid #e0e7f2;background:#f5f8fd;padding:6px;border-radius:6px}.card-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}label{display:block;color:#526077;font-size:10px;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #dfe5ef;border-radius:6px;background:#fff;color:var(--ink);font-size:12px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #a9c4ff;border-color:var(--blue)}input::placeholder,textarea::placeholder{color:#a1aaba}textarea{resize:vertical;min-height:80px}.full{grid-column:1/-1}.sector-tabs{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap}.chip{border:1px solid #e0e6ef;background:white;color:#738095;border-radius:6px;padding:7px 10px;font-size:10px}.chip.selected{background:#eaf1ff;border-color:#b8ceff;color:#245fd7}.modules{display:grid;grid-template-columns:1fr 1fr;gap:11px}.module{border:1px solid var(--line);border-radius:8px;padding:15px;display:flex;gap:10px;cursor:pointer;position:relative;text-align:left;background:white;align-items:flex-start;color:var(--ink)}.module.selected{border-color:#91b3ff;background:#f5f8ff}.module:hover{border-color:#a8c3f8}.check{display:grid;place-items:center;flex-shrink:0;width:16px;height:16px;border:1px solid #d0d8e6;border-radius:4px;color:transparent;font-size:10px;margin-top:1px}.selected .check{background:var(--blue);border-color:var(--blue);color:white}.module p{font-size:10px;color:#7c889c;margin:6px 0 12px;line-height:1.6}.module strong{font-size:10px;color:#6d7f9a;font-weight:500}.summary{position:sticky;top:20px;padding:22px}.summary-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.badge{font-size:9px;background:#f3f5f9;color:#7b8699;padding:5px 8px;border-radius:5px;white-space:nowrap}.badge.blue{background:#edf3ff;color:#386dd5}.summary .intro{font-size:10px;color:#8b96a8;margin-bottom:16px}.line-item{display:flex;gap:12px;justify-content:space-between;font-size:11px;padding:10px 0;line-height:1.5}.line-item span:first-child{flex:1}.line-item small{display:block;color:#8c97a8;font-size:9px}.totals{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.total{display:flex;justify-content:space-between;margin:11px 0;font-size:11px}.total strong{font:750 19px 'Manrope',sans-serif}.total.month{padding:15px;background:#f1f5fe;border-radius:7px;color:#245ed4;align-items:center;margin:15px -3px}.notice{border:1px solid #e3eaf7;background:#f7f9fd;color:#6f7f98;border-radius:7px;font-size:10px;padding:11px 12px;line-height:1.65;margin:15px 0}.summary .btn{width:100%;margin-top:8px}.mini-paper{background:#fafbfd;border:1px solid var(--line);border-radius:6px;padding:17px;margin-top:19px;font-size:9px;color:#7c8aa0}.mini-paper b{font:800 14px 'Manrope';color:#273e64}.paper-line{height:3px;background:#e1e7f0;margin-top:8px;width:80%}.actions{display:flex;gap:8px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.metric{background:white;padding:23px;border:1px solid var(--line);border-radius:10px}.metric small{color:#7c879a;font-size:11px}.metric strong{display:block;margin-top:14px;font:750 28px 'Manrope'}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#8c97a8;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:16px 10px;border-bottom:1px solid #eef1f6}td .btn{padding:7px 10px;min-height:30px}td input{min-width:90px;margin:0}.empty{text-align:center;padding:40px 15px;color:#8b96a8}.empty strong{display:block;color:#435777;font:700 16px 'Manrope';margin-bottom:8px}.search{max-width:280px;margin:0 0 15px}footer{max-width:1600px;margin:auto;padding:22px 38px;color:#9aa4b5;font-size:9px;display:flex;justify-content:space-between;gap:10px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#183354;color:white;padding:13px 20px;border-radius:9px;font-size:12px;box-shadow:0 6px 30px #13244020;display:none;z-index:20}#print-area{display:none}.muted{color:var(--muted)}.catalog-desc{max-width:330px;line-height:1.5}.catalog-note{font-size:11px;color:#7c899f;line-height:1.7}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .card{margin:0}.caption{font-size:10px;color:#8b96aa;margin-top:7px;line-height:1.6}
@media(min-width:1500px){.layout{grid-template-columns:minmax(0,1fr) 355px}.card{padding:28px}.module{padding:20px}}
@media(max-width:1150px){.sidebar{width:190px;padding:30px 13px}main{margin-left:190px}.top{padding:0 24px}#app{padding:25px 24px}.layout{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.card{padding:18px}.modules{grid-template-columns:1fr}footer{padding:20px 24px}}
@media(max-width:850px){.sidebar{width:70px;padding:23px 8px}.brand{font-size:13px;padding:0;letter-spacing:-.5px}.brand small,.nav-label,nav span,nav i,.side-bottom{display:none}nav{margin-top:28px}nav a{justify-content:center;padding:12px 8px}main{margin-left:70px}.layout{grid-template-columns:1fr}.summary{position:static}.modules{grid-template-columns:1fr 1fr}.mini-paper{display:none}.settings-grid{grid-template-columns:1fr}}
@media(max-width:520px){#app{padding:23px 15px}.top{height:60px;padding:0 15px;font-size:10px}.version{font-size:8px;padding:6px}.top b{margin:0 5px}.title-row{align-items:flex-start;gap:8px}h1{font-size:23px}.title-row .btn{font-size:10px;padding:8px}.fields,.modules{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:17px}.subtitle{font-size:11px}.steps{gap:3px}.step{font-size:9px}.step:after{margin:0 6px}.metrics{grid-template-columns:1fr}.metric{padding:16px}.metric strong{font-size:23px;margin-top:8px}footer{padding:18px 15px;display:block}footer span{display:block;margin-top:6px}}
@media print{@page{size:A4;margin:18mm}body{background:white;font:11px Arial,sans-serif}.sidebar,main,#toast{display:none!important}#print-area{display:block;color:#182b48}.pdf-head{display:flex;justify-content:space-between;border-bottom:3px solid #2463eb;padding-bottom:20px;margin-bottom:25px}.pdf-brand{font-size:28px;font-weight:800}.pdf-brand span{color:#2463eb}.pdf-kicker{font-size:9px;letter-spacing:2px;color:#7c899f;margin-top:5px}.pdf-title{font-size:25px;margin:0 0 8px}.pdf-client{background:#f4f7fc;padding:17px;margin:22px 0}.pdf-client p{margin:5px 0}.pdf-services td{padding:14px 7px;vertical-align:top}.pdf-services small{display:block;line-height:1.7;margin-top:5px;color:#6c7b91}.pdf-total{margin:20px 0 20px auto;width:270px}.pdf-total p{display:flex;justify-content:space-between}.pdf-terms{border-top:1px solid #dce3ef;padding-top:18px;line-height:1.8;white-space:pre-line}.pdf-footer{margin-top:35px;font-size:9px;color:#7b8ba2}.draft-watermark{font-size:12px;letter-spacing:2px;color:#9b6c17;margin:18px 0}tr{break-inside:avoid}}

/* Commercial workspace */
.advisor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.advisor-grid label{margin-top:16px}.consent{display:flex;gap:9px;align-items:flex-start;line-height:1.7}.consent input{width:16px;height:16px;min-width:16px;margin-top:3px}.sequence{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sequence .card{margin:0 0 5px}.pipeline-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:15px;overflow:auto;padding-bottom:20px}.pipeline-column{background:#edf1f7;padding:14px;border-radius:9px;min-height:260px}.pipeline-column h2{font-size:12px;display:flex;align-items:center;justify-content:space-between}.pipeline-card{background:#fff;border:1px solid #dfe5ef;padding:15px;border-radius:8px;margin-top:14px}.pipeline-card p{font-size:11px;color:#74819a}.pipeline-card strong{color:#2866db}.sidebar nav{overflow-y:auto}.sidebar{padding-top:25px}.brand small{margin-bottom:25px}nav a{padding:10px 13px}@media(max-width:1000px){.advisor-grid{grid-template-columns:1fr}.sequence{grid-template-columns:1fr}}

body:not(.app-ready) .sidebar,body:not(.app-ready) main{display:none}#auth-gate{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at top,#e5edff,#f5f7fb 70%)}.app-ready #auth-gate{display:none}.login-card{width:min(440px,100%);padding:38px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 65px #152c5e12}.login-brand{font:800 32px 'Manrope';color:#182d50;margin-bottom:20px}.login-brand span{color:#2463eb}.login-card h1{font-size:23px;margin:12px 0}.login-card label{margin-top:18px}.login-card .btn{margin-top:18px;width:100%}#auth-message{color:#a05225;font-size:12px;line-height:1.5}.top #logout{margin-left:auto;margin-right:12px} [hidden]{display:none!important}
