/* ENERKLAR Planer design system. Shared surfaces belong here; feature CSS remains modular. */
:root {
  --ek-navy-950:#061a30;--ek-navy-900:#08243f;--ek-navy-850:#0a2d4b;--ek-navy-800:#0d3858;
  --ek-teal-500:#13c8bf;--ek-green-500:#20b77b;--ek-green-600:#149665;--ek-lime-400:#a7e322;--ek-lime-500:#91d41e;
  --ek-background:#f3f6f9;--ek-surface:#fff;--ek-surface-soft:#f7f9fb;--ek-surface-green:#eef9f5;
  --ek-text:#14263a;--ek-text-strong:#0b1d30;--ek-muted:#68798a;--ek-muted-light:#8b99a7;
  --ek-border:#dfe6ed;--ek-border-strong:#cdd8e2;--ek-success:#159b68;--ek-warning:#b96e08;--ek-danger:#c9434c;--ek-info:#2687c8;--ek-decision:#7864b1;
  --ek-shadow-sm:0 2px 8px rgba(7,31,54,.05);--ek-shadow-md:0 8px 26px rgba(7,31,54,.08);--ek-shadow-lg:0 16px 45px rgba(7,31,54,.12);
  --ek-radius-sm:8px;--ek-radius-md:12px;--ek-radius-lg:16px;--ek-radius-xl:22px;
  /* Established module aliases: no business or DOM API is renamed for branding. */
  --blue:var(--ek-navy-900);--blue-2:var(--ek-navy-950);--green:var(--ek-green-500);--green-2:var(--ek-green-600);--gray:var(--ek-background);--line:var(--ek-border);--text:var(--ek-text);--muted:var(--ek-muted);--danger:var(--ek-danger);--warn:var(--ek-warning);--surface:var(--ek-surface);--surface-soft:var(--ek-surface-soft);--shadow:var(--ek-shadow-md);--shadow-soft:var(--ek-shadow-sm);
}
html{background:var(--ek-background)}
body{font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ek-text);background:var(--ek-background);font-size:clamp(14.5px,.19vw + 12px,16px);line-height:1.52;text-rendering:optimizeLegibility}
button:not(:where(.codex-console *)),input,select,textarea{font:inherit}h1:not(:where(.codex-console *)),h2:not(:where(.codex-console *)),h3:not(:where(.codex-console *)),h4:not(:where(.codex-console *)){color:var(--ek-text-strong);letter-spacing:-.018em}h1:not(:where(.codex-console *)){font-size:clamp(1.55rem,1.15rem + .8vw,2.25rem);line-height:1.12}h2:not(:where(.codex-console *)){font-size:clamp(1.2rem,1.05rem + .4vw,1.65rem);line-height:1.22}h3:not(:where(.codex-console *)){font-size:clamp(1rem,.95rem + .2vw,1.25rem);line-height:1.28}h1:not(:where(.codex-console *))::before{width:40px;height:4px;margin-bottom:13px;background:linear-gradient(90deg,var(--ek-teal-500),var(--ek-green-500))}
:where(button,input,select,textarea,a):focus-visible{outline:3px solid rgba(19,200,191,.52);outline-offset:3px}
button:not(:where(.codex-console *)){min-height:42px;border:1px solid transparent;border-radius:var(--ek-radius-sm);padding:9px 15px;color:#fff;background:var(--ek-green-600);box-shadow:0 5px 13px rgba(20,150,101,.18);font-weight:750;letter-spacing:.005em;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:not(:where(.codex-console *)):hover{background:#0d8157;box-shadow:0 8px 18px rgba(20,150,101,.22);transform:translateY(-1px)}button:not(:where(.codex-console *)):active{transform:translateY(0)}button:not(:where(.codex-console *)):disabled{box-shadow:none}button:not(:where(.codex-console *)).secondary,button:not(:where(.codex-console *)).ghost{color:var(--ek-navy-900);border-color:var(--ek-border-strong);background:var(--ek-surface);box-shadow:none}button:not(:where(.codex-console *)).secondary:hover,button:not(:where(.codex-console *)).ghost:hover{border-color:var(--ek-teal-500);background:#f0fbfa;color:var(--ek-navy-900)}button:not(:where(.codex-console *)).ghost{border-color:transparent;background:transparent}button:not(:where(.codex-console *)).danger{background:var(--ek-danger)}button:not(:where(.codex-console *)).danger:hover{background:#ac3039}
input,select,textarea{min-height:42px;border:1px solid var(--ek-border-strong);border-radius:var(--ek-radius-sm);color:var(--ek-text);background:var(--ek-surface);box-shadow:inset 0 1px 1px rgba(7,31,54,.02)}input::placeholder,textarea::placeholder{color:var(--ek-muted-light)}input:focus,select:focus,textarea:focus{border-color:var(--ek-teal-500);box-shadow:0 0 0 3px rgba(19,200,191,.14)}label{color:var(--ek-text-strong);font-weight:700}label .muted,label small{color:var(--ek-muted);font-weight:500}
.card,.table-card,dialog,.auth-card{border:1px solid var(--ek-border);border-radius:var(--ek-radius-lg);background:var(--ek-surface);box-shadow:var(--ek-shadow-sm)}.card,.table-card{padding:clamp(18px,1.55vw,28px)}.card:hover,.table-card:hover{border-color:#d4e3e4}.toolbar{border:1px solid var(--ek-border);border-radius:var(--ek-radius-md);background:var(--ek-surface);box-shadow:var(--ek-shadow-sm)}
table{border-collapse:separate;border-spacing:0}thead,.project-overview-header{background:#eef3f7;color:var(--ek-navy-900)}th{color:var(--ek-muted);font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}th,td{border-bottom-color:var(--ek-border)}tbody tr{transition:background-color .14s ease}tbody tr:hover{background:#f3fbf9}
.status-badge,.badge,.project-overview-status,.project-file-review-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:26px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.1}.status-badge::before,.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.project-tabs,.system-monitor-tabs{gap:4px;padding-bottom:0;border-bottom-color:var(--ek-border)}.project-tabs button,.system-monitor-tabs button{min-height:42px;color:var(--ek-muted);border-radius:var(--ek-radius-sm) var(--ek-radius-sm) 0 0;font-size:12px}.project-tabs button:hover,.system-monitor-tabs button:hover{color:var(--ek-navy-900);background:#edf7f6}.project-tabs button.active,.system-monitor-tabs button.active{color:var(--ek-green-600);border-bottom-color:var(--ek-green-500);background:#eef9f5}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:clamp(20px,4vw,60px);background:radial-gradient(circle at 90% 15%,rgba(19,200,191,.25),transparent 30rem),radial-gradient(circle at 10% 92%,rgba(167,227,34,.15),transparent 25rem),linear-gradient(135deg,var(--ek-navy-950),var(--ek-navy-850))}.auth-card{width:min(100%,460px);padding:clamp(26px,3vw,42px);box-shadow:var(--ek-shadow-lg)}.auth-card h1{display:grid;gap:14px;margin-bottom:18px}.auth-card h1 img{width:min(100%,300px);max-height:none}.auth-card h1 span{color:var(--ek-green-600);font-size:15px;letter-spacing:.05em;text-transform:uppercase}
dialog{color:var(--ek-text);box-shadow:var(--ek-shadow-lg)}dialog::backdrop{background:rgba(6,26,48,.52);backdrop-filter:blur(2px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
