:root { --bg:#07110e; --panel:#101c18; --line:#284239; --text:#f1f7f3; --muted:#91a79d; --green:#55e6a5; --yellow:#f2c94c; --red:#ff7777; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:radial-gradient(circle at 85% 5%,#15352a 0,transparent 28%),var(--bg); font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
.topbar { padding:42px max(5vw,32px) 28px; display:flex; justify-content:space-between; gap:24px; align-items:flex-start; border-bottom:1px solid var(--line); }
h1,h2,p { margin-top:0; } h1 { margin-bottom:6px; font-size:clamp(30px,4vw,52px); letter-spacing:-.04em; } h2 { margin:0; font-size:21px; }
.eyebrow { color:var(--green); font-size:12px; font-weight:800; letter-spacing:.16em; margin-bottom:7px; }
.subtitle,.hint { color:var(--muted); }.connection { padding:10px 14px; background:#10261e; border:1px solid #285a46; border-radius:999px; white-space:nowrap; }.dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);margin-right:7px; }
.layout { width:min(1440px,94vw); margin:30px auto 80px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:26px; align-items:start; }
.steps { position:sticky;top:20px;display:flex;flex-direction:column;background:#0c1713;border:1px solid var(--line);border-radius:16px;padding:10px; }.steps a { color:var(--muted);text-decoration:none;padding:12px;border-radius:10px; }.steps a:hover { color:var(--text);background:#15241e; }.steps span { color:var(--green);font-size:11px;margin-right:8px; }
.form-stack { display:flex;flex-direction:column;gap:18px; }.card { background:linear-gradient(145deg,rgba(19,34,28,.98),rgba(12,23,19,.98));border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.15);scroll-margin-top:20px; }.card-heading { display:flex;justify-content:space-between;align-items:center;margin-bottom:22px; }.card-heading>div { display:flex;align-items:center;gap:12px; }.section-number { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#193b2e;color:var(--green);font-weight:800; }
.grid { display:grid;gap:17px; }.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }.full { grid-column:1/-1; } label { display:flex;flex-direction:column;gap:7px;color:#c9d6d0;font-size:13px;font-weight:650; } input,select,textarea { width:100%;border:1px solid #345045;background:#0b1512;color:var(--text);border-radius:10px;padding:11px 12px;font:inherit;outline:none; } input:focus,select:focus,textarea:focus { border-color:var(--green);box-shadow:0 0 0 3px rgba(85,230,165,.12); } textarea { resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px; }
.tag { border:1px solid #385249;border-radius:999px;padding:4px 9px;color:var(--muted);font-size:11px; }.tag.required { color:var(--green);border-color:#2b6b50; }.tag.warning { color:var(--yellow);border-color:#6c5c2b; }
.req,.conditional { display:inline-block;margin-left:5px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:800;vertical-align:1px; }.req { color:#07110e;background:var(--green); }.conditional { color:var(--yellow);border:1px solid #6c5c2b; }
.switch { flex-direction:row;align-items:center; }.switch input { display:none; }.switch span { width:34px;height:20px;background:#32443d;border-radius:999px;position:relative; }.switch span:after { content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s; }.switch input:checked+span { background:#249d6d; }.switch input:checked+span:after { left:17px; }
details { margin-top:18px;border-top:1px solid var(--line);padding-top:16px; } summary { cursor:pointer;color:var(--green);font-weight:700; }.nested { margin-top:16px; }.danger-check { margin-top:18px;flex-direction:row;align-items:center;color:var(--yellow); }.danger-check input { width:auto; }
.objective-panel { margin-top:20px;padding:18px;border:1px solid #5f5129;border-radius:13px;background:#211d0f; }.objective-panel h3 { margin:0 0 14px;color:var(--yellow); }.mapping-note { margin:13px 0 0;color:#d9c777;font-size:13px; }.section-disabled { opacity:.48; }
.actions { display:flex;justify-content:flex-end;gap:12px; }.primary,.secondary { border:0;border-radius:11px;padding:12px 19px;font-weight:800;cursor:pointer; }.primary { color:#042017;background:var(--green); }.secondary { color:var(--text);background:#1a2a24;border:1px solid var(--line); }
.preview { position:fixed;right:24px;top:24px;bottom:24px;width:min(640px,calc(100vw - 48px));z-index:10;background:#0b1512;border:1px solid #3b6655;border-radius:18px;padding:22px;box-shadow:0 24px 90px #000;display:flex;flex-direction:column;gap:14px; }.preview-head { display:flex;justify-content:space-between;align-items:start; }.preview-head h2 { font-size:24px; }.preview-head p { margin-bottom:4px; }.preview pre { flex:1;overflow:auto;background:#050a08;border:1px solid var(--line);border-radius:12px;padding:16px;color:#a9f5ce;font-size:12px; }.preview .primary { align-self:flex-end; }.hidden { display:none!important; }.validation-error { color:#ffd1d1;background:#3b1717;border:1px solid #7d3030;padding:10px 12px;border-radius:10px; }
.validation-success { color:#b9f8d9;background:#0d2c20;border:1px solid #276a4d;padding:10px 12px;border-radius:10px; }
.compact-topbar { padding-top:30px;padding-bottom:24px;align-items:center; }
.compact-topbar h1 { font-size:clamp(28px,3.5vw,44px); }
.page-link { color:#072017;background:var(--green);text-decoration:none;border-radius:11px;padding:11px 16px;font-weight:800;white-space:nowrap; }
.subtle-link { color:var(--green);background:#10261e;border:1px solid #285a46; }
.create-layout { width:min(980px,94vw);margin:30px auto 80px; }
.template-picker { display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:30px;align-items:center;margin-bottom:18px; }
.template-picker .eyebrow { margin-bottom:4px; }.template-picker h2 { font-size:25px;margin-bottom:8px; }
#employee-fields { display:flex;flex-direction:column;gap:18px; }
.field-help { color:var(--muted);font-size:11px;font-weight:500; }
.checkbox-group { display:flex;flex-wrap:wrap;gap:9px;padding:11px;border:1px solid #345045;background:#0b1512;border-radius:10px; }
.checkbox-group label { min-width:120px;flex:1 0 120px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:7px 9px;border:1px solid #294238;border-radius:8px;background:#101d18;cursor:pointer; }
.checkbox-group input { width:17px;height:17px;accent-color:var(--green); }
.checkbox-group label:has(input:checked) { border-color:var(--green);background:#17372a;color:#dff9ec; }
.conditional-hidden { display:none!important; }
.message { padding:12px 15px;border-radius:11px;border:1px solid #286b50;background:#0e2e22;color:#baf6da; }
.message.error { border-color:#7d3030;background:#3b1717;color:#ffd1d1; }
.admin-layout { width:min(1680px,96vw);margin:26px auto 90px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start; }
.admin-sidebar { position:sticky;top:18px;background:#0c1713;border:1px solid var(--line);border-radius:16px;padding:16px; }
.sidebar-title { display:flex;justify-content:space-between;align-items:center;margin-bottom:14px; }.sidebar-title .eyebrow{margin-bottom:2px}.sidebar-title h2{font-size:20px}
.icon-button { width:38px;height:38px;border-radius:10px;border:1px solid #32604d;background:#163126;color:var(--green);font-size:24px;cursor:pointer; }
.template-list { display:flex;flex-direction:column;gap:8px; }
.template-item { width:100%;text-align:left;border:1px solid transparent;background:#111f1a;color:var(--text);border-radius:11px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:3px; }
.template-item span { color:var(--muted);font-size:11px; }.template-item.active { border-color:var(--green);background:#173528; }.template-item.active span { color:var(--green); }
.admin-warning { margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);color:#d8c777;font-size:12px; }
.admin-content { min-width:0;display:flex;flex-direction:column;gap:16px; }
.template-meta textarea { font-family:inherit; }
.inline-switch { flex-direction:row;align-items:center; }.inline-switch input { width:auto; }
.legend { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px; }
.legend div { display:flex;flex-direction:column;padding:9px 11px;border-radius:9px;background:#0b1512; }.legend strong{color:var(--green);font-size:12px}.legend span{color:var(--muted);font-size:11px}
.field-editor { display:flex;flex-direction:column;gap:16px; }
.parameter-card { padding:20px;overflow:hidden; }
.parameter-table { overflow-x:auto;border:1px solid var(--line);border-radius:12px; }
.parameter-row { min-width:1180px;display:grid;grid-template-columns:minmax(290px,2fr) 72px 82px 82px minmax(180px,1fr) minmax(290px,1.35fr);align-items:center;border-bottom:1px solid var(--line);background:#0c1713; }
.parameter-row:last-child { border-bottom:0; }.parameter-row>div,.parameter-row>span,.parameter-row>label { padding:11px 12px; }
.parameter-header { color:var(--muted);font-size:11px;font-weight:800;background:#15251f; }.parameter-header span:not(:first-child){text-align:center}
.parameter-info { display:grid;grid-template-columns:auto auto 1fr;gap:5px 8px;align-items:center; }.parameter-info strong{font-size:13px}.parameter-info code{color:#8bb7a4;font-size:10px}.parameter-info small{grid-column:1/-1;color:var(--muted);font-size:10px}
.requirement { justify-self:start;font-style:normal;font-size:9px;border-radius:999px;padding:2px 6px;border:1px solid #3f5e52;color:var(--muted); }.requirement.api,.requirement.business{color:var(--green);border-color:#2b6b50}.requirement.conditional{color:var(--yellow);border-color:#6c5c2b}
.visibility-state { margin-left:0; }.visibility-state.shown{color:var(--green)}
.table-check { align-items:center;justify-content:center; }.table-check input { width:18px;height:18px;accent-color:var(--green); }
.parameter-row select,.parameter-row input[type="text"],.parameter-row input[type="number"],.parameter-row input[type="datetime-local"] { padding:8px;font-size:11px; }
.admin-checkbox-group { padding:7px;gap:6px; }
.admin-checkbox-group label { min-width:120px;flex-basis:120px;padding:5px 7px;font-size:11px; }
.field-hidden-from-staff { background:#0a120f;color:#8a9b94; }.muted-cell{opacity:.42}
.sticky-actions { position:sticky;bottom:12px;z-index:5;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 14px;border:1px solid #376352;background:rgba(11,21,18,.96);backdrop-filter:blur(12px);border-radius:13px;box-shadow:0 14px 50px #000; }.sticky-actions span{margin-right:auto;color:var(--muted);font-size:12px}
@media(max-width:1100px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.legend{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.steps{position:static;flex-direction:row;overflow:auto}.grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.topbar{padding:28px 20px;flex-direction:column;align-items:flex-start}.layout,.create-layout{width:calc(100% - 24px)}.grid.two,.grid.three,.template-picker,.legend{grid-template-columns:1fr}.card{padding:18px}.steps{display:none}.preview{right:8px;top:8px;bottom:8px;width:calc(100vw - 16px)}.sticky-actions{flex-wrap:wrap}.sticky-actions span{width:100%}}

/* Phase 1 workspace shell: navigation / content / structured task console */
.workspace-shell { min-height:100vh;display:grid;grid-template-columns:238px minmax(560px,1fr) 370px;background:#07110e; }
.workspace-sidebar { position:sticky;top:0;height:100vh;z-index:20;display:flex;flex-direction:column;padding:22px 14px 16px;background:#0a1512;border-right:1px solid var(--line); }
.workspace-brand { display:flex;align-items:center;gap:11px;padding:0 8px 22px;border-bottom:1px solid var(--line); }
.workspace-brand>span { width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#55e6a5,#25a974);color:#052117;font-weight:950;letter-spacing:-.05em;box-shadow:0 8px 24px rgba(85,230,165,.18); }
.workspace-brand>div,.workspace-user>div { min-width:0;display:flex;flex-direction:column; }
.workspace-brand strong { font-size:14px; }.workspace-brand small,.workspace-user small { color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.workspace-nav { display:flex;flex-direction:column;gap:5px;padding:18px 0; }
.workspace-nav>p { margin:13px 10px 4px;color:#657d72;font-size:10px;font-weight:900;letter-spacing:.14em; }
.workspace-nav-link { display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;border-radius:11px;color:#a9bbb3;text-decoration:none;transition:.16s ease; }
.workspace-nav-link>span { width:22px;color:#789086;text-align:center;font-size:13px; }.workspace-nav-link strong{font-size:13px}
.workspace-nav-link:hover { background:#111f1a;color:var(--text); }.workspace-nav-link.active { border-color:#2f6651;background:#173428;color:#e8fff4;box-shadow:inset 3px 0 0 var(--green); }.workspace-nav-link.active>span{color:var(--green)}
.workspace-user { margin-top:auto;display:grid;grid-template-columns:36px minmax(0,1fr) 30px;align-items:center;gap:9px;padding:12px 8px 0;border-top:1px solid var(--line); }
.workspace-user>span { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1b3b2f;color:var(--green);font-weight:900; }.workspace-user strong{font-size:12px}.workspace-user button{border:0;background:transparent;color:#789086;font-size:19px;cursor:pointer}.workspace-user button:hover{color:var(--green)}
.workspace-main { min-width:0;padding:28px clamp(18px,2.2vw,36px) 70px;overflow-x:hidden;background:radial-gradient(circle at 95% 0,#143328 0,transparent 26%),var(--bg); }
.workspace-header { display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line); }
.workspace-header h1 { font-size:clamp(30px,3.2vw,46px); }.workspace-header .subtitle{margin-bottom:0;max-width:720px}
.header-badges { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end; }.status-badge,.project-badge,.admin-role-badge { display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #315948;border-radius:999px;background:#10241d;color:#b9d3c7;font-size:11px;font-weight:800;white-space:nowrap; }.status-badge i{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 10px var(--yellow)}.admin-role-badge{color:#f8dc79;border-color:#6a5821;background:#251f0d}
.workspace-main .create-layout { width:100%;max-width:1040px;margin:0 auto; }.workspace-main .admin-layout { width:100%;margin:0;grid-template-columns:230px minmax(0,1fr);gap:18px; }.workspace-main .admin-sidebar{top:18px}.workspace-main .parameter-card{max-width:100%}
.workspace-console { position:sticky;top:0;height:100vh;min-width:0;display:flex;flex-direction:column;background:#050807;border-left:1px solid #27372f;box-shadow:-20px 0 60px rgba(0,0,0,.18); }
.console-titlebar { height:50px;display:flex;align-items:center;gap:7px;padding:0 15px;border-bottom:1px solid #28382f;background:#101512; }.console-titlebar strong{margin-left:6px;color:#c8d5cf;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.console-dot{width:11px;height:11px;border-radius:50%}.console-dot.red{background:#ff605c}.console-dot.yellow{background:#ffbd44}.console-dot.green{background:#00ca4e}
.activity-log { flex:1;min-height:180px;overflow:auto;padding:14px;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;scrollbar-color:#294237 transparent; }
.log-row { display:grid;grid-template-columns:58px 50px minmax(0,1fr);gap:7px;padding:7px 0;border-bottom:1px dashed #17221d;color:#9baaa3; }.log-row time{color:#53655d}.log-row>span{align-self:start;text-align:center;border-radius:4px;padding:1px 4px;background:#15231d;color:#7fb99e}.log-row p{margin:0;overflow-wrap:anywhere}.log-row.success p{color:#8de8b8}.log-row.success>span{color:#71dca5}.log-row.warn p{color:#e8ce75}.log-row.warn>span{color:#e4c85e;background:#29230e}.log-row.error p{color:#ff9191}.log-row.error>span{color:#ff9191;background:#2d1111}
.console-preview { flex:1;min-height:0;display:flex;flex-direction:column;gap:11px;padding:15px;border-top:1px solid #2f4d40;background:#09100d; }.console-preview .preview-head{flex:0 0 auto}.console-preview .preview-head h2{font-size:17px}.console-preview .preview-head .eyebrow{margin-bottom:2px}.console-preview pre{flex:1;min-height:180px;margin:0;overflow:auto;padding:12px;border:1px solid #243b31;border-radius:9px;background:#020403;color:#9ce9bd;font-size:10px;white-space:pre-wrap;word-break:break-word}.console-preview .primary{align-self:flex-end;padding:9px 13px}
.console-note { margin:12px;padding:14px;border:1px solid #293d34;border-radius:10px;background:#0b110f;color:#9dafA6;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }.console-note strong{color:#80d9aa}.console-note p{margin:6px 0 0}
.placeholder-card { max-width:760px;display:flex;align-items:flex-start;gap:15px; }.placeholder-card h2{margin-bottom:7px}.placeholder-card p{margin:0}
.module-root { display:flex;flex-direction:column;gap:18px; }
.module-summary { display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:12px;align-items:stretch; }
.module-summary>div { display:flex;flex-direction:column;justify-content:center;min-height:84px;padding:14px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#11221b,#0c1713); }
.module-summary span { color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em; }.module-summary strong{margin:3px 0;color:#e8fff4;font-size:17px;overflow-wrap:anywhere}.module-summary small{color:#71887d}.module-summary>.primary{align-self:stretch;min-width:170px}
.crud-layout { display:grid;grid-template-columns:250px minmax(0,1fr);gap:17px;align-items:start; }.crud-layout.wide-editor{grid-template-columns:240px minmax(0,1fr)}
.record-list { position:sticky;top:18px;padding:15px; }.record-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.record-list-head span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#17372a;color:var(--green);font-size:11px;font-weight:900}.record-list>div:last-child{display:flex;flex-direction:column;gap:7px}
.record-item { width:100%;display:flex;flex-direction:column;gap:2px;padding:11px 12px;text-align:left;border:1px solid transparent;border-radius:10px;background:#0b1612;color:var(--text);cursor:pointer; }.record-item:hover{background:#12231c}.record-item.active{border-color:#3b8064;background:#173529}.record-item.inactive{opacity:.55}.record-item strong{font-size:12px}.record-item span{color:#9cb1a7;font-size:10px;overflow-wrap:anywhere}.record-item small{color:#61776d;font-size:9px}.empty-state{padding:16px 8px;color:var(--muted);font-size:11px;text-align:center}
.record-editor { min-width:0;display:flex;flex-direction:column;gap:18px; }.record-editor>.card-heading{margin-bottom:0}.record-editor textarea{resize:vertical}.verification-badge{padding:5px 9px;border:1px solid #3a5e4f;border-radius:999px;color:#93c7ad;background:#10241c;font-size:10px;font-weight:800}
.record-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--line)}.danger-button{border:1px solid #733838;border-radius:10px;padding:10px 15px;background:#311717;color:#ffaaaa;font-weight:800;cursor:pointer}.danger-button:hover{background:#472020}
.ad-template-fields { display:flex;flex-direction:column;gap:13px; }.template-parameter-section{padding:16px;border:1px solid #253e34;border-radius:12px;background:#0b1612}.template-parameter-section h3{margin:0 0 13px;color:#83d9ac;font-size:13px}.template-parameter-section .grid{gap:13px}.template-parameter-section .checkbox-group{background:#08110e}

/* Login */
.login-body { min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,#173c2f 0,transparent 30%),radial-gradient(circle at 90% 90%,#102a21 0,transparent 28%),#050b08; }
.login-shell { width:min(980px,96vw);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid #29473a;border-radius:24px;background:#0b1612;box-shadow:0 35px 120px rgba(0,0,0,.55); }
.login-brand { padding:54px;background:linear-gradient(145deg,rgba(22,59,45,.96),rgba(10,24,19,.97)); }.login-brand h1{font-size:44px}.login-brand>p:not(.eyebrow){max-width:480px;color:#a8bbb2;margin-bottom:34px}.login-feature{display:flex;gap:13px;align-items:flex-start;margin:18px 0}.login-feature>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #3d765d;border-radius:9px;color:var(--green);font-size:10px;font-weight:900}.login-feature>div{display:flex;flex-direction:column}.login-feature small{color:#89a096;margin-top:2px}
.login-card { display:flex;flex-direction:column;justify-content:center;gap:25px;padding:54px;background:#0d1915; }.login-card h2{font-size:30px}.login-card form{display:flex;flex-direction:column;gap:17px}.login-card .primary{width:100%;margin-top:3px}.login-security{margin:0;color:#6f887c;font-size:11px}

@media(max-width:1500px){.workspace-shell{grid-template-columns:220px minmax(520px,1fr) 330px}.workspace-main{padding-left:22px;padding-right:22px}.workspace-main .admin-layout{grid-template-columns:1fr}.workspace-main .admin-sidebar{position:static}}
@media(max-width:1160px){.workspace-shell{grid-template-columns:210px minmax(0,1fr)}.workspace-console{grid-column:2;position:relative;height:440px;border-top:1px solid #27372f;border-left:0}.workspace-main{grid-column:2;grid-row:1}.workspace-sidebar{grid-row:1 / span 2}}
@media(max-width:900px){.crud-layout,.crud-layout.wide-editor{grid-template-columns:1fr}.record-list{position:static}.module-summary{grid-template-columns:1fr 1fr}.module-summary>.primary{grid-column:1/-1}}
@media(max-width:760px){.workspace-shell{display:block}.workspace-sidebar{position:relative;width:100%;height:auto;padding:12px}.workspace-brand{padding-bottom:11px}.workspace-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:9px 0}.workspace-nav>p{display:none}.workspace-nav-link{justify-content:center;padding:9px 6px}.workspace-nav-link>span{display:none}.workspace-nav-link strong{font-size:11px}.workspace-user{margin-top:0;padding-top:9px}.workspace-main{padding:20px 12px 42px}.workspace-header{flex-direction:column}.workspace-console{height:420px}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:36px 26px}.template-picker{grid-template-columns:1fr}.grid.two,.legend,.module-summary{grid-template-columns:1fr}.module-summary>.primary{grid-column:auto}.record-actions{flex-wrap:wrap}.record-actions>*{flex:1}}

/* Compact light workspace theme. The result console intentionally stays terminal-dark. */
.workspace-shell {
  --bg:#fff;--panel:#fff;--line:#e4e8ed;--text:#20262e;--muted:#707985;
  --green:#168a55;--yellow:#a46b00;--red:#d23f4b;
  grid-template-columns:188px minmax(400px,1fr) minmax(740px,820px);
  color:var(--text);background:#fff;font-size:13px;
}
.workspace-sidebar { padding:18px 12px 14px;background:#f4f6f8;border-right:1px solid #e2e6ea; }
.workspace-brand { padding:0 6px 16px;border-bottom:0; }
.workspace-brand>span { width:34px;height:34px;border-radius:5px;background:#168a55;color:#fff;box-shadow:none; }
.workspace-brand strong { color:#20262e;font-size:13px; }.workspace-brand small,.workspace-user small{color:#7b8490}
.workspace-nav { gap:2px;padding:13px 0; }.workspace-nav>p{margin:12px 9px 4px;color:#9aa1aa}
.workspace-nav-link { gap:9px;padding:8px 9px;border:0;border-radius:3px;color:#5f6975; }
.workspace-nav-link:hover { color:#20262e;background:#e9edf1; }
.workspace-nav-link.active { color:#116c44;background:#e2f2e9;box-shadow:inset 2px 0 0 #168a55; }
.workspace-nav-link.active>span{color:#168a55}.workspace-nav-link strong{font-size:12px}
.workspace-user { border-top:1px solid #e2e6ea;padding:11px 5px 0; }.workspace-user>span{border-radius:4px;background:#dfeee6;color:#116c44}
.workspace-main { padding:22px 26px 48px;background:#fff;color:#20262e;font-size:13px; }
.workspace-main.workspace-route-loading { opacity:.62;pointer-events:none;transition:opacity .12s ease; }
.workspace-header { margin-bottom:18px;padding-bottom:8px;border-bottom:0; }
.workspace-header h1 { margin-bottom:3px;font-size:27px;letter-spacing:-.025em; }.workspace-header .subtitle{font-size:12px;color:#707985}
.eyebrow { color:#168a55;font-size:10px;letter-spacing:.12em; }
.header-badges { gap:6px; }.status-badge,.project-badge,.admin-role-badge{padding:5px 8px;border:0;border-radius:3px;background:#eef2f4;color:#59636e;font-size:10px}.status-badge i{box-shadow:none}
.workspace-main h2 { font-size:16px; }.workspace-main .template-picker h2{font-size:18px}
.workspace-main .card { padding:18px;border:0;border-radius:4px;background:#fff;box-shadow:0 1px 4px rgba(30,42,54,.10); }
.workspace-main .template-picker { grid-template-columns:1fr;gap:12px;margin-bottom:12px;background:#f7f9fa;box-shadow:none; }
.workspace-main .delivery-runtime-card { padding:18px 0 0;box-shadow:none; }
.workspace-main .card-heading { margin-bottom:14px; }.workspace-main .section-number{width:28px;height:28px;border-radius:3px;background:#e5f3eb;color:#137647;font-size:11px}
.workspace-main label { display:flex;flex-direction:column;gap:5px;color:#3f4751;font-size:12px;font-weight:650; }
.field-title { display:inline-flex;align-items:baseline;gap:3px;align-self:flex-start;width:auto; }
.workspace-main .inline-switch,.workspace-main .table-check,.workspace-main .checkbox-group label { flex-direction:row; }
.workspace-main input,.workspace-main select,.workspace-main textarea { padding:8px 10px;border:1px solid #cfd5dc;border-radius:3px;background:#fff;color:#20262e;font-size:12px;box-shadow:none; }
.workspace-main input:focus,.workspace-main select:focus,.workspace-main textarea:focus { border-color:#168a55;box-shadow:0 0 0 2px rgba(22,138,85,.10); }
.workspace-main textarea { line-height:1.45; }.field-help{color:#7b8490;font-size:10px}
.req { margin-left:1px;padding:0;border:0;border-radius:0;background:transparent;color:#dc3545;font-size:14px;line-height:1;font-weight:800;vertical-align:0; }
.primary,.secondary,.danger-button,.icon-button { border-radius:3px; }.primary{background:#168a55;color:#fff}.secondary{background:#eef1f3;color:#3f4852;border:0}
.actions { gap:8px; }.actions button,.record-actions button{padding:9px 14px;font-size:12px}
.checkbox-group,.workspace-main .template-parameter-section .checkbox-group { gap:5px;padding:6px;border:0;border-radius:3px;background:#f5f7f8;color:#3f4751; }
.checkbox-group label { min-width:105px;flex-basis:105px;padding:5px 7px;border:0;border-radius:2px;background:transparent;font-size:11px; }
.checkbox-group label:has(input:checked){border:0;background:#dff1e7;color:#116c44}
.template-parameter-section { padding:13px 14px;border:0;border-radius:3px;background:#f7f9fa; }
.template-parameter-section h3 { margin-bottom:10px;color:#43505b;font-size:12px; }.ad-template-fields{gap:9px}
.module-root,.record-editor { gap:12px; }.module-summary{gap:8px}.module-summary>div{min-height:66px;padding:10px 13px;border:0;border-radius:3px;background:#f5f7f8}.module-summary strong{color:#20262e;font-size:14px}.module-summary small{color:#8a929b}
.crud-layout,.crud-layout.wide-editor { gap:12px;grid-template-columns:210px minmax(0,1fr) }.record-list{padding:10px}.record-list-head{margin-bottom:7px}.record-item{padding:8px 9px;border:0;border-radius:2px;background:#f7f8f9;color:#27303a}.record-item:hover{background:#edf0f2}.record-item.active{border:0;background:#dff1e7;color:#116c44}.record-item span{color:#6f7883}
.record-actions{gap:7px;padding-top:11px;border-top:0}.verification-badge{padding:3px 6px;border:0;border-radius:2px;background:#edf1f3;color:#64707b}
.workspace-main .admin-layout{grid-template-columns:205px minmax(0,1fr);gap:12px}.admin-sidebar{padding:12px;border:0;border-radius:3px;background:#f5f7f8}.template-item{padding:8px;border:0;border-radius:2px;background:#fff;color:#27303a}.template-item.active{border:0;background:#dff1e7;color:#116c44}
.legend{gap:6px;padding:10px}.legend div{padding:7px 8px;border-radius:2px;background:#f5f7f8}.parameter-card{padding:12px}.parameter-table{border:0;border-radius:0}.parameter-row{background:#fff;border-bottom:1px solid #edf0f2}.parameter-header{background:#f4f6f8;color:#68727d}.parameter-row>div,.parameter-row>span,.parameter-row>label{padding:8px 9px}.parameter-info strong{font-size:12px}.parameter-info code{color:#73808c}.parameter-info small{color:#8a929b}.requirement{border:0;border-radius:2px;background:#eef1f3;color:#69737e}.requirement.api,.requirement.business{border:0;color:#137647;background:#e4f2ea}.requirement.conditional{border:0;color:#8b6400;background:#f7f0d7}.field-hidden-from-staff{background:#fafbfb;color:#89919a}.sticky-actions{bottom:8px;padding:9px 10px;border:0;border-radius:3px;background:rgba(255,255,255,.97);box-shadow:0 3px 14px rgba(25,37,49,.14)}
.workspace-console { background:#0d1117;border-left:0;box-shadow:none; }
.console-titlebar { height:46px;padding:0 16px;border-bottom:1px solid #252c35;background:#161b22; }.console-titlebar strong{font-size:12px;color:#d7dde5}
.console-body{flex:1;min-height:0;display:block}.console-body:has(.console-preview:not(.hidden)){display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%)}
.console-body:has(.console-preview:not(.hidden)) .activity-log{grid-column:2;grid-row:1;min-width:0}
.activity-log { height:100%;min-height:0;padding:16px;font-size:13px;line-height:1.65;scrollbar-color:#39414c transparent; }
.log-row { grid-template-columns:66px 58px minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px solid #1c232c;color:#b0b8c3; }.log-row time{color:#6e7884}.log-row>span{padding:2px 5px;background:#222a33}.log-row.success p{color:#77d9a6}.log-row.warn p{color:#e3c36f}.log-row.error p{color:#ff858c}
.console-preview{grid-column:1;grid-row:1;min-width:0;padding:16px;background:#0d1117;border-top:0;border-right:1px solid #29313b}.console-preview pre{font-size:12px;line-height:1.55;background:#080b0f;color:#8fe0b5;border:1px solid #252d36;border-radius:3px}.console-preview .preview-head h2{color:#eef2f6;font-size:15px}
.console-note{border:0;border-radius:3px;background:#161b22;color:#aeb7c2;font-size:12px}
.validation-success,.validation-error{border:0;border-radius:3px;padding:8px 10px;font-size:11px}
.grid.one { grid-template-columns:1fr; }
.ad-template-fields { display:flex;flex-direction:column;gap:12px;padding-top:4px; }
.ad-template-fields .field-row { padding:0 0 12px;border-bottom:1px solid #edf0f2; }
.ad-template-fields .field-row:last-child { border-bottom:0; }
.management-list { padding:0!important;overflow:hidden; }
.management-row { display:grid;grid-template-columns:64px minmax(220px,1fr) 190px;align-items:center;min-height:52px;padding:0 14px;border-bottom:1px solid #edf0f2;column-gap:12px; }
.management-row:last-child { border-bottom:0; }.management-head{min-height:38px;background:#f5f7f8;color:#7a838d;font-size:10px;font-weight:800}.management-row strong{font-size:12px}.management-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-index{color:#98a0a9;font-variant-numeric:tabular-nums}
.inactive-employee { background:#fafbfb;color:#777f88; }.employee-status-off{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:2px;background:#f3e7e8;color:#b33b45;font-size:9px;font-style:normal;font-weight:700;vertical-align:1px}
.row-main{min-width:0;display:flex;flex-direction:column}.row-main strong,.row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main small{margin-top:2px;color:#858e98;font-size:10px}
.row-actions { display:flex;justify-content:flex-end;gap:12px; }.text-button{padding:3px 0;border:0;background:transparent;color:#16704a;font:600 11px/1.4 inherit;cursor:pointer}.text-button:hover{text-decoration:underline}.danger-text{color:#c53643}
.management-editor { width:min(760px,100%);padding:20px!important;box-shadow:none!important;border:1px solid #edf0f2!important; }
.editor-toolbar { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid #edf0f2; }.editor-toolbar>strong{text-align:center;font-size:14px}.editor-toolbar>span{text-align:right;color:#7b8490;font-size:10px}.editor-toolbar>.text-button{justify-self:start}
.compact-summary { margin-bottom:12px; }
@media(max-width:1500px){.workspace-shell{grid-template-columns:170px minmax(360px,1fr) minmax(650px,720px)}.workspace-main{padding:20px}.workspace-main .admin-layout{grid-template-columns:1fr}.workspace-main .admin-sidebar{position:static}}
@media(max-width:1100px){.workspace-shell{grid-template-columns:190px minmax(0,1fr)}.workspace-console{grid-column:2;position:relative;height:480px;border-top:1px solid #252c35}.workspace-main{grid-column:2;grid-row:1}.workspace-sidebar{grid-row:1 / span 2}}
@media(max-width:760px){.workspace-shell{display:block}.workspace-sidebar{background:#f4f6f8}.workspace-main{padding:16px 12px 32px}.workspace-console{height:620px}.console-body:has(.console-preview:not(.hidden)){grid-template-columns:1fr;grid-template-rows:1fr 1fr}.console-preview{grid-column:1;grid-row:1;border-right:0;border-bottom:1px solid #29313b}.console-body:has(.console-preview:not(.hidden)) .activity-log{grid-column:1;grid-row:2}.crud-layout,.crud-layout.wide-editor{grid-template-columns:1fr}.management-row{grid-template-columns:38px minmax(100px,1fr) 130px}.row-actions{gap:8px}}

/* Site-wide themed select. The popup is portalled to body to avoid clipping. */
.custom-select { position:relative;width:100%;min-width:0; }
.custom-select-native { position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important; }
.custom-select-trigger { width:100%;min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #cfd5dc;border-radius:3px;background:#fff;color:#20262e;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.custom-select-trigger:hover { border-color:#aeb7c1;background:#fbfcfc; }
.custom-select-trigger:focus,.custom-select-trigger.open { outline:0;border-color:#168a55;box-shadow:0 0 0 2px rgba(22,138,85,.11); }
.custom-select-trigger.invalid { border-color:#d23f4b;box-shadow:0 0 0 2px rgba(210,63,75,.11);animation:ui-shake .28s ease; }
.custom-select-trigger.placeholder { color:#7d8791; }
.custom-select-trigger>span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.custom-select-trigger>i { width:8px;height:8px;flex:0 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease; }
.custom-select-trigger.open>i { transform:translateY(2px) rotate(225deg); }
.custom-select.disabled .custom-select-trigger { color:#9ba3ab;background:#f2f4f5;cursor:not-allowed; }
.custom-select-menu { position:fixed;z-index:10050;display:flex;flex-direction:column;gap:2px;padding:5px;overflow:auto;border:1px solid #d7dce1;border-radius:5px;background:rgba(255,255,255,.99);box-shadow:0 12px 34px rgba(24,35,46,.18);opacity:0;visibility:hidden;transform:translateY(-5px) scale(.985);transform-origin:top center;transition:opacity .14s ease,transform .14s ease,visibility .14s;scrollbar-color:#b7c0c8 transparent; }
.custom-select-menu.open { opacity:1;visibility:visible;transform:translateY(0) scale(1); }
.custom-select-menu.open-above { transform-origin:bottom center; }
.custom-select-option { position:relative;width:100%;min-height:34px;padding:7px 31px 7px 10px;border:0;border-radius:3px;background:transparent;color:#303841;font:500 12px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;text-align:left;cursor:pointer; }
.custom-select-option:hover,.custom-select-option:focus { outline:0;background:#edf6f1;color:#116c44; }
.custom-select-option.selected { background:#e1f2e9;color:#116f45;font-weight:700; }
.custom-select-option.selected::after { content:'✓';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#168a55;font-weight:900; }
.custom-select-option:disabled { color:#a7adb3;cursor:not-allowed;background:transparent; }
.parameter-row .custom-select-trigger { min-height:31px;padding:6px 8px;font-size:11px; }

/* Shared async actions, toast feedback and themed confirmation dialog. */
button { transition:background .16s ease,color .16s ease,border-color .16s ease,opacity .16s ease,transform .16s ease; }
button:disabled { cursor:not-allowed;opacity:.68; }
.ui-button-busy,.ui-button-success,.ui-button-error { display:inline-flex!important;align-items:center;justify-content:center;gap:7px;pointer-events:none; }
.ui-button-success { background:#137647!important;color:#fff!important; }
.ui-button-error { background:#c53643!important;color:#fff!important;animation:ui-shake .28s ease; }
.ui-spinner { width:13px;height:13px;flex:0 0 auto;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:ui-spin .65s linear infinite; }
.secondary .ui-spinner,.text-button .ui-spinner { border-color:rgba(22,112,74,.25);border-top-color:#16704a; }
.ui-button-check { font-size:14px;font-weight:900;animation:ui-check .25s ease; }
@keyframes ui-spin { to { transform:rotate(360deg); } }
@keyframes ui-check { from { transform:scale(.45);opacity:0; } to { transform:scale(1);opacity:1; } }
@keyframes ui-shake { 25%{transform:translateX(-3px)} 50%{transform:translateX(3px)} 75%{transform:translateX(-2px)} }
.workspace-operation-overlay { position:fixed;z-index:10100;display:grid;place-items:center;padding:24px;background:rgba(248,250,251,.78);backdrop-filter:blur(2px);cursor:wait;pointer-events:all;opacity:0;transition:opacity .18s ease; }
.workspace-operation-overlay.show { opacity:1; }
.workspace-operation-card { min-width:220px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 28px;border:1px solid #e0e5e8;border-radius:7px;background:rgba(255,255,255,.97);color:#29323b;box-shadow:0 18px 50px rgba(25,36,47,.16);transform:translateY(5px) scale(.985);transition:transform .18s ease; }
.workspace-operation-overlay.show .workspace-operation-card { transform:translateY(0) scale(1); }
.workspace-operation-spinner { width:34px;height:34px;display:grid;place-items:center;margin-bottom:3px;border:3px solid #d9eee3;border-top-color:#168a55;border-radius:50%;color:#168a55;font-size:18px;font-weight:900;animation:ui-spin .72s linear infinite; }
.workspace-operation-card strong { font-size:14px; }.workspace-operation-card small{color:#858e97;font-size:10px}
.workspace-operation-overlay[data-state="success"] .workspace-operation-spinner,.workspace-operation-overlay[data-state="error"] .workspace-operation-spinner { animation:ui-check .24s ease;border-color:#168a55;background:#e1f2e9; }
.workspace-operation-overlay[data-state="error"] .workspace-operation-spinner { border-color:#d23f4b;background:#fbe5e7;color:#c53643; }
.ui-toast-stack { position:fixed;right:22px;top:20px;z-index:10150;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none; }
.ui-toast { min-width:240px;max-width:min(390px,calc(100vw - 28px));display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dce2e6;border-radius:5px;background:#fff;color:#29323b;box-shadow:0 12px 34px rgba(20,31,42,.18);opacity:0;transform:translateY(-8px) scale(.98);transition:.2s ease; }
.ui-toast.show { opacity:1;transform:translateY(0) scale(1); }.ui-toast>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#dff1e7;color:#137647;font-weight:900}.ui-toast.error>span{background:#fbe5e7;color:#c53643}.ui-toast.warning>span{background:#fbf1d7;color:#946500}.ui-toast p{margin:0;font-size:12px;font-weight:650}
.ui-modal-backdrop { position:fixed;inset:0;z-index:10200;display:grid;place-items:center;padding:20px;background:rgba(20,27,34,.30);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s ease; }
.ui-modal-backdrop.show { opacity:1; }.ui-modal{width:min(410px,100%);display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px 14px;padding:22px;border:1px solid #e0e4e8;border-radius:7px;background:#fff;color:#252d35;box-shadow:0 24px 70px rgba(22,30,38,.28);transform:translateY(8px) scale(.98);transition:transform .18s ease}.ui-modal-backdrop.show .ui-modal{transform:translateY(0) scale(1)}
.ui-modal-icon { width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e5f3eb;color:#137647;font-size:18px;font-weight:900}.ui-modal-icon.danger{background:#fbe8ea;color:#c53643}.ui-modal-copy h2{margin:1px 0 6px;font-size:16px}.ui-modal-copy p{margin:0;color:#6f7882;font-size:12px;line-height:1.65}.ui-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.ui-modal-actions button{min-width:82px;padding:9px 13px}
.danger-button { border:0;border-radius:3px;padding:9px 14px;background:#c53643;color:#fff;font-size:12px;font-weight:800;cursor:pointer; }
.danger-button:hover { background:#ad2d39; }
.stop-button { border:1px solid #c53643;border-radius:3px;padding:9px 14px;background:#fff;color:#b32f3c;font-size:12px;font-weight:800;cursor:pointer; }
.stop-button:hover { background:#fff0f2; }
.execution-safety { padding:9px 11px;border-left:3px solid #c53643;background:#fff4f5;color:#8f2e37;font-size:11px;line-height:1.55; }
.job-progress { margin-top:10px;padding:10px;border:1px solid #29313b;border-radius:3px;background:#11161c;color:#c4ccd6;font-size:11px; }
.job-progress strong { color:#fff; }.job-progress.completed strong{color:#77d9a6}.job-progress.partial strong{color:#e3c36f}.job-progress.failed strong{color:#ff858c}.job-progress.cancelled strong{color:#e3c36f}
@media(max-width:600px){.ui-toast-stack{left:14px;right:14px;top:12px}.ui-toast{width:100%;max-width:none}.custom-select-menu{max-width:calc(100vw - 16px)}}
