:root{--purple:#5b2182;--purple2:#7b2cbf;--magenta:#c42dc8;--ink:#21162b;--navy:#211a36;--bg:#f6f4f8;--surface:#fff;--line:#e7e0eb;--muted:#736b79;--green:#18864b;--amber:#b56a00;--red:#c12d42;--blue:#2867c7;--shadow:0 8px 28px rgba(52,28,72,.08)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:var(--purple);text-decoration:none}button,input,select,textarea{font:inherit}.login-body{min-height:100vh;background:radial-gradient(circle at 20% 15%,#9e41c8 0,transparent 30%),linear-gradient(135deg,#22142e,#51206e 55%,#792a95);display:grid;place-items:center;padding:28px}.login-shell{width:min(980px,96vw);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(255,255,255,.98);border-radius:22px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.3)}.login-hero{background:linear-gradient(155deg,#23132e,#562273 60%,#8a32a2);padding:54px;display:flex;flex-direction:column;justify-content:space-between;min-height:610px;color:white}.login-logo{width:240px;max-width:100%}.login-hero h2{font-size:40px;line-height:1.05;margin:30px 0 12px}.login-hero p{color:rgba(255,255,255,.82);font-size:16px;line-height:1.55}.login-card{padding:54px;display:flex;flex-direction:column;justify-content:center}.login-card h1{font-size:30px;margin:0 0 8px}.login-card label,.form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#4c4253;margin-bottom:15px}.login-card input,.form input,.form select,.form textarea,.form .rich-editor{width:100%;border:1px solid #d0c6d6;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);outline:none}.login-card input:focus,.form input:focus,.form select:focus,.form textarea:focus,.form .rich-editor:focus{border-color:var(--purple2);box-shadow:0 0 0 3px rgba(123,44,191,.1)}.primary,button.primary,.button{border:0;background:linear-gradient(100deg,var(--purple),var(--purple2));color:#fff;font-weight:800;padding:11px 16px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary:hover,.button:hover{filter:brightness(1.06);color:white}.secondary{border:1px solid var(--line);background:white;color:var(--ink);font-weight:700;padding:10px 14px;border-radius:9px;cursor:pointer}.danger{background:var(--red)!important}.small{padding:6px 9px;font-size:12px}.muted{color:var(--muted)}.note{font-size:12px;color:var(--muted);line-height:1.4}.error,.flash.error{background:#fff0f2;color:#8b2032;border:1px solid #f0c5cd}.success,.flash.success{background:#eef9f2;color:#17623a;border:1px solid #c8e8d2}.warning,.flash.warning{background:#fff8e9;color:#815000;border:1px solid #f1dba4}.error,.flash{padding:11px 13px;border-radius:9px;margin:12px 0}.topbar{height:68px;background:linear-gradient(100deg,#20152a,#5c207f);display:flex;align-items:center;justify-content:space-between;color:#fff;padding:0 22px;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:14px}.brand img{height:30px;width:auto}.brand-title{font-weight:750;letter-spacing:.01em}.top-actions{display:flex;align-items:center;gap:10px}.top-actions select{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.26);border-radius:7px;padding:6px 8px}.top-actions select option{color:#222}.user-menu{font-size:13px}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 68px)}.nav{background:#fff;border-right:1px solid var(--line);padding:16px 11px;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto}.nav-section{font-size:10px;text-transform:uppercase;color:#988e9d;font-weight:800;letter-spacing:.12em;padding:14px 12px 6px}.nav a{display:flex;gap:9px;align-items:center;color:#453a4c;border-radius:9px;padding:10px 11px;margin:2px 0}.nav a:hover,.nav a.active{background:#f3edf7;color:var(--purple);font-weight:750}.nav .ref-badge{margin-left:auto}.content{padding:26px 30px 60px;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h1,h1{margin:0 0 5px;font-size:27px;letter-spacing:-.02em}.page-head p{margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:16px 0}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.card{padding:17px}.panel{padding:19px;margin-bottom:17px}.card-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:800}.card-value{font-size:27px;font-weight:850;margin-top:7px;color:var(--purple)}.card-sub{font-size:12px;color:var(--muted);margin-top:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.chart{height:290px}.mini-chart{height:220px}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:end}.toolbar label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}.toolbar input,.toolbar select{padding:8px;border:1px solid var(--line);border-radius:8px;background:white}.table-wrap{overflow:auto;border-radius:11px;border:1px solid var(--line);background:white}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:10px 11px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5f5365;background:#f3eff5;position:sticky;top:0}tr:hover td{background:#fcfafd}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;background:#f0e8f6;color:var(--purple)}.pill.green{background:#eaf7ef;color:var(--green)}.pill.amber{background:#fff3da;color:var(--amber)}.pill.red{background:#ffedf0;color:var(--red)}.pill.grey{background:#eee;color:#666}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:17px;overflow:auto}.tab-btn{border:0;background:transparent;padding:10px 14px;font-weight:750;color:#6b6070;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tab-btn.active{color:var(--purple);border-bottom-color:var(--purple)}.tab-pane{display:none}.tab-pane.active{display:block}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:7px;border:1px solid #d0c6d6;border-bottom:0;border-radius:9px 9px 0 0;background:#f8f6f9}.rich-toolbar button{background:white;border:1px solid var(--line);border-radius:5px;color:#453a4c;padding:5px 8px;font-weight:700}.form .rich-editor{min-height:145px;border-radius:0 0 9px 9px;overflow:auto}.form .rich-editor.tall{min-height:230px}.form .field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ref-badge{border:0;background:#eee5f3;color:#6c2c8d;border-radius:5px;padding:2px 5px;font-size:9px;font-family:ui-monospace,monospace;cursor:pointer;margin-left:5px}.ref-toast{position:fixed;right:18px;bottom:18px;background:#20152a;color:#fff;padding:10px 14px;border-radius:8px;z-index:99;box-shadow:var(--shadow)}.db-meter{height:9px;border-radius:99px;background:#eee;overflow:hidden;margin-top:10px}.db-meter span{height:100%;display:block;background:linear-gradient(90deg,var(--green),#d8b22b,var(--red))}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;background:var(--green)}.sim-banner{background:linear-gradient(90deg,#3f1760,#a22da2);color:#fff;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-weight:750}.empty{text-align:center;padding:42px;color:var(--muted)}.kpi-change{font-size:12px;color:var(--green);font-weight:700}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}.progress{height:8px;background:#eee;border-radius:99px;overflow:hidden}.progress span{height:100%;display:block;background:var(--purple2)}.lang-link{color:#fff}.login-footer{font-size:11px;opacity:.7;margin-top:20px}.force-box{max-width:620px;margin:50px auto}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2eef4;padding:2px 5px;border-radius:4px}.urgent{border-left:5px solid var(--red)}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.form .field-row,.grid3{grid-template-columns:1fr 1fr}}@media(max-width:780px){.login-shell{grid-template-columns:1fr}.login-hero{min-height:240px;padding:30px}.login-hero h2{font-size:28px}.login-card{padding:32px}.shell{grid-template-columns:1fr}.nav{position:static;height:auto;display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.nav-section{display:none}.nav a{white-space:nowrap}.content{padding:18px}.grid2,.grid3,.form .field-row{grid-template-columns:1fr}.topbar{padding:0 14px}.brand-title{display:none}}@media(max-width:520px){.cards{grid-template-columns:1fr}.top-actions .user-menu{display:none}}

/* Product identity */
.product-name{display:flex;flex-direction:column;gap:.2rem;margin-top:1.5rem}.product-name strong{font-size:1rem;letter-spacing:.02em}.product-name span{font-size:2rem;font-weight:700;line-height:1.15}.brand-title{display:flex;flex-direction:column;line-height:1.05}.brand-title strong{font-size:.72rem;font-weight:600;opacity:.9}.brand-title small{font-size:1rem;font-weight:700;color:inherit}

/* v0.9.3 enterprise search, planning and governance refinements */
.tech-ref-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.tech-ref-toggle.on{background:rgba(255,255,255,.18);box-shadow:0 0 0 2px rgba(255,255,255,.08) inset}.autocomplete{position:relative;min-width:220px}.autocomplete-input{width:100%}.autocomplete-menu{display:none;position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 35px rgba(36,22,56,.18)}.autocomplete-menu.open{display:block}.autocomplete-option{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #eee;background:#fff;cursor:pointer}.autocomplete-option:hover,.autocomplete-option.active{background:#f6f0fb}.autocomplete-option strong{display:block;color:var(--text)}.autocomplete-option small{display:block;color:var(--muted);margin-top:2px}.field-hint{font-size:11px;color:var(--muted);margin-top:4px}.filters-wide{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr 1fr auto;gap:10px;align-items:end}.filter-actions{display:flex;gap:6px}.inline-edit{display:grid;grid-template-columns:135px 135px 95px auto;gap:6px;min-width:500px}.inline-edit input{min-width:0}.danger-text{color:#b42318}.success-text{color:#1c7c4a}.warning-box{background:#fff7e8;border:1px solid #f1c26b;border-radius:10px;padding:10px 12px;color:#63460c;font-size:12px;line-height:1.4}.edit-details summary{cursor:pointer;color:var(--primary);font-weight:700}.edit-details[open]{min-width:300px}.form.compact{margin-top:10px}.form.compact label{margin-bottom:8px}.year-picker{display:flex;gap:8px;align-items:end}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.empty{text-align:center;color:var(--muted);padding:24px}.table-wrap input[type=date],.table-wrap input[type=number]{padding:7px 8px;min-width:105px}
@media(max-width:1100px){.filters-wide{grid-template-columns:1fr 1fr}.inline-edit{grid-template-columns:1fr 1fr;min-width:340px}}
