@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f5f7f6;--surface:#ffffff;--surface-2:#f9fbfa;--ink:#12211a;--muted:#6d7f76;
  --line:#dde5e0;--line-strong:#cbd8d1;--brand:#146c43;--brand-2:#0d5233;--brand-soft:#e9f6ef;
  --nav:#0e261b;--nav-2:#153426;--success:#14804f;--danger:#b44343;--warning:#b47b19;--blue:#3567a7;
  --shadow:0 14px 40px rgba(18,44,31,.08);--shadow-lg:0 30px 80px rgba(10,38,24,.16);
  --radius:14px;--radius-sm:9px;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;font-family:'Manrope',Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
code,pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}

/* App shell */
.app{display:flex;min-height:100vh}
.sidebar{width:264px;background:linear-gradient(180deg,var(--nav) 0%,#102b1e 100%);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 16px 18px;box-shadow:12px 0 34px rgba(12,35,25,.08);z-index:30}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brandmark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#ebfff4,#ccefdc);color:#0c603b;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:.5px;box-shadow:inset 0 0 0 1px rgba(20,108,67,.1);flex:0 0 auto}
.brand strong{display:block;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand span{display:block;color:#91ad9f;font-size:10px;margin-top:4px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.sidebar nav{margin-top:32px;display:grid;gap:5px}
.sidebar nav a{color:#b8c9c0;text-decoration:none;padding:11px 12px;border-radius:10px;display:flex;gap:11px;align-items:center;font-weight:650;transition:.18s ease;border:1px solid transparent}
.sidebar nav a:hover{background:#173a2a;color:#fff;transform:translateX(2px)}
.sidebar nav a.active{background:linear-gradient(90deg,#1d4a35,#1a3f2f);border-color:#2b5944;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.11)}
.sidebar nav a span{width:19px;text-align:center;color:#9fbeaF;font-size:15px}
.sidebar nav a.active span{color:#b9f0d0}
.sidefoot{margin-top:auto;border-top:1px solid #29483a;padding:16px 4px 0}
.user strong,.user span{display:block}.user strong{font-size:12px}.user span{color:#8fa99a;font-size:10px;margin-top:4px;word-break:break-all}
.linkbtn{border:0;background:none;color:#c9ded2;padding:10px 0 0;cursor:pointer;font-weight:700;font-size:11px}.linkbtn:hover{color:#fff}
.main{margin-left:264px;width:calc(100% - 264px);min-height:100vh}
.topbar{height:88px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}
.topbar h1{font-size:22px;line-height:1.2;margin:4px 0 0;letter-spacing:-.02em}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#6f8479;font-weight:800}
.statuschip{border:1px solid #d6e3db;background:#f5faf7;padding:8px 12px;border-radius:99px;font-size:11px;font-weight:800;color:#2c493b;box-shadow:0 2px 10px rgba(21,74,48,.04)}
.statuschip i{display:inline-block;width:8px;height:8px;background:#20a664;border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px #e0f5e9;vertical-align:-1px}
.content{padding:28px;max-width:1640px;margin:auto}

/* Shared UI */
.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-weight:650}.alert.success{background:#e9f8ef;color:#17663f;border:1px solid #c7ead4}.alert.error{background:#fff0f0;color:#9b2c2c;border:1px solid #f1caca}
.hero{background:radial-gradient(circle at 92% 15%,rgba(122,204,156,.22),transparent 28%),linear-gradient(130deg,#133523,#255640);color:#fff;border-radius:18px;padding:30px 32px;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:0 16px 38px rgba(17,60,39,.15)}
.hero h2{font-size:28px;line-height:1.22;max-width:720px;margin:11px 0 12px;letter-spacing:-.025em}.hero p{color:#c8dacf;max-width:760px;margin:0;line-height:1.65}.heroactions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pill{font-size:9px;letter-spacing:1.35px;font-weight:800;background:var(--brand-soft);color:#17603d;padding:6px 9px;border-radius:99px;display:inline-flex;align-items:center;gap:5px}
.btn{border:1px solid var(--line-strong);background:#fff;color:#193629;text-decoration:none;border-radius:9px;padding:10px 14px;font-weight:750;cursor:pointer;font-family:inherit;transition:.16s ease;box-shadow:0 1px 2px rgba(22,54,39,.04)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,55,38,.08)}.btn.primary{background:linear-gradient(135deg,#197a4d,#11663f);border-color:#146c43;color:#fff}.btn.ghost{background:transparent}.btn.full{width:100%}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 19px;box-shadow:0 5px 16px rgba(22,50,37,.035)}.kpis span,.kpis small{display:block;color:#6c8177}.kpis span{font-size:11px;font-weight:750}.kpis strong{font-size:27px;display:block;margin:7px 0 5px;letter-spacing:-.035em}.kpis small{font-size:10px}.kpis.compact{margin-top:0}.kpis .smalltext{font-size:15px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;margin:16px 0;box-shadow:0 5px 18px rgba(18,47,33,.03)}.panel.narrow{max-width:850px}.panel h3{margin-top:0}.panelhead,.pageintro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panelhead h3,.pageintro h2{margin:0;letter-spacing:-.015em}.panelhead p,.pageintro p{color:#70837a;margin:5px 0 0;line-height:1.55}.panelhead a{color:#176642;text-decoration:none;font-weight:750}
.flow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px}.flow>div{min-width:110px}.flow b{background:#eaf6ef;color:#197247;border-radius:8px;width:27px;height:27px;display:grid;place-items:center;font-size:11px}.flow strong,.flow span{display:block;margin-top:7px}.flow strong{font-size:12px}.flow span{font-size:10px;color:#788a81}.flow i{color:#9aac9f}
.checklist{display:grid;grid-template-columns:30px 1fr;gap:15px 10px;margin-top:18px}.checklist>span{width:28px;height:28px;border-radius:8px;background:#edf7f1;color:#137247;display:grid;place-items:center;font-weight:800}.checklist strong,.checklist small{display:block}.checklist small{color:#7c8e85;margin-top:2px}
.tablewrap{overflow:auto;border:1px solid #e4ebe7;border-radius:10px;margin-top:14px}.tablewrap table{width:100%;border-collapse:collapse;white-space:nowrap;background:#fff}.tablewrap th{text-align:left;font-size:9px;letter-spacing:.65px;text-transform:uppercase;color:#6c7d74;background:#f7f9f8;font-weight:800}.tablewrap th,.tablewrap td{padding:12px 13px;border-bottom:1px solid #e7ece9}.tablewrap tbody tr:hover td{background:#fbfcfb}.tablewrap tr:last-child td{border-bottom:0}.tablewrap a{color:#166b43;text-decoration:none;font-weight:700}.empty{text-align:center!important;color:#819188;padding:30px!important}.sub{display:block;color:#829188;margin-top:3px;font-size:10px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.25px}.badge.green{background:#e6f7ed;color:#137044}.badge.red{background:#feeaea;color:#aa3535}.badge.blue{background:#eaf1fb;color:#325f9c}.badge.grey{background:#eef1ef;color:#69776f}.actions{display:flex;gap:6px}.actions form{display:inline}.tiny{border:1px solid #d7dfda;background:#fff;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:700;cursor:pointer}.tiny:hover{background:#f7faf8}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.formgrid label{font-weight:750;font-size:11px;color:#31483d}.formgrid input,.formgrid select,.formgrid textarea,.filters select{width:100%;margin-top:6px;border:1px solid #ccd7d1;border-radius:9px;padding:10px 11px;font-family:inherit;background:#fff;outline:none;transition:.15s ease}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.filters select:focus{border-color:#61a783;box-shadow:0 0 0 3px #e6f4ec}.formgrid textarea{min-height:95px;resize:vertical}.formgrid small{font-weight:400;color:#829188;display:block;margin-top:4px}.span2{grid-column:span 2}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0}.formgrid fieldset{border:1px solid #dde5e0;border-radius:10px;padding:14px}.scopegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.servicecard{border:1px solid #e0e7e3;border-radius:11px;padding:16px;background:linear-gradient(180deg,#fff,#fbfcfb)}.servicecard h3{margin:12px 0 8px}.servicecard p{color:#74867d;min-height:36px}.keybox{background:linear-gradient(135deg,#143326,#204b37);color:#fff;border-radius:12px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 0}.keybox span,.keybox code{display:block}.keybox span{font-size:9px;letter-spacing:1px;color:#a8c7b7;margin-bottom:6px}.keybox code{font-size:14px}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters label{min-width:180px;font-size:10px;font-weight:750;color:#455c51}
pre{background:#10231b;color:#dcece3;padding:14px;border-radius:9px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.65}.meta{display:grid;grid-template-columns:100px 1fr;gap:8px}.meta dt{color:#71847a}.meta dd{margin:0}.dochead{display:flex;justify-content:space-between;gap:15px;align-items:center}.dochead h3{display:inline;margin-left:8px}.note{border:1px solid #dfe8e3;background:#f8fbf9;border-radius:9px;padding:14px}.note strong,.note code{display:block}.note code{margin-top:7px}

/* Login */
.loginbody{background:
  radial-gradient(circle at 14% 15%,rgba(49,139,91,.13),transparent 25%),
  radial-gradient(circle at 86% 82%,rgba(19,104,65,.1),transparent 27%),
  #edf3ef;min-height:100vh;display:grid;place-items:center;padding:34px;position:relative;overflow-x:hidden}
.loginbody:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(26,76,50,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(26,76,50,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 80%)}
.loginwrap{width:min(1080px,100%);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border:1px solid rgba(35,79,57,.1);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);position:relative;z-index:1}
.loginhero{background:
  radial-gradient(circle at 85% 12%,rgba(133,216,170,.19),transparent 28%),
  linear-gradient(145deg,#102d20 0%,#153a29 58%,#1d4b35 100%);color:#fff;padding:48px 50px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.loginhero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(191,238,210,.14);border-radius:50%;right:-125px;bottom:-115px;box-shadow:0 0 0 54px rgba(191,238,210,.025),0 0 0 108px rgba(191,238,210,.018)}
.loginhero .brand{position:relative;z-index:2}.brand.big .brandmark{width:46px;height:46px;border-radius:13px}.brand.big strong{font-size:16px}.brand.big span{color:#a9c6b7}
.hero-copy{margin:auto 0;position:relative;z-index:2}.loginhero h1{font-size:38px;line-height:1.1;letter-spacing:-.035em;margin:50px 0 17px;max-width:510px}.loginhero>p,.hero-copy>p{color:#bfd2c8;line-height:1.75;max-width:520px;margin:0 0 26px;font-size:14px}
.featurestack{position:relative;z-index:2;margin-top:8px}.featureline{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;border-top:1px solid rgba(191,220,205,.14);padding:14px 0}.featureline b{color:#9cddb8;font-size:11px;letter-spacing:.08em}.featureline span{color:#e3eee8;font-size:12px;font-weight:600}
.loginmeta{position:relative;z-index:2;margin-top:auto;display:flex;align-items:center;gap:8px;color:#86ab98;font-size:10px;font-weight:700;letter-spacing:.04em}.loginmeta i{width:7px;height:7px;border-radius:50%;background:#55c884;box-shadow:0 0 0 4px rgba(85,200,132,.12)}
.logincard{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#fcfdfc)}
.logincard .pill{align-self:flex-start}.logincard h2{font-size:29px;line-height:1.2;margin:15px 0 7px;letter-spacing:-.03em}.logincard .intro{color:#71837a;margin:0;line-height:1.6}.logincard form{display:grid;gap:16px;margin:28px 0 20px}.logincard label{font-weight:750;font-size:11px;color:#334a3f}.logincard input{width:100%;height:46px;padding:0 13px;margin-top:7px;border:1px solid #cfdad4;border-radius:10px;background:#fff;outline:none;transition:.17s ease;font-size:13px}.logincard input:focus{border-color:#5ca27d;box-shadow:0 0 0 4px #e7f4ed}.logincard .btn.primary{height:46px;border-radius:10px;margin-top:2px;font-size:12px;letter-spacing:.01em}.loginhint{display:flex;align-items:flex-start;gap:9px;padding-top:18px;border-top:1px solid #e6ece8;color:#7a8b82;font-size:10px;line-height:1.55}.loginhint b{width:20px;height:20px;border-radius:6px;background:#eef6f1;color:#317050;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.versiontag{display:inline-flex;margin-left:auto;color:#91a49a;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:1050px){.sidebar{width:224px}.main{margin-left:224px;width:calc(100% - 224px)}.kpis,.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.flow{overflow:auto;padding-bottom:4px}.scopegrid{grid-template-columns:1fr 1fr}.loginwrap{min-height:570px}.loginhero{padding:42px}.loginhero h1{font-size:33px}.logincard{padding:45px 38px}}
@media(max-width:760px){.sidebar{display:none}.main{margin:0;width:100%}.content{padding:16px}.topbar{padding:0 16px;height:78px}.topbar h1{font-size:19px}.statuschip{display:none}.kpis,.cards,.formgrid,.loginwrap{grid-template-columns:1fr}.span2{grid-column:span 1}.hero,.pageintro{flex-direction:column}.heroactions{justify-content:flex-start}.loginbody{padding:18px}.loginwrap{min-height:auto;border-radius:18px}.loginhero{display:none}.logincard{padding:38px 26px;min-height:560px}.scopegrid{grid-template-columns:1fr}.tablewrap{margin-left:-4px;margin-right:-4px}}

/* Emerald Via v6 — fully light control-plane theme */
:root{
  --bg:#f6fafc;--surface:#ffffff;--surface-2:#fbfdfe;--ink:#20343d;--muted:#6f858f;
  --line:#dce8ed;--line-strong:#c8dae2;--brand:#5aa7b8;--brand-2:#438ea1;--brand-soft:#e9f6f9;
  --nav:#f7fcfe;--nav-2:#edf7fa;--success:#329871;--danger:#ba5660;--warning:#b88b42;--blue:#6288b5;
  --shadow:0 12px 34px rgba(57,101,118,.065);--shadow-lg:0 24px 64px rgba(57,101,118,.10)
}
html,body{background:#f6fafc!important;color:var(--ink)!important}
.sidebar{background:linear-gradient(180deg,#ffffff 0%,#f1f9fb 100%)!important;color:var(--ink)!important;border-right:1px solid #dbe8ed!important;box-shadow:6px 0 24px rgba(58,100,116,.045)!important}
.brand strong{color:#28454f!important}.brand span{color:#7b959f!important}
.brandmark{background:linear-gradient(145deg,#eaf7fa,#d9eef4)!important;color:#3f899a!important;box-shadow:inset 0 0 0 1px #c8e2e9!important}
.sidebar nav a{color:#607b85!important}.sidebar nav a:hover{background:#eaf5f8!important;color:#367d90!important}
.sidebar nav a.active{background:#dff0f4!important;border-color:#c7e2e9!important;color:#327487!important;box-shadow:none!important}
.sidebar nav a span,.sidebar nav a.active span{color:#58a0b0!important}
.sidefoot{border-top-color:#d5e5ea!important}.user strong{color:#35515b!important}.user span{color:#8099a2!important}.linkbtn{color:#527984!important}.linkbtn:hover{color:#2f7183!important}
.main{background:#f6fafc!important}.topbar{background:rgba(255,255,255,.96)!important;border-bottom-color:#dce8ed!important}.eyebrow{color:#6d939e!important}
.statuschip{background:#f3faf8!important;border-color:#d4e9e1!important;color:#416c5c!important}
.content{background:#f6fafc!important}
.hero{background:linear-gradient(120deg,#eef8fb 0%,#f8fcfd 58%,#edf8f5 100%)!important;color:#24424d!important;border:1px solid #d5e8ed!important;box-shadow:0 12px 30px rgba(65,110,126,.06)!important}
.hero h2{color:#24424d!important}.hero p{color:#617b85!important}.hero .pill{background:#ffffff!important;color:#397f91!important;border:1px solid #d8e9ee!important}
.btn.primary{background:linear-gradient(135deg,#69b3c3,#4b99ab)!important;border-color:#4b99ab!important;color:#fff!important}.btn{color:#29434d!important;background:#fff!important;border-color:#cfdee4!important}.btn.primary:hover{box-shadow:0 8px 18px rgba(74,149,167,.18)!important}
.kpis>div,.panel,.servicecard{background:#fff!important;border-color:#dce8ed!important;box-shadow:0 5px 16px rgba(57,101,118,.035)!important}
.kpis span,.kpis small,.panelhead p,.pageintro p{color:#758a93!important}
.tablewrap{border-color:#dde9ee!important}.tablewrap table{background:#fff!important}.tablewrap th{background:#f5fafc!important;color:#687f89!important}.tablewrap tbody tr:hover td{background:#f8fcfd!important}.tablewrap a{color:#438b9c!important}
.flow b,.checklist>span{background:#eaf6f9!important;color:#438b9c!important}
.keybox{background:linear-gradient(135deg,#e9f5f8,#dceff3)!important;color:#26444e!important;border:1px solid #cfe5eb!important}.keybox span{color:#688894!important}.keybox code{color:#24424d!important}
pre{background:#f1f7f9!important;color:#314e59!important;border:1px solid #d7e7ec!important}
.loginbody{background:radial-gradient(circle at 10% 10%,rgba(97,176,194,.10),transparent 28%),radial-gradient(circle at 88% 85%,rgba(87,169,139,.08),transparent 30%),#f6fbfc!important}
.loginhero{background:linear-gradient(145deg,#eef8fa 0%,#e7f5f7 55%,#eef8f5 100%)!important;color:#25434d!important;border-right:1px solid #d5e8ed!important}
.loginhero h1{color:#25434d!important}.loginhero>p,.hero-copy>p{color:#627e88!important}.featureline{border-top-color:#d5e7eb!important}.featureline b{color:#4c96a8!important}.featureline span{color:#45636d!important}.loginmeta{color:#72909a!important}
.logincard{background:#fff!important}.logincard input{border-color:#cedfe5!important}.logincard input:focus{border-color:#6eafbe!important;box-shadow:0 0 0 4px #e9f6f9!important}

/* Emerald Via v7 — balanced sage / teal theme */
:root{
  --bg:#f1f6f4;--surface:#ffffff;--surface-2:#f7faf8;--ink:#213832;--muted:#6b8179;
  --line:#d4e2dc;--line-strong:#bfd2ca;--brand:#2f8467;--brand-2:#236c54;--brand-soft:#dceee7;
  --nav:#dcebe5;--nav-2:#d2e5dd;--success:#25855e;--danger:#b95159;--warning:#ad7e34;--blue:#4d7fa2;
  --shadow:0 12px 34px rgba(40,80,64,.07);--shadow-lg:0 24px 64px rgba(35,76,59,.12)
}
html,body{background:#f1f6f4!important;color:var(--ink)!important}
.sidebar{background:linear-gradient(180deg,#dcebe5 0%,#d3e6de 100%)!important;color:#234038!important;border-right:1px solid #bfd4cb!important;box-shadow:8px 0 28px rgba(39,76,61,.07)!important}
.brand strong{color:#1d4738!important}.brand span{color:#5d7d70!important}
.brandmark{background:linear-gradient(145deg,#f5fffb,#c6e5d8)!important;color:#236b53!important;box-shadow:inset 0 0 0 1px #add2c2!important}
.sidebar nav a{color:#496c5e!important}.sidebar nav a:hover{background:rgba(255,255,255,.48)!important;color:#225f4b!important;transform:translateX(2px)}
.sidebar nav a.active{background:#ffffff!important;border-color:#b9d3c8!important;color:#1f684f!important;box-shadow:0 6px 18px rgba(36,86,65,.08)!important}
.sidebar nav a span{color:#5b8976!important}.sidebar nav a.active span{color:#2f8467!important}
.sidefoot{border-top-color:#bcd2c8!important}.user strong{color:#23483a!important}.user span{color:#68887b!important}.linkbtn{color:#3d6d5a!important}.linkbtn:hover{color:#1f604a!important}
.main,.content{background:#f1f6f4!important}
.topbar{background:rgba(250,253,251,.96)!important;border-bottom-color:#d3e0db!important}.eyebrow{color:#638678!important}
.statuschip{background:#edf7f2!important;border-color:#c9e1d6!important;color:#335f4e!important}
.hero{background:radial-gradient(circle at 90% 16%,rgba(255,255,255,.40),transparent 30%),linear-gradient(120deg,#d4e9e0 0%,#c6dfd5 55%,#d8ebe4 100%)!important;color:#1e4939!important;border:1px solid #b8d5ca!important;box-shadow:0 14px 32px rgba(44,91,71,.09)!important}
.hero h2{color:#1d4939!important}.hero p{color:#4f6f63!important}.hero .pill{background:rgba(255,255,255,.78)!important;color:#246c53!important;border:1px solid #b7d4c8!important}
.btn{background:#fff!important;color:#294b3e!important;border-color:#c5d7cf!important}.btn.primary{background:linear-gradient(135deg,#3d9475,#28795e)!important;border-color:#28795e!important;color:#fff!important}.btn.primary:hover{box-shadow:0 8px 20px rgba(42,126,95,.20)!important}
.kpis>div,.panel,.servicecard{background:#fff!important;border-color:#d3e0db!important;box-shadow:0 5px 18px rgba(39,78,62,.045)!important}
.kpis span,.kpis small,.panelhead p,.pageintro p{color:#6c8279!important}
.tablewrap{border-color:#d5e2dc!important}.tablewrap table{background:#fff!important}.tablewrap th{background:#edf4f1!important;color:#60786e!important}.tablewrap tbody tr:hover td{background:#f5f9f7!important}.tablewrap a{color:#2d7e62!important}
.flow b,.checklist>span{background:#dceee7!important;color:#2b7d60!important}.pill{background:#dceee7!important;color:#286f57!important}
.keybox{background:linear-gradient(135deg,#d3e9df,#c3ded2)!important;color:#244d3e!important;border:1px solid #b2d2c3!important}.keybox span{color:#5c7b6e!important}.keybox code{color:#1f4638!important}
pre{background:#e7f0ec!important;color:#2d4f42!important;border:1px solid #cbded5!important}
.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.filters select:focus{border-color:#5fa98b!important;box-shadow:0 0 0 3px #e0f0e9!important}
.loginbody{background:radial-gradient(circle at 10% 10%,rgba(62,141,109,.12),transparent 28%),radial-gradient(circle at 88% 85%,rgba(92,160,132,.10),transparent 30%),#edf5f1!important}
.loginhero{background:linear-gradient(145deg,#d3e9df 0%,#c5e0d5 55%,#dcece5 100%)!important;color:#224b3b!important;border-right:1px solid #b9d4c8!important}
.loginhero h1{color:#21493a!important}.loginhero>p,.hero-copy>p{color:#557468!important}.featureline{border-top-color:#b9d3c8!important}.featureline b{color:#267357!important}.featureline span{color:#345f4f!important}.loginmeta{color:#5d8173!important}
.logincard{background:#fbfdfc!important}.logincard input{border-color:#c5d8cf!important}.logincard input:focus{border-color:#5fa98b!important;box-shadow:0 0 0 4px #e2f1ea!important}

/* Emerald Via v8 — Ekam indigo / violet / gold theme */
:root{
  --bg:#f4f6fa;--surface:#ffffff;--surface-2:#f8f9fc;--ink:#172b4d;--muted:#7483a1;
  --line:#dce3ed;--line-strong:#cbd5e3;--brand:#5652d9;--brand-2:#332f8d;--brand-soft:#eeedff;
  --nav:#302d80;--nav-2:#25236c;--success:#16855c;--danger:#ba4b5b;--warning:#f2b544;--blue:#5652d9;
  --accent:#f5b844;--accent-deep:#e4a630;
  --shadow:0 10px 30px rgba(44,49,115,.08);--shadow-lg:0 26px 64px rgba(39,39,102,.18)
}
html,body{background:var(--bg)!important;color:var(--ink)!important}
body{font-family:'Manrope',Arial,sans-serif!important}
.main,.content{background:var(--bg)!important}

/* Sidebar */
.sidebar{background:linear-gradient(180deg,#353286 0%,#2d2a78 58%,#29266f 100%)!important;color:#fff!important;border-right:0!important;box-shadow:8px 0 28px rgba(38,37,99,.11)!important}
.brandmark{background:#fff!important;color:#302d80!important;border-radius:14px!important;box-shadow:none!important;font-size:14px!important}
.brand strong{color:#fff!important;font-size:14px!important}.brand span{color:#c4c6ef!important;letter-spacing:.03em!important;text-transform:none!important}
.sidebar nav a{color:#d5d6f2!important;border:0!important;border-left:4px solid transparent!important;border-radius:11px!important;padding:12px 12px!important}
.sidebar nav a span{color:#d5d6f2!important}.sidebar nav a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;transform:none!important}
.sidebar nav a.active{background:linear-gradient(90deg,#4743b7,#5954d9)!important;border-left-color:var(--accent)!important;color:#fff!important;box-shadow:none!important}
.sidebar nav a.active span{color:#fff!important}
.sidefoot{border-top-color:rgba(255,255,255,.14)!important}.user strong{color:#fff!important}.user span{color:#bfc1ec!important}.linkbtn{color:#d6d7f3!important}.linkbtn:hover{color:#fff!important}

/* Top bar / general surfaces */
.topbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #dde4ee!important;box-shadow:0 2px 10px rgba(34,43,87,.025)!important}
.eyebrow{color:#6f77a3!important}.topbar h1{color:#172b4d!important}
.statuschip{background:#f7f7ff!important;border-color:#dfdef8!important;color:#343174!important}.statuschip i{background:#24a56d!important;box-shadow:0 0 0 4px #e2f5ec!important}
.alert.success{background:#ecf8f2!important;color:#176643!important;border-color:#cdebdc!important}.alert.error{background:#fff0f2!important;color:#9d3446!important;border-color:#f0cbd2!important}

/* Hero */
.hero{background:radial-gradient(circle at 83% 38%,rgba(137,130,255,.22),transparent 26%),linear-gradient(118deg,#34308e 0%,#4744bb 48%,#5a56dd 100%)!important;color:#fff!important;border:0!important;box-shadow:0 15px 34px rgba(61,57,157,.16)!important}
.hero h2{color:#fff!important}.hero p{color:#e2e3ff!important}.hero .pill{background:rgba(255,255,255,.13)!important;color:#fff!important;border:1px solid rgba(255,255,255,.20)!important}
.pill{background:#efefff!important;color:#4b47bb!important}
.btn{background:#fff!important;color:#4e49ca!important;border-color:#bbb9f1!important}.btn:hover{box-shadow:0 7px 18px rgba(66,61,171,.12)!important}
.btn.primary{background:linear-gradient(135deg,#5b56e0,#4c48cc)!important;border-color:#4c48cc!important;color:#fff!important}
.heroactions .btn.primary{background:linear-gradient(135deg,#f8c452,#f2b23a)!important;border-color:#efad32!important;color:#24224f!important;box-shadow:0 8px 20px rgba(225,161,37,.20)!important}
.heroactions .btn:not(.primary){background:#fff!important;color:#302d80!important;border-color:#fff!important}

/* Cards, panels, tables */
.kpis>div,.panel,.servicecard{background:#fff!important;border-color:#dbe2ec!important;box-shadow:0 5px 18px rgba(43,48,99,.04)!important}
.kpis span,.kpis small,.panelhead p,.pageintro p{color:#7784a0!important}.kpis strong,.panel h3,.panelhead h3,.pageintro h2{color:#172b4d!important}
.panelhead a,.tablewrap a{color:#514dcf!important}
.flow b,.checklist>span{background:#ecebff!important;color:#514dce!important}.flow i{color:#9aa1c7!important}
.tablewrap{border-color:#dce3ed!important}.tablewrap table{background:#fff!important}.tablewrap th{background:#f5f6fb!important;color:#677493!important}.tablewrap th,.tablewrap td{border-bottom-color:#e5e9f0!important}.tablewrap tbody tr:hover td{background:#f9f9ff!important}
.badge.green{background:#e8f7ef!important;color:#16704d!important}.badge.red{background:#fdecee!important;color:#a83a4b!important}.badge.blue{background:#eeedff!important;color:#514dcc!important}.badge.grey{background:#f0f1f5!important;color:#687386!important}
.tiny{border-color:#d8deea!important;color:#4946bd!important}.tiny:hover{background:#f6f6ff!important}

/* Forms */
.formgrid label{color:#344563!important}.formgrid input,.formgrid select,.formgrid textarea,.filters select{border-color:#cfd7e5!important;background:#fff!important}
.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.filters select:focus{border-color:#6c67e3!important;box-shadow:0 0 0 3px #ecebff!important}
.formgrid small,.sub{color:#8490a9!important}.formgrid fieldset{border-color:#dce3ed!important}

/* Technical data */
.keybox{background:linear-gradient(135deg,#eeedff,#e4e3ff)!important;color:#2f2c79!important;border:1px solid #d3d1f7!important}.keybox span{color:#6d6ba0!important}.keybox code{color:#29266d!important}
pre{background:#27245f!important;color:#eff0ff!important;border:1px solid #36327a!important}
code{color:#4641b8}

/* Login */
.loginbody{background:radial-gradient(circle at 12% 10%,rgba(86,82,217,.15),transparent 27%),radial-gradient(circle at 88% 86%,rgba(245,184,68,.09),transparent 28%),#f4f6fb!important}
.loginwrap{border-color:#d9dfec!important;box-shadow:0 28px 80px rgba(42,43,105,.15)!important}
.loginhero{background:radial-gradient(circle at 86% 24%,rgba(119,112,255,.28),transparent 25%),linear-gradient(145deg,#312e83 0%,#403cad 54%,#5752d9 100%)!important;color:#fff!important;border-right:0!important}
.loginhero h1{color:#fff!important}.loginhero>p,.hero-copy>p{color:#dedfff!important}.loginhero .pill{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.loginhero .brandmark{background:#fff!important;color:#302d80!important}.loginhero .brand strong{color:#fff!important}.loginhero .brand span{color:#c8c9f2!important}
.featureline{border-top-color:rgba(255,255,255,.14)!important}.featureline b{color:#f7bc47!important}.featureline span{color:#f0f0ff!important}.loginmeta{color:#ced0f3!important}.loginmeta i{background:#f5b844!important}
.logincard{background:#fff!important}.logincard h2{color:#172b4d!important}.logincard .intro{color:#7784a0!important}.logincard label{color:#384968!important}.logincard input{border-color:#cfd7e5!important}.logincard input:focus{border-color:#6c67e3!important;box-shadow:0 0 0 4px #ecebff!important}.logincard .btn.primary{background:linear-gradient(135deg,#5b56df,#4d48cc)!important;border-color:#4d48cc!important;color:#fff!important}.loginhint{border-top-color:#e4e8f0!important;color:#7c879f!important}.loginhint b{background:#efefff!important;color:#514dcc!important}.versiontag{color:#888fb0!important}

/* Emerald Via v9 — accordion navigation, quick jump and standard table controls */
.nav-search-shell{position:relative;margin-top:22px;z-index:45}
.nav-search-shell>.nav-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#d3d4f3;font-size:15px;pointer-events:none}
.nav-search{width:100%;height:39px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:0 66px 0 34px;outline:none;font-size:11px;font-weight:600;transition:.18s ease}
.nav-search::placeholder{color:#c2c3e6}.nav-search:focus,.nav-search-shell.open .nav-search{background:#fff;color:#29266e;border-color:#fff;box-shadow:0 10px 26px rgba(17,17,69,.18)}
.nav-search:focus::placeholder,.nav-search-shell.open .nav-search::placeholder{color:#7d82aa}.nav-search-shell.open>.nav-search-icon{color:#5a56d8}
.nav-search-shell kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);color:#d6d7f3;border-radius:6px;padding:3px 6px;font:700 9px/1.2 Manrope,sans-serif;pointer-events:none}
.nav-search-shell.open kbd,.nav-search:focus~kbd{background:#efefff;border-color:#deddf8;color:#514dca}
.nav-search-results{position:absolute;left:0;right:0;top:47px;background:#fff;border:1px solid #dedff0;border-radius:11px;padding:6px;box-shadow:0 18px 44px rgba(27,28,89,.23);max-height:306px;overflow:auto}
.nav-result{width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;text-align:left;color:#344563;cursor:pointer}
.nav-result:hover,.nav-result.selected{background:#f0efff;color:#302d80}.nav-result span{color:#5a56d7;text-align:center}.nav-result b{font-size:11px}.nav-result small{font-size:10px;color:#9aa1bb}.nav-no-results{padding:14px 12px;color:#7c849f;font-size:11px;text-align:center}
.nav-scroll{margin:18px -3px 8px 0;overflow:auto;min-height:0;padding-right:3px}.nav-scroll::-webkit-scrollbar{width:5px}.nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px}
.sidebar nav.nav-accordion{margin-top:0!important;display:block!important}
.nav-section{border:0;margin:5px 0}
.nav-section>summary{list-style:none;cursor:pointer;color:#f4f5ff;border-radius:12px;padding:12px 12px;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;font-size:12px;font-weight:820;line-height:1.2;letter-spacing:.01em;transition:.15s ease;user-select:none;background:transparent;border:1px solid transparent}
.nav-section>summary::-webkit-details-marker{display:none}
.nav-section>summary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff}
.nav-section[open]>summary,.nav-section[data-active-section="1"]>summary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.nav-section-icon{width:20px;text-align:center;color:#d8d9f6;font-size:13px}
.nav-section-label{display:block}
.nav-chevron{font-size:12px;font-weight:800;color:#c0c3ee;transition:transform .16s ease}
.nav-section[open] .nav-chevron{transform:rotate(180deg)}
.nav-section-links{display:grid;gap:5px;margin:6px 0 10px;padding:4px 0 0 12px;border-left:1px solid rgba(255,255,255,.12)}
.sidebar .nav-section-links a{font-size:10px!important;padding:10px 11px!important;border-left:3px solid transparent!important;border-radius:10px!important;margin-left:0!important;color:#b9bce5!important;background:rgba(255,255,255,.02)!important}
.sidebar .nav-section-links a em{font-style:normal;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:720;letter-spacing:.005em}
.sidebar .nav-section-links a>span{width:18px!important;font-size:12px!important;color:#aeb2df!important}
.sidebar .nav-section-links a:hover{background:rgba(255,255,255,.06)!important;color:#ececff!important}
.sidebar .nav-section-links a:hover>span{color:#e2e3fb!important}
.sidebar .nav-section-links a.active{border-left-color:var(--accent)!important;background:linear-gradient(90deg,#4743b7,#5954d9)!important;color:#fff!important;box-shadow:0 10px 22px rgba(24,22,76,.20)!important}
.sidebar .nav-section-links a.active>span{color:#fff!important}
.sidefoot{flex:0 0 auto}.topbar-right{display:flex;align-items:center;gap:12px}.quick-jump{height:38px;border:1px solid #dce2ec;border-radius:10px;background:#f8f9fc;color:#626d8d;display:flex;align-items:center;gap:8px;padding:0 9px 0 11px;cursor:pointer;font-size:10px;font-weight:700}.quick-jump:hover{border-color:#c8c5f3;background:#f3f2ff;color:#4541b7}.quick-jump>span{font-size:14px}.quick-jump kbd{border:1px solid #d7d9e8;border-radius:6px;background:#fff;padding:3px 6px;color:#727997;font:700 9px/1 Manrope,sans-serif}

/* Standard table toolbars */
.standard-table-tools{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;margin-top:14px;padding:11px;border:1px solid #dde3ed;border-radius:11px 11px 0 0;background:#fbfbfe}
.standard-table-tools+.tablewrap{margin-top:0!important;border-radius:0 0 10px 10px!important;border-top:0!important}
.table-tools-main,.table-tools-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-tools-meta{justify-content:flex-end}
.table-search{height:36px;min-width:230px;max-width:340px;flex:1;display:flex;align-items:center;gap:7px;border:1px solid #cfd7e5;border-radius:9px;background:#fff;padding:0 10px}.table-search:focus-within{border-color:#6c67e3;box-shadow:0 0 0 3px #ecebff}.table-search>span{color:#716dd5;font-size:14px}.table-search input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;width:100%;font-size:11px;padding:0!important;margin:0!important;color:#26385a}.table-search input::placeholder{color:#929bb1}
.table-quick-filter{height:36px;display:flex;align-items:center;gap:6px;border:1px solid #d6dce8;border-radius:9px;background:#fff;padding:0 8px;font-size:9px;font-weight:800;color:#697493;text-transform:uppercase;letter-spacing:.35px}.table-quick-filter select{border:0;background:transparent;outline:none;font-size:10px;font-weight:700;color:#354566;max-width:130px}
.table-filter-btn,.table-reset{height:36px;border:1px solid #d6dce8;background:#fff;border-radius:9px;padding:0 11px;color:#4d4abd;font-size:10px;font-weight:750;cursor:pointer}.table-filter-btn:hover,.table-reset:hover,.standard-table-tools.filters-open .table-filter-btn{background:#efefff;border-color:#c8c5f1}.table-filter-btn span{margin-right:5px}.table-filter-btn b{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:99px;background:#5752d9;color:#fff;font-size:8px;margin-left:4px}.table-filter-btn b:empty{display:none}.table-reset{color:#7d849a}
.table-count{font-size:10px;color:#7b849c;font-weight:650;white-space:nowrap}.page-size{display:flex;align-items:center;gap:5px;color:#7d859d;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.25px}.page-size select{height:32px;border:1px solid #d5dce8;border-radius:8px;background:#fff;padding:0 24px 0 8px;color:#354565;font-size:10px;outline:none}
.pager{display:flex;align-items:center;border:1px solid #d6dce8;border-radius:8px;overflow:hidden;background:#fff}.pager button{width:30px;height:30px;border:0;background:#fff;color:#514dca;font-size:16px;cursor:pointer}.pager button:hover:not(:disabled){background:#efefff}.pager button:disabled{color:#bdc2cf;cursor:not-allowed}.pager span{min-width:48px;text-align:center;padding:0 7px;border-left:1px solid #e1e5ed;border-right:1px solid #e1e5ed;font-size:9px;font-weight:750;color:#65708d}
.table-filter-panel{grid-column:1/-1;border-top:1px solid #e4e7ef;padding-top:10px;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.table-filter-panel[hidden]{display:none}.table-filter-panel>label{min-width:150px;display:grid;gap:4px;color:#66708d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.table-filter-panel select,.custom-date input{height:34px;border:1px solid #d5dce8;border-radius:8px;background:#fff;padding:0 9px;outline:none;color:#344563;font-size:10px;text-transform:none;letter-spacing:0}.table-filter-panel select:focus,.custom-date input:focus{border-color:#6c67e3;box-shadow:0 0 0 3px #ecebff}.date-filter-block{min-width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-filter-block>span{font-size:9px;font-weight:800;color:#697493;text-transform:uppercase;letter-spacing:.3px}.date-pills{display:flex;gap:5px;flex-wrap:wrap}.date-pills button{border:1px solid #d9deea;background:#fff;color:#66718d;border-radius:99px;padding:6px 9px;font-size:9px;font-weight:700;cursor:pointer}.date-pills button:hover,.date-pills button.active{background:#5752d9;border-color:#5752d9;color:#fff}.custom-date{display:flex;gap:6px;margin-left:auto}.custom-date label{display:flex;align-items:center;gap:5px;color:#79819a;font-size:9px;font-weight:700}.custom-date input{width:132px}.no-extra-filters{font-size:10px;color:#8991a5;padding:3px}
.tablewrap th.sortable{padding-right:7px!important}.th-label{vertical-align:middle}.sort-trigger{margin-left:6px;width:23px;height:23px;border:1px solid #dce1ea;border-radius:6px;background:#fff;color:#8992aa;cursor:pointer;vertical-align:middle;padding:0;display:inline-grid;place-items:center}.sort-trigger:hover{background:#eeedff;color:#514dcc;border-color:#c8c5f1}.sort-trigger span{font-size:11px;line-height:1}.tablewrap th.sort-asc .sort-trigger,.tablewrap th.sort-desc .sort-trigger{background:#5752d9;border-color:#5752d9;color:#fff}.tablewrap th.sort-asc .sort-trigger span{font-size:0}.tablewrap th.sort-asc .sort-trigger span:after{content:'↑';font-size:11px}.tablewrap th.sort-desc .sort-trigger span{font-size:0}.tablewrap th.sort-desc .sort-trigger span:after{content:'↓';font-size:11px}

@media(max-width:1050px){.quick-jump{display:none}.standard-table-tools{grid-template-columns:1fr}.table-tools-meta{justify-content:flex-start}.table-search{max-width:none}.custom-date{margin-left:0}}

/* Emerald Via v12 — dedicated create pages */
.pageactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.create-form{display:grid;gap:12px;max-width:1120px}.create-section{background:#fff;border:1px solid #dbe2ec;border-radius:12px;box-shadow:0 5px 18px rgba(43,48,99,.035);overflow:hidden}.create-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:#fbfbfe;color:#27395a;transition:.16s ease}.create-section>summary::-webkit-details-marker{display:none}.create-section>summary:hover{background:#f5f4ff}.create-section>summary span{display:grid;gap:3px}.create-section>summary b{font-size:12px;color:#302d80}.create-section>summary small{font-size:10px;color:#7e89a5;font-weight:550}.create-section>summary i{font-style:normal;color:#625dd8;font-size:14px;transition:transform .16s ease}.create-section[open]>summary{background:#efefff;border-bottom:1px solid #dddff0}.create-section[open]>summary i{transform:rotate(180deg)}.create-section-body{padding:18px}.create-section-body.formgrid{margin:0}.create-actions{display:flex;justify-content:flex-end;gap:9px;padding:6px 0 2px}.create-actions .btn{min-width:120px}.field-note,.credential-note{border:1px solid #e0e4ee;border-radius:10px;background:#f8f9fc;padding:12px 13px;display:grid;gap:5px;color:#53627e}.field-note b,.credential-note b{color:#302d80;font-size:10px;text-transform:uppercase;letter-spacing:.3px}.field-note code{color:#514dcc}.field-note small,.credential-note p,.section-help{color:#7f89a2;font-size:10px;margin:0}.create-form button:disabled{opacity:.5;cursor:not-allowed}

/* Emerald Via v14 — users, roles & permissions */
.role-system-note{display:flex;gap:14px;align-items:flex-start;padding:4px}.role-system-note>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eeedff;color:#514dcc;font-weight:900}.role-system-note strong{display:block;color:#172b4d;margin-bottom:4px}.role-system-note p{margin:0;color:#7784a0;font-size:11px}
.permission-table-wrap{overflow-x:auto;border:1px solid #e0e5ee;border-radius:10px}.permission-matrix{width:100%;border-collapse:collapse;min-width:720px}.permission-matrix th{background:#f5f6fb;color:#687493;font-size:9px;text-transform:uppercase;letter-spacing:.45px;padding:11px;text-align:center}.permission-matrix th:first-child{text-align:left}.permission-matrix td{border-top:1px solid #e7eaf1;padding:12px;text-align:center;background:#fff}.permission-matrix td:first-child{text-align:left;min-width:320px}.permission-matrix td strong{display:block;color:#26385a;font-size:11px}.permission-matrix td small{display:block;color:#8590a8;font-size:9px;margin-top:3px;line-height:1.4}.perm-check{display:inline-flex;align-items:center;justify-content:center}.perm-check input{position:absolute;opacity:0;pointer-events:none}.perm-check span{width:22px;height:22px;border:1px solid #cfd6e4;border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer}.perm-check input:checked+span{background:#5752d9;border-color:#5752d9}.perm-check input:checked+span:after{content:'✓';color:#fff;font-size:12px;font-weight:900}.perm-check input:disabled+span{cursor:not-allowed;background:#7773de;border-color:#7773de;opacity:.82}.permission-form{margin-top:14px}


/* Emerald Via v15 — table-aware filtering */
.table-filter-panel>label input[type="search"]{height:34px;border:1px solid #d5dce8;border-radius:8px;background:#fff;padding:0 9px;outline:none;color:#344563;font-size:10px;text-transform:none;letter-spacing:0}
.table-filter-panel>label input[type="search"]:focus{border-color:#6c67e3;box-shadow:0 0 0 3px #ecebff}
.range-filter{min-width:270px;display:flex;align-items:flex-end;gap:7px;padding:8px 10px;border:1px solid #e0e4ed;border-radius:9px;background:#fff}
.range-filter>span{min-width:72px;align-self:center;font-size:9px;font-weight:800;color:#697493;text-transform:uppercase;letter-spacing:.3px}
.range-filter label{display:grid;gap:4px;color:#7a839d;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.25px}
.range-filter input{width:92px;height:32px;border:1px solid #d5dce8;border-radius:8px;background:#fff;padding:0 8px;outline:none;color:#344563;font-size:10px}
.range-filter input:focus{border-color:#6c67e3;box-shadow:0 0 0 3px #ecebff}
.date-filter-block{border:1px solid #e0e4ed;border-radius:9px;background:#fff;padding:9px 10px}
.date-filter-block>span{min-width:90px}
@media(max-width:760px){.range-filter{min-width:100%;flex-wrap:wrap}.range-filter>span{min-width:100%}.custom-date{width:100%;flex-wrap:wrap}.date-filter-block{width:100%}}

/* Emerald Via v16 — role creation permission matrix */
.permission-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 8px;padding:13px 15px;border:1px solid #dcdff2;border-radius:11px;background:linear-gradient(135deg,#fafaff,#f4f3ff)}
.permission-intro>div{display:grid;gap:3px}.permission-intro strong{font-size:12px;color:#26385a}.permission-intro span:not(.badge){font-size:10px;color:#7b859f}.perm-check.locked span{box-shadow:0 0 0 3px #efefff}.permission-matrix tr:first-child td{border-top:0}

/* Emerald Via v17 — portal settings & preferences */
.settings-form{max-width:1180px}.settings-form .create-section-body{background:#fff}.settings-form .formgrid label small{display:block;margin-top:5px;color:#8791a8}.settings-form input[readonly]{background:#f4f5f8;color:#687493;cursor:not-allowed}.settings-form textarea{resize:vertical}.login-notice{margin:0 0 14px;padding:11px 12px;border:1px solid #e3d59d;border-radius:9px;background:#fff9e8;color:#6f5a19;font-size:10px;line-height:1.5}.compact-tables .tablewrap th,.compact-tables .tablewrap td{padding-top:7px!important;padding-bottom:7px!important}.sticky-table-headers .tablewrap{max-height:72vh;overflow:auto}.sticky-table-headers .tablewrap thead th{position:sticky;top:0;z-index:4;box-shadow:0 1px 0 #dde3ed}


/* Emerald Via v20 — create/edit page typography and overflow safety */
.pageintro{align-items:flex-start!important;gap:18px!important;flex-wrap:wrap!important}
.pageintro>div{min-width:0;flex:1 1 520px}
.pageintro h2{font-size:20px!important;line-height:1.25!important;letter-spacing:-.01em!important;margin:0 0 7px!important;overflow-wrap:anywhere}
.pageintro p{font-size:12px!important;line-height:1.6!important;max-width:920px!important;margin:0!important;overflow-wrap:anywhere}
.pageintro>.btn,.pageintro>.pageactions{flex:0 0 auto;max-width:100%}

.create-form{gap:14px!important;max-width:1180px!important;width:100%!important;min-width:0}
.create-section{min-width:0!important;overflow:hidden!important}
.create-section>summary{min-width:0!important;padding:18px 20px!important;gap:16px!important;align-items:center!important}
.create-section>summary span{min-width:0!important;gap:4px!important}
.create-section>summary b{font-size:13px!important;line-height:1.35!important;font-weight:800!important;overflow-wrap:anywhere!important}
.create-section>summary small{font-size:11px!important;line-height:1.45!important;font-weight:560!important;overflow-wrap:anywhere!important}
.create-section>summary i{flex:0 0 auto!important;font-size:15px!important}
.create-section-body{padding:20px!important;min-width:0!important;overflow:hidden!important}
.create-section-body.formgrid{min-width:0!important}

.create-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.create-form .formgrid label{min-width:0!important;font-size:11px!important;line-height:1.4!important;font-weight:730!important;color:#344563!important}
.create-form .formgrid label small{font-size:10.5px!important;line-height:1.45!important;font-weight:520!important;overflow-wrap:anywhere!important}
.create-form .formgrid input,.create-form .formgrid select,.create-form .formgrid textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:12px!important;line-height:1.45!important;box-sizing:border-box!important}
.create-form .formgrid input,.create-form .formgrid select{min-height:42px!important;padding-top:9px!important;padding-bottom:9px!important}
.create-form .formgrid textarea{padding:11px 12px!important;resize:vertical!important}
.create-form .check{font-size:11px!important;line-height:1.45!important;min-width:0!important}
.create-form .check input{width:auto!important;min-height:auto!important;flex:0 0 auto!important}
.create-form .span2{grid-column:1/-1!important;min-width:0!important}

.field-note,.credential-note{padding:14px 15px!important;min-width:0!important;overflow:hidden!important}
.field-note b,.credential-note b{font-size:11px!important;line-height:1.35!important}
.field-note small,.credential-note p,.section-help{font-size:10.5px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
.field-note code,.credential-note code{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}

.scopegrid,.permission-table-wrap{min-width:0!important;max-width:100%!important;overflow:auto!important}
.permission-matrix{min-width:760px}
.create-actions{gap:10px!important;padding:8px 0 3px!important;flex-wrap:wrap!important}
.create-actions .btn{min-width:130px!important;font-size:11px!important;line-height:1.3!important;white-space:normal!important;text-align:center!important}

@media(max-width:900px){
  .pageintro{gap:12px!important}
  .pageintro>div{flex-basis:100%}
  .pageintro>.btn,.pageintro>.pageactions{width:100%!important;justify-content:flex-start!important}
  .create-form .formgrid{grid-template-columns:minmax(0,1fr)!important}
  .create-form .span2{grid-column:auto!important}
  .create-section>summary{padding:16px!important}
  .create-section-body{padding:16px!important}
}
@media(max-width:560px){
  .pageintro h2{font-size:18px!important}
  .pageintro p{font-size:11.5px!important}
  .create-section>summary b{font-size:12.5px!important}
  .create-section>summary small{font-size:10.5px!important}
  .create-form .formgrid input,.create-form .formgrid select,.create-form .formgrid textarea{font-size:11.5px!important}
  .create-actions{display:grid!important;grid-template-columns:1fr!important}
  .create-actions .btn{width:100%!important}
}

/* Emerald Via v21 — real-time duplicate validation */
.duplicate-feedback{display:block;margin-top:6px;min-height:16px;font-size:10px!important;line-height:1.45!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;color:#7c849d!important}
.duplicate-feedback.checking,.duplicate-feedback.pending{color:#7773c9!important}.duplicate-feedback.available{color:#16855c!important}.duplicate-feedback.duplicate,.duplicate-feedback.error{color:#b43f53!important}
.formgrid input.duplicate-invalid,.formgrid select.duplicate-invalid,.formgrid textarea.duplicate-invalid{border-color:#cf5c70!important;box-shadow:0 0 0 3px #fdecef!important;background:#fffafb!important}
.formgrid input.duplicate-valid,.formgrid select.duplicate-valid{border-color:#6fbd98!important;background:#fbfffd!important}
.formgrid input.duplicate-checking{border-color:#918de5!important}
.create-form[data-duplicate-blocked="1"] .create-actions .btn.primary{opacity:.55;cursor:not-allowed;box-shadow:none!important}

/* Emerald Via v23 — comprehensive API logs */
.api-log-pageintro .pageactions{display:flex;gap:8px;flex-wrap:wrap}.api-log-pageintro .btn{white-space:nowrap}
.api-log-control-card{margin:0 0 16px;border:1px solid #dfe4ee;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(32,42,72,.05);overflow:hidden}.api-log-control-card.is-on{border-color:#cfe6db}.api-log-control-card.is-off{border-color:#efd4d8}.api-log-control-summary{display:flex;align-items:center;gap:12px;padding:15px 17px}.api-log-control-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#efefff;color:#5752d9;font-weight:900}.api-log-control-summary>div:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.api-log-control-summary strong{font-size:13px;color:#26385a}.api-log-control-summary small{font-size:10px;color:#818ca4;line-height:1.45}.api-log-kicker{font-size:9px;font-weight:900;letter-spacing:.55px;color:#7d79c8}.api-log-control-details{border-top:1px solid #edf0f5}.api-log-control-details>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;cursor:pointer;color:#485777;font-size:10px;font-weight:800;background:#fafbfe}.api-log-control-details>summary::-webkit-details-marker{display:none}.api-log-control-details[open]>summary i{transform:rotate(180deg)}.api-log-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 17px 17px}.api-log-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e6e9f0;border-radius:10px;padding:11px 12px;background:#fff}.api-log-switch-row>span:first-child{display:grid;gap:3px}.api-log-switch-row strong{font-size:10.5px;color:#344563}.api-log-switch-row small{font-size:9px;color:#8790a6;line-height:1.4}.switch{position:relative;display:inline-flex;flex:0 0 auto}.switch input{position:absolute;opacity:0}.switch i{width:38px;height:22px;border-radius:999px;background:#d6dbe6;position:relative;transition:.18s}.switch i:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}.switch input:checked+i{background:#5b56d8}.switch input:checked+i:after{left:19px}.api-log-control-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:3px}
.api-log-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.api-log-kpis article{background:#fff;border:1px solid #e0e5ee;border-radius:12px;padding:14px 15px;box-shadow:0 5px 16px rgba(37,47,78,.04);display:grid;gap:4px}.api-log-kpis span{font-size:9px;font-weight:850;color:#77829b;text-transform:uppercase;letter-spacing:.35px}.api-log-kpis strong{font-size:21px;line-height:1.1;color:#26385a}.api-log-kpis strong em{font-size:10px;font-style:normal;color:#7b859c}.api-log-kpis small{font-size:9px;color:#929bad}
.api-log-panel{padding:0!important;overflow:hidden}.api-log-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e7eaf1}.api-log-panel-head h3{margin:3px 0 4px;font-size:15px;color:#26385a}.api-log-panel-head p{margin:0;font-size:10px;color:#7e89a1;line-height:1.5}.api-log-record-count{font-size:9px;font-weight:850;color:#5a6480;background:#f3f4f8;border:1px solid #e4e7ee;border-radius:999px;padding:6px 9px;white-space:nowrap}
.api-log-filters{display:grid;grid-template-columns:2fr repeat(6,minmax(125px,1fr));gap:9px;padding:13px 18px;background:#fafbfe;border-bottom:1px solid #e8ebf2;align-items:end}.api-log-filters label{display:grid;gap:4px;min-width:0}.api-log-filters label>span{font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.28px;color:#747f98}.api-log-filters input,.api-log-filters select{height:35px;border:1px solid #d6dce7;border-radius:8px;background:#fff;padding:0 9px;font-size:10px;color:#344563;min-width:0;outline:none}.api-log-filters input:focus,.api-log-filters select:focus{border-color:#7a75df;box-shadow:0 0 0 3px #ecebff}.api-log-search{grid-column:span 2}.api-log-filter-actions{display:flex;align-items:end}.api-log-filter-actions .btn{height:35px}
.api-log-tablewrap{overflow:auto;max-width:100%}.api-log-table{width:100%;min-width:1120px;border-collapse:collapse}.api-log-table th{padding:10px 12px;background:#f4f6fa;color:#66728f;font-size:8.5px;text-transform:uppercase;letter-spacing:.38px;text-align:left;border-bottom:1px solid #e1e5ed}.api-log-table td{padding:11px 12px;border-bottom:1px solid #edf0f4;background:#fff;color:#42506d;font-size:10px;vertical-align:middle}.api-log-row{cursor:pointer;outline:none}.api-log-row:hover td,.api-log-row:focus td{background:#fbfbff}.api-log-row.is-open td{background:#f8f8ff;border-bottom-color:#dddef3}.api-log-row td strong{display:block;color:#2f3f61;font-size:10.5px}.api-log-row td small{display:block;color:#8a94a9;font-size:8.5px;margin-top:2px}.api-log-row code{font-size:9px;color:#534fc2;background:#f2f1ff;border-radius:5px;padding:3px 5px;white-space:nowrap}.api-method{display:inline-flex;padding:3px 6px;border-radius:5px;background:#eef1f6;color:#465570;font-size:8.5px;font-weight:900;letter-spacing:.2px}.api-log-chevron{border:0;background:transparent;color:#7773ce;font-size:15px;cursor:pointer;transition:.18s}.api-log-row.is-open .api-log-chevron{transform:rotate(180deg)}.api-log-empty{text-align:center!important;padding:32px!important}.api-log-empty strong{display:block;color:#3d4b68;font-size:12px}.api-log-empty span{display:block;color:#8993a8;font-size:9.5px;margin-top:4px}
.api-log-detail-row>td{padding:0!important;background:#f9faff!important}.api-log-detail{padding:15px 17px 18px;display:grid;gap:12px;border-bottom:1px solid #dfe3ec}.api-log-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.api-log-meta-grid>div{border:1px solid #e3e7ef;background:#fff;border-radius:9px;padding:9px 10px;min-width:0}.api-log-meta-grid span{display:block;font-size:7.8px;color:#8590a7;font-weight:850;text-transform:uppercase;letter-spacing:.25px;margin-bottom:3px}.api-log-meta-grid strong,.api-log-meta-grid code{font-size:9.5px;color:#354563;overflow-wrap:anywhere}.api-log-url{display:flex;align-items:center;gap:8px;border:1px solid #dfe3ec;border-radius:9px;background:#fff;padding:8px 10px}.api-log-url>span{font-size:8px;font-weight:900;color:#fff;background:#5c57d7;border-radius:5px;padding:4px 6px}.api-log-url code{flex:1;font-size:9.5px;color:#4a5670;white-space:normal;overflow-wrap:anywhere}.api-log-url button,.api-log-code button{border:1px solid #d8ddea;background:#fff;border-radius:6px;padding:5px 7px;color:#5a6480;font-size:8.5px;cursor:pointer}.api-log-error{display:flex;gap:8px;align-items:flex-start;border:1px solid #f0cfd5;background:#fff7f8;border-radius:9px;padding:9px 10px;color:#a23c50;font-size:9.5px}.api-log-error strong{white-space:nowrap}.api-log-payload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.api-log-payload-grid details{border:1px solid #e1e5ed;border-radius:9px;background:#fff;overflow:hidden}.api-log-payload-grid details.span2{grid-column:1/-1}.api-log-payload-grid summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;cursor:pointer;background:#fff}.api-log-payload-grid summary::-webkit-details-marker{display:none}.api-log-payload-grid summary span{display:grid;gap:2px}.api-log-payload-grid summary strong{font-size:9.5px;color:#3a4968}.api-log-payload-grid summary small{font-size:8px;color:#8a94a9}.api-log-payload-grid details[open] summary{border-bottom:1px solid #e8ebf1;background:#fbfbfd}.api-log-payload-grid details[open] summary i{transform:rotate(180deg)}.api-log-code{position:relative;background:#121826}.api-log-code button{position:absolute;right:8px;top:8px;background:#1e293b;border-color:#334155;color:#dce5f6;z-index:2}.api-log-code pre{margin:0;padding:13px 12px;max-height:330px;overflow:auto;color:#d8e2f1;background:#121826;font-size:9px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.api-log-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-top:1px solid #e5e8ef;background:#fafbfc;color:#7b859d;font-size:9px}.api-log-footer>div{display:flex;align-items:center;gap:8px}.api-log-footer .btn{padding:7px 10px!important}.api-logs-dynamic{transition:opacity .15s}.api-logs-dynamic.is-loading{opacity:.55;pointer-events:none}
@media(max-width:1180px){.api-log-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.api-log-search{grid-column:span 2}.api-log-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.api-log-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.api-log-control-grid{grid-template-columns:1fr}.api-log-control-actions{grid-column:auto}.api-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.api-log-search{grid-column:1/-1}.api-log-payload-grid{grid-template-columns:1fr}.api-log-payload-grid details.span2{grid-column:auto}.api-log-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-log-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.api-log-kpis{grid-template-columns:1fr 1fr}.api-log-filters{grid-template-columns:1fr}.api-log-search{grid-column:auto}.api-log-meta-grid{grid-template-columns:1fr}.api-log-control-summary{align-items:flex-start}.api-log-control-summary>.badge{margin-left:auto}.api-log-url{align-items:flex-start;flex-wrap:wrap}.api-log-url code{flex-basis:100%;order:3}}


/* Emerald Via v24 — API log quick time presets */
.api-log-time-filter{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 0 1px}.api-log-time-label{font-size:8px;font-weight:900;color:#7e88a0;text-transform:uppercase;letter-spacing:.3px}.api-log-time-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.api-log-time-btn{height:31px;padding:0 11px;border:1px solid #d9deea;border-radius:8px;background:#fff;color:#59647c;font-size:9px;font-weight:800;cursor:pointer;transition:.15s ease}.api-log-time-btn:hover{border-color:#bbb8ef;background:#f8f7ff;color:#4f4bc9}.api-log-time-btn.active{background:#5b56d7;border-color:#5b56d7;color:#fff;box-shadow:0 5px 12px rgba(83,78,196,.16)}
@media(max-width:760px){.api-log-time-filter{align-items:flex-start;flex-direction:column}.api-log-time-presets{width:100%}.api-log-time-btn{flex:1 1 auto;min-width:90px}}

/* v25 categories + vendor detail */
.vendor-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:5px}.vendor-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line,#e4e7ec);border-radius:10px;background:#fff;text-decoration:none;color:inherit}.vendor-pill:hover{border-color:#7c5cff;box-shadow:0 2px 8px rgba(67,56,202,.08)}.vendor-pill span{font-weight:700}.vendor-pill small{opacity:.6}.detail-list{display:grid;gap:0}.detail-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid #edf0f5;align-items:start}.detail-list>div:last-child{border-bottom:0}.detail-list span{font-size:13px;color:#667085}.detail-list code{word-break:break-all}.category-detail strong{font-size:19px}.category-detail p{margin:7px 0 0;color:#667085;line-height:1.6}.vendor-detail-kpis strong{font-size:20px}

/* v29: row-driven category master and category vendor listing */
.clickable-row{cursor:pointer}.clickable-row:focus{outline:2px solid rgba(99,72,224,.35);outline-offset:-2px}.clickable-row:hover td{background:#fafbff!important}.status-toggle.badge{border:0;cursor:pointer;font-family:inherit}.status-toggle.badge:hover{box-shadow:0 0 0 3px rgba(99,72,224,.09)}.status-toggle.badge:disabled{opacity:.65;cursor:wait}.category-vendors-panel{margin-top:18px}.category-vendors-panel .sectionhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.category-vendors-panel .sectionhead h3{margin:0}.category-vendors-panel .sectionhead p{margin:4px 0 0;color:#7b859f}.btn.small{padding:8px 11px;font-size:11px}

/* v30: category availability lives in the page header instead of a form section. */
.category-header-actions{align-items:center!important}.category-availability-toggle{appearance:none;border:1px solid #d9dded;background:#fff;border-radius:12px;min-height:44px;padding:7px 12px;display:inline-flex;align-items:center;gap:9px;font:inherit;color:#27395a;cursor:pointer;box-shadow:0 3px 10px rgba(43,48,99,.035);transition:.16s ease}.category-availability-toggle:hover{border-color:#bfc1f3;background:#fbfbff}.category-availability-toggle:disabled{opacity:.65;cursor:wait}.category-availability-toggle input{position:absolute;opacity:0;pointer-events:none}.category-toggle-dot{width:13px;height:13px;border-radius:50%;background:#9aa3b7;box-shadow:0 0 0 4px rgba(154,163,183,.12);flex:0 0 auto}.category-availability-toggle.is-active .category-toggle-dot{background:#25b47e;box-shadow:0 0 0 4px rgba(37,180,126,.13)}.category-toggle-copy{display:grid;text-align:left;line-height:1.05;gap:3px}.category-toggle-copy small{font-size:9px;color:#8891a7;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.category-toggle-copy strong{font-size:11px;color:#34317e}.category-availability-toggle.is-disabled .category-toggle-copy strong{color:#68748d}@media(max-width:760px){.category-form-intro .category-header-actions{width:100%!important}.category-header-actions .category-availability-toggle{flex:1 1 auto}.category-header-actions .btn{flex:1 1 auto;text-align:center}}

/* v33 vendor registry + endpoint controls */
.vendor-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.environment-switch{display:inline-flex;align-items:center;padding:4px;border:1px solid #dfe3ef;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(43,48,99,.035)}.environment-option{border:0;background:transparent;color:#6c7690;font:inherit;font-size:11px;font-weight:800;padding:9px 14px;border-radius:9px;cursor:pointer;transition:.15s ease}.environment-option:hover{background:#f6f6ff;color:#4a46c8}.environment-option.active{background:#5752d9;color:#fff;box-shadow:0 3px 9px rgba(87,82,217,.2)}.environment-option:disabled{opacity:.65;cursor:wait}.vendor-endpoints-panel td code{word-break:break-word}.vendor-endpoints-panel .tiny{white-space:nowrap}.via-modal[hidden]{display:none!important}.via-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}.via-modal-backdrop{position:absolute;inset:0;background:rgba(27,31,61,.42);backdrop-filter:blur(2px)}.via-modal-card{position:relative;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border:1px solid #e1e4ef;border-radius:18px;box-shadow:0 24px 70px rgba(25,29,65,.24);overflow:hidden}.via-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #eceef4}.via-modal-head small{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#7f87a0;font-weight:900}.via-modal-head h3{margin:4px 0 3px;font-size:18px;color:#223250}.via-modal-head p{margin:0;color:#7b849c;font-size:10px}.via-modal-close{border:0;background:#f4f5fa;color:#59647d;border-radius:9px;width:34px;height:34px;font-size:21px;line-height:1;cursor:pointer}.via-modal-body{padding:18px 22px;overflow:auto}.endpoint-test-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.endpoint-test-field{display:grid;gap:6px}.endpoint-test-field span{font-size:10px;font-weight:800;color:#40506e}.endpoint-test-field em{font-style:normal;color:#d55265}.endpoint-test-field input{width:100%;min-height:42px;border:1px solid #dfe3ee;border-radius:10px;padding:9px 11px;font:inherit;font-size:12px;color:#263653;outline:none}.endpoint-test-field input:focus{border-color:#7d78e7;box-shadow:0 0 0 3px rgba(87,82,217,.08)}.endpoint-test-no-fields{grid-column:1/-1;border:1px dashed #dfe3ee;border-radius:10px;padding:14px;color:#78839c;font-size:11px}.via-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 18px;border-top:1px solid #eceef4;background:#fafbfe}.endpoint-test-result{margin-top:16px;border:1px solid #dfe3ee;border-radius:12px;overflow:hidden}.endpoint-test-result.loading{padding:14px;color:#6d7890;background:#fafbfe;font-size:11px}.endpoint-test-result.success{border-color:#cce8dc}.endpoint-test-result.error{border-color:#efd0d5}.endpoint-test-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;background:#fafbfe}.endpoint-test-result-head>div:first-child{display:grid;gap:3px}.endpoint-test-result-head strong{font-size:11px;color:#2b3b59}.endpoint-test-result-head small{font-size:9.5px;color:#7f899e}.endpoint-test-meta{display:flex;gap:6px;flex-wrap:wrap}.endpoint-test-meta span{font-size:9px;font-weight:800;background:#eef0f6;border-radius:999px;padding:5px 8px;color:#59657d}.endpoint-test-request-id{padding:9px 14px;border-top:1px solid #eceef4;font-size:9.5px;color:#7b859b}.endpoint-test-result pre{margin:0;padding:14px;max-height:280px;overflow:auto;background:#171b2d;color:#ecf0fa;font-size:10px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.modal-open{overflow:hidden}@media(max-width:760px){.vendor-detail-intro .vendor-header-actions{width:100%;justify-content:stretch}.vendor-header-actions .environment-switch,.vendor-header-actions .btn{flex:1 1 auto}.environment-switch{justify-content:stretch}.environment-option{flex:1}.endpoint-test-fields{grid-template-columns:1fr}.via-modal{padding:12px}.via-modal-card{width:100%;max-height:calc(100vh - 24px)}}

/* v34: compact vendor endpoint URL column */
.vendor-endpoints-panel .endpoint-url-cell{max-width:330px;width:28%;}
.vendor-endpoints-panel .endpoint-url-cell code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* v37: dynamic vendor-wise client permissions */
.client-permission-groups{display:grid;gap:14px}.client-permission-vendor{border:1px solid #e2e5ef;border-radius:14px;background:#fff;overflow:hidden}.client-permission-vendor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#f8f9fd;border-bottom:1px solid #e7eaf2}.client-permission-vendor-head>div{display:grid;gap:3px}.client-permission-vendor-head strong{font-size:12px;color:#283857}.client-permission-vendor-head small{font-size:9px;color:#7e889e}.client-select-all{margin:0;white-space:nowrap}.client-permission-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.client-endpoint-permission{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border-bottom:1px solid #eef0f5;cursor:pointer}.client-endpoint-permission:nth-child(odd){border-right:1px solid #eef0f5}.client-endpoint-permission input{margin-top:3px}.client-endpoint-permission span{display:grid;gap:3px;min-width:0}.client-endpoint-permission b{font-size:11px;color:#31405d}.client-endpoint-permission small{font-size:9px;color:#8790a4;overflow-wrap:anywhere}.client-endpoint-permission:hover{background:#fbfbff}.empty-state.compact{padding:16px;border:1px dashed #dfe3ed;border-radius:12px;color:#7b859b;background:#fafbfe}@media(max-width:760px){.client-permission-endpoints{grid-template-columns:1fr}.client-endpoint-permission:nth-child(odd){border-right:0}.client-permission-vendor-head{align-items:flex-start;flex-direction:column}}

/* v38 client permission + credential management */
.client-permission-vendor{border:1px solid #e2e5ef;border-radius:14px;background:#fff;overflow:hidden}
.client-permission-vendor>summary{list-style:none;cursor:pointer}.client-permission-vendor>summary::-webkit-details-marker{display:none}
.client-permission-vendor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#f8f9fd;border-bottom:0}
.client-permission-vendor[open] .client-permission-vendor-head{border-bottom:1px solid #e7eaf2}
.client-permission-chevron{font-size:15px;color:#6259de;transition:transform .18s ease}.client-permission-vendor[open] .client-permission-chevron{transform:rotate(180deg)}
.client-permission-vendor-body{background:#fff}.client-permission-tools{display:flex;justify-content:flex-end;padding:9px 15px;border-bottom:1px solid #eef0f5;background:#fcfcfe}
.client-credential-state,.client-credential-once{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e2e5ef;border-radius:13px;background:#fbfbfe}
.client-credential-state>div,.client-credential-once>div{display:grid;gap:4px;min-width:0}.client-credential-state span,.client-credential-once span{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a849b}
.client-credential-state strong{font-size:14px;color:#2f3d5d}.client-credential-state code,.client-credential-once code{font-size:13px;color:#302b7d;overflow-wrap:anywhere}.client-credential-state small,.client-credential-once small{font-size:9px;color:#7f899d}
.client-credential-once{background:linear-gradient(135deg,#eeedff,#e4e3ff);border-color:#d3d1f7}.client-credential-once code{font-size:14px;font-weight:750}
@media(max-width:760px){.client-credential-state,.client-credential-once{align-items:stretch;flex-direction:column}.client-permission-tools{justify-content:flex-start}}
/* v39 two-part client authentication */
.client-credential-pair{display:grid;gap:7px;min-width:0;flex:1}.credential-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center}.credential-line small{font-size:9px!important;font-weight:800;color:#6f7990!important;letter-spacing:.04em}.credential-line code{padding:7px 9px;background:#fff;border:1px solid #dedff0;border-radius:8px;white-space:normal;word-break:break-all}.credential-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.client-credential-once .credential-line code{background:rgba(255,255,255,.72)}
@media(max-width:760px){.credential-line{grid-template-columns:1fr}.credential-actions{align-items:stretch}.credential-actions .btn{flex:1}}

/* v42 — API Performance & Usage dashboard */
.dashboard-intro{margin-bottom:14px}.dash-kicker{display:block;font-size:9px;font-weight:850;letter-spacing:.48px;color:#746df0;text-transform:uppercase;margin-bottom:5px}.dash-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 0 14px}.dash-kpis article{background:#fff;border:1px solid #dfe4ed;border-radius:12px;padding:15px 16px;box-shadow:0 5px 16px rgba(37,47,78,.035)}.dash-kpis span,.dash-kpis small{display:block;color:#7b859c}.dash-kpis span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.35px}.dash-kpis strong{display:block;font-size:24px;line-height:1.05;color:#26385a;margin:7px 0 5px;letter-spacing:-.03em}.dash-kpis strong.danger{color:#b42318}.dash-kpis strong em{font-size:10px;font-style:normal;color:#8b94a7;letter-spacing:0}.dash-kpis small{font-size:9px}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dash-grid-trends{grid-template-columns:1fr 1fr}.dash-panel{margin:0 0 14px;padding:17px}.dash-panel .panelhead{margin-bottom:12px}.dash-panel .panelhead h3{font-size:16px;margin:0}.dash-panel .panelhead p{font-size:10px;margin-top:3px}.dash-panel .panelhead a{font-size:11px}.dash-empty{display:flex;align-items:center;justify-content:center;min-height:142px;border:1px dashed #dfe3eb;border-radius:10px;color:#929bad;font-size:11px;background:#fafbfc}.dash-bars{display:grid;gap:11px;padding-top:2px}.dash-bar-row{display:grid;gap:5px}.dash-bar-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px}.dash-bar-meta span{font-weight:700;color:#41506a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-bar-meta strong{font-size:10px;color:#26385a}.dash-bar-track{height:7px;border-radius:999px;background:#f0f2f7;overflow:hidden}.dash-bar-track i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#6863dc,#8c82f0)}.dash-trend-wrap{min-height:205px}.dash-trend{width:100%;height:auto;display:block;overflow:visible}.dash-trend line{stroke:#e7eaf1;stroke-width:1}.dash-trend text{font-size:8px;fill:#8b94a7;font-family:inherit}.dash-trend polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.dash-line-total{stroke:#675fdb;stroke-width:3}.dash-line-fail{stroke:#d65b5b;stroke-width:2}.dash-chart-legend{display:flex;align-items:center;gap:14px;font-size:9px;color:#77829b;margin-top:2px}.dash-chart-legend span{display:inline-flex;align-items:center;gap:5px}.dash-chart-legend i{width:13px;height:3px;border-radius:3px}.dash-chart-legend i.total{background:#675fdb}.dash-chart-legend i.fail{background:#d65b5b}.dash-chart-total{margin-left:auto!important}.dash-chart-total strong{color:#26385a}.dash-table th{font-size:9px;text-transform:uppercase;letter-spacing:.25px}.dash-table td{font-size:11px}.dash-table tbody tr[data-row-href]{cursor:pointer}.dash-table tbody tr[data-row-href]:hover{background:#faf9ff}
@media(max-width:1180px){.dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid-trends{grid-template-columns:1fr}.dash-trend-wrap{min-height:auto}}
@media(max-width:820px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}}
@media(max-width:520px){.dash-kpis{grid-template-columns:1fr 1fr}.dash-kpis strong{font-size:20px}.dash-panel{padding:14px}.dash-chart-legend{flex-wrap:wrap}.dash-chart-total{margin-left:0!important}}

/* v43 · Environment & deployment readiness */
/* v44 · Readiness page layout correction */
.readiness-intro{align-items:flex-start}.readiness-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.readiness-kpis .metric{min-height:104px;padding:15px 17px!important;display:flex;flex-direction:column;justify-content:center;min-width:0}.readiness-kpis .metric span{font-size:10px!important;text-transform:uppercase;letter-spacing:.35px;font-weight:800}.readiness-kpis .metric strong{font-size:25px!important;line-height:1.05;margin:7px 0 5px!important}.readiness-kpis .metric small{font-size:10px!important;line-height:1.35}.readiness-panel .panelhead{gap:18px}.readiness-legend{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.readiness-panel .tablewrap{overflow-x:auto;overflow-y:hidden}.readiness-table{width:100%;min-width:1540px;table-layout:fixed}.readiness-table th,.readiness-table td{vertical-align:top;min-width:0;overflow:hidden}.readiness-table th:nth-child(1),.readiness-table td:nth-child(1){width:190px}.readiness-table th:nth-child(2),.readiness-table td:nth-child(2){width:95px}.readiness-table th:nth-child(3),.readiness-table td:nth-child(3){width:115px}.readiness-table th:nth-child(4),.readiness-table td:nth-child(4),.readiness-table th:nth-child(5),.readiness-table td:nth-child(5){width:260px}.readiness-table th:nth-child(6),.readiness-table td:nth-child(6){width:150px}.readiness-table th:nth-child(7),.readiness-table td:nth-child(7){width:145px}.readiness-table th:nth-child(8),.readiness-table td:nth-child(8){width:325px}.readiness-cell,.readiness-result{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;min-width:0;max-width:100%}.readiness-main{font-size:13px;line-height:1.3}.readiness-main b{font-size:15px}.readiness-cell .badge,.readiness-result .badge{max-width:100%;white-space:normal;text-align:left;line-height:1.25}.readiness-cell small,.readiness-result small{display:block;width:100%;max-width:100%;color:var(--muted);font-size:10px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.readiness-missing{color:#a33b3b!important;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9.5px!important;line-height:1.5!important}.badge.mini{font-size:9px;padding:4px 7px}.badge.amber{background:#fff3d6;color:#8a5a00;border-color:#f2d28b}.environment-toggle{border:0;cursor:pointer;font:inherit}.environment-toggle:disabled,.status-toggle:disabled{opacity:.55;cursor:wait}.readiness-note{display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff}.readiness-note strong{white-space:nowrap;font-size:12px}.readiness-note span{font-size:12px;color:var(--muted);line-height:1.45}@media(max-width:1100px){.readiness-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.readiness-kpis{grid-template-columns:1fr}.readiness-note{flex-direction:column;gap:4px}}
