 :root {
  --navy:#0B0B0B;
  --navy-2:#202020;
  --ink:#0B0B0B;
  --muted:#737373;
  --line:#E5E5E5;
  --bg:#F7F7F5;
  --card:#FFFFFF;
  --accent:#0F5132;
  --accent-soft:#EAF2ED;
  --warning:#9A6400;
  --warning-soft:#FFF5DF;
  --danger:#A63A3A;
  --danger-soft:#FBECEC;
  --success:#0F6A43;
  --success-soft:#E9F4EE;
  --shadow:0 18px 55px rgba(11,11,11,.08);
}*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin:0 0 10px}
.muted{color:var(--muted)}
.brand-mark{font-family:Manrope,Inter,sans-serif;font-size:25px;letter-spacing:.12em;font-weight:700;color:#fff;display:flex;align-items:center;gap:9px}
.brand-mark b{font-size:12px;letter-spacing:.08em;background:#fff;color:var(--navy);border-radius:4px;padding:4px 6px}
.brand-mark.small{font-size:20px}
.mobile-brand{display:none;color:var(--navy);margin-bottom:34px}.mobile-brand b{background:var(--navy);color:#fff}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(400px,1.15fr) minmax(420px,.85fr)}
.login-brand{background:linear-gradient(145deg,#0c2035,#163857);color:#fff;padding:52px 7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brand:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-150px;bottom:-170px;box-shadow:0 0 0 90px rgba(255,255,255,.02),0 0 0 180px rgba(255,255,255,.018)}
.brand-copy{max-width:620px;position:relative;z-index:1;margin:80px 0}.brand-copy .eyebrow{color:#9ac1bb}.brand-copy h1{font:700 clamp(36px,4.6vw,62px)/1.04 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 22px}.brand-copy>p:last-child{font-size:17px;line-height:1.7;color:#c8d2dc;max-width:580px}
.login-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative;z-index:1}.login-feature-grid div{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045)}.login-feature-grid strong,.login-feature-grid span{display:block}.login-feature-grid strong{font-size:14px;margin-bottom:7px}.login-feature-grid span{font-size:12px;line-height:1.5;color:#b9c6d2}
.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-card{width:min(100%,430px)}.login-card h2{font:700 34px/1.1 Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 8px}.login-card>.muted{font-size:14px;margin:0 0 32px}.login-card>label{display:block;font-size:12px;font-weight:600;color:#43515f;margin:0 0 18px}.login-card input[type=email],.login-card input[type=password]{width:100%;height:48px;margin-top:8px;border:1px solid #d8dee5;border-radius:8px;padding:0 13px;outline:none;background:#fff}.login-card input:focus{border-color:#7793ad;box-shadow:0 0 0 3px rgba(51,97,139,.08)}
.password-row{position:relative}.password-row input{padding-right:62px!important}.password-row .text-btn{position:absolute;right:10px;top:16px}
.text-btn,.link-btn{border:0;background:transparent;color:#426985;font-size:12px;font-weight:600;padding:5px}.form-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.checkbox{font-size:12px!important;margin:0!important;display:flex!important;gap:7px;align-items:center}.checkbox input{accent-color:var(--navy)}
.primary-btn{width:100%;height:49px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:700}.primary-btn:hover{background:var(--navy-2)}.demo-note{text-align:center;font-size:10px;line-height:1.5;color:#94a0aa;margin:20px auto 0;max-width:330px}
.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;flex:0 0 245px;background:var(--navy);color:#d6dfe7;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:30}.sidebar-top{height:74px;padding:0 22px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);justify-content:space-between}.sidebar nav{overflow-y:auto;padding:15px 12px 18px;scrollbar-width:thin}.nav-group{font-size:9px;letter-spacing:.16em;font-weight:700;color:#72879a;margin:25px 10px 8px}.nav-item{width:100%;border:0;background:transparent;color:#aebdca;display:flex;align-items:center;gap:10px;border-radius:7px;padding:9px 10px;text-align:left;font-size:12px;margin:2px 0}.nav-item:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{background:#fff;color:var(--navy);font-weight:700}.nav-icon{width:22px;text-align:center;font-weight:700;font-size:11px}.nav-count{margin-left:auto;background:rgba(255,255,255,.12);min-width:21px;height:19px;border-radius:10px;text-align:center;line-height:19px;font-size:9px}.nav-item.active .nav-count{background:#e8edf2}.sidebar-footer{margin-top:auto;padding:14px 22px 18px;font-size:9px;color:#71869a;border-top:1px solid rgba(255,255,255,.07);line-height:1.6}.sidebar-footer span{color:#536b80}.main-area{margin-left:245px;min-width:0;width:calc(100% - 245px)}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:12px}.breadcrumb{font-size:8px;letter-spacing:.1em;color:#9aa5ae;margin:0 0 3px;font-weight:700}.topbar h2{font:700 19px Manrope,sans-serif;letter-spacing:-.02em;margin:0}.topbar-actions,.profile{display:flex;align-items:center}.topbar-actions{gap:14px}.icon-btn{border:0;background:transparent;width:36px;height:36px;border-radius:8px;color:#657482}.icon-btn:hover{background:#f0f3f5}.notification{position:relative}.notification span{position:absolute;right:8px;top:7px;width:5px;height:5px;background:#d57450;border-radius:50%}.profile{border-left:1px solid var(--line);padding-left:16px;gap:9px}.avatar{width:34px;height:34px;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.profile-copy strong,.profile-copy span{display:block}.profile-copy strong{font-size:11px}.profile-copy span{font-size:9px;color:#8a96a1;margin-top:2px}.profile>.text-btn{margin-left:5px}.mobile-only{display:none}
.content{padding:27px 30px 50px;max-width:1600px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px}.page-head h1{font:700 26px Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 5px}.page-head p{margin:0;font-size:12px;color:var(--muted)}.button-row{display:flex;gap:8px}.btn{border:1px solid #d7dde3;background:#fff;border-radius:7px;height:36px;padding:0 13px;font-size:11px;font-weight:600;color:#475766}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.soft{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric-label{font-size:10px;font-weight:600;color:#7b8792}.metric-icon{width:28px;height:28px;border-radius:7px;background:#eff3f6;display:grid;place-items:center;color:#597083;font-size:11px}.metric-value{font:700 24px Manrope,sans-serif;letter-spacing:-.03em;margin:9px 0 4px}.metric-foot{font-size:9px;color:#8d98a2}.metric-foot.up{color:var(--success)}.metric-foot.warn{color:var(--warning)}
.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.card-head{height:54px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.card-head h3{font-size:12px;margin:0}.card-head p{font-size:9px;color:#97a1ab;margin:2px 0 0}.card-body{padding:15px 17px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:670px}.data-table th{text-align:left;font-size:8px;letter-spacing:.09em;color:#97a1aa;font-weight:700;background:#fafbfc;padding:10px 12px;border-bottom:1px solid var(--line)}.data-table td{font-size:10px;padding:12px;border-bottom:1px solid #edf0f2;color:#40505e}.data-table tr:last-child td{border-bottom:0}.data-table strong{font-size:10px;color:#21303e}.subtext{display:block;font-size:8px;color:#96a1ab;margin-top:3px}.status{display:inline-flex;align-items:center;border-radius:12px;padding:4px 7px;font-size:8px;font-weight:700;white-space:nowrap}.status.green{background:var(--success-soft);color:var(--success)}.status.amber{background:var(--warning-soft);color:var(--warning)}.status.red{background:var(--danger-soft);color:var(--danger)}.status.blue{background:#e9f0f8;color:#456a8b}.status.gray{background:#eef1f3;color:#687681}.project-progress{width:75px;height:4px;background:#edf0f2;border-radius:4px;overflow:hidden;margin-top:5px}.project-progress i{display:block;height:100%;background:var(--accent);border-radius:4px}.mini-list{display:flex;flex-direction:column}.mini-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid #edf0f2}.mini-row:last-child{border:0}.mini-row strong{font-size:10px}.mini-row span{font-size:8px;color:#8c98a3;margin-top:3px;display:block}.mini-row .right{text-align:right}.mini-row .right strong{font-size:11px}.discipline{display:inline-flex;align-items:center;gap:5px}.discipline:before{content:"";width:5px;height:5px;border-radius:50%;background:#6b8ba8}.discipline.mech:before{background:#5e8b78}
.toolbar{display:flex;justify-content:space-between;gap:12px;margin:0 0 13px}.search{height:36px;min-width:260px;border:1px solid #dbe1e6;border-radius:7px;padding:0 11px;font-size:10px;outline:none}.filters{display:flex;gap:7px}.filters select{height:36px;border:1px solid #dbe1e6;background:#fff;border-radius:7px;padding:0 30px 0 10px;font-size:10px;color:#5a6874}.upload-zone{border:1px dashed #bfcbd4;border-radius:10px;padding:38px 20px;text-align:center;background:#fbfcfd}.upload-zone .upload-icon{width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:#edf3f5;color:var(--accent);display:grid;place-items:center;font-size:18px}.upload-zone h3{font-size:13px;margin:0 0 6px}.upload-zone p{font-size:10px;color:#88949f;margin:0 0 15px}.ai-banner{display:flex;gap:12px;align-items:flex-start;background:#edf5f3;border:1px solid #dbeae6;border-radius:9px;padding:13px 14px;margin-bottom:14px}.ai-badge{font-size:8px;font-weight:800;letter-spacing:.1em;background:var(--accent);color:#fff;border-radius:5px;padding:5px 6px}.ai-banner strong{font-size:10px;display:block}.ai-banner p{font-size:9px;color:#667b77;line-height:1.55;margin:4px 0 0}.empty-page{background:#fff;border:1px solid var(--line);border-radius:10px;padding:52px 25px;text-align:center}.empty-page .empty-icon{width:48px;height:48px;border-radius:12px;background:#eef2f5;color:#577087;display:grid;place-items:center;margin:0 auto 14px;font-weight:700}.empty-page h3{font-size:14px;margin:0 0 7px}.empty-page p{font-size:10px;color:#85919c;margin:0 auto 17px;max-width:430px;line-height:1.6}
.spark-bars{display:flex;align-items:flex-end;height:115px;gap:9px;padding:12px 2px 0}.spark-bars i{flex:1;background:#d8e4e4;border-radius:3px 3px 0 0;position:relative}.spark-bars i:nth-child(4n+1){background:#b8cecb}.spark-bars i:after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-style:normal;font-size:7px;color:#99a2aa}.chart-foot{height:26px}
.overlay{display:none}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr 1fr}.login-feature-grid{grid-template-columns:1fr}.brand-copy{margin:45px 0}.profile-copy{display:none}}
@media(max-width:780px){.login-shell{display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:28px}.mobile-brand{display:flex}.sidebar{transform:translateX(-100%);transition:.2s ease;width:245px}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0;width:100%}.mobile-only{display:inline-grid;place-items:center}.overlay{display:block;position:fixed;inset:0;background:rgba(10,20,30,.35);z-index:25}.topbar{padding:0 15px}.content{padding:20px 15px 40px}.metrics{grid-template-columns:1fr 1fr}.page-head{flex-direction:column}.topbar .profile>.text-btn{display:none}.toolbar{flex-direction:column}.search{width:100%;min-width:0}.filters{overflow:auto}.button-row{width:100%}.button-row .btn{flex:1}}
@media(max-width:480px){.metrics{grid-template-columns:1fr}.profile{border-left:0;padding-left:0}.notification{display:none}.login-panel{padding:24px 20px}.page-head h1{font-size:23px}}


/* WELT Pro v0.2 — brand-aligned internal portal */
html,body{background:#FAFAFA;color:#0B0B0B}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Minimal internal login */
.login-shell{
  min-height:100vh;
  display:block;
  background:
    radial-gradient(circle at 50% 18%, rgba(15,81,50,.06), transparent 30%),
    #FAFAFA;
}
.login-stage{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
  position:relative;
}
.login-stage:before{
  content:"";
  position:fixed;
  left:0;right:0;top:0;
  height:4px;
  background:#0F5132;
}
.login-card{
  width:min(430px,100%);
  margin:0;
  padding:42px 42px 34px;
  border:1px solid #E5E5E5;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 26px 70px rgba(11,11,11,.09);
}
.login-logo-wrap{
  display:flex;
  justify-content:center;
  padding:2px 0 31px;
  border-bottom:1px solid #ECECEC;
  margin-bottom:30px;
}
.login-logo{width:210px;max-width:72%;height:auto;display:block}
.login-heading{text-align:center;margin-bottom:27px}
.portal-label{
  margin:0 0 10px;
  color:#0F5132;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.20em;
}
.login-heading h1{
  margin:0;
  color:#0B0B0B;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:650;
}
.login-heading p:last-child{
  margin:9px 0 0;
  color:#7A7A7A;
  font-size:12px;
}
.login-card>label{
  display:block;
  color:#242424;
  font-size:11px;
  line-height:1.3;
  font-weight:600;
  margin:0 0 17px;
}
.login-card input[type="email"],
.login-card input[type="password"]{
  width:100%;
  height:49px;
  margin-top:8px;
  border:1px solid #D9D9D9;
  border-radius:8px;
  padding:0 13px;
  color:#0B0B0B;
  background:#FFFFFF;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.login-card input::placeholder{color:#A1A1A1}
.login-card input:focus{
  border-color:#0F5132;
  box-shadow:0 0 0 3px rgba(15,81,50,.09);
}
.password-row{position:relative}
.password-row input{padding-right:62px!important}
.password-row .text-btn{position:absolute;right:8px;top:18px}
.text-btn,.link-btn{color:#0F5132}
.form-row{margin:2px 0 23px}
.checkbox input{accent-color:#0F5132}
.primary-btn{
  height:50px;
  border-radius:8px;
  background:#0B0B0B;
  transition:background .16s ease,transform .16s ease;
}
.primary-btn:hover{background:#0F5132}
.primary-btn:active{transform:translateY(1px)}
.internal-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:24px;
  padding-top:21px;
  border-top:1px solid #EFEFEF;
  color:#9A9A9A;
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.internal-dot{width:6px;height:6px;border-radius:50%;background:#0F5132}

/* Application shell uses the same charcoal / WELT green palette */
.sidebar{background:#0B0B0B;color:#D8D8D8}
.sidebar-top{height:78px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.10)}
.sidebar-logo{width:132px;height:auto;display:block}
.nav-group{color:#6F6F6F}
.nav-item{color:#BDBDBD}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:#FAFAFA;color:#0B0B0B}
.nav-item.active:before{content:"";width:3px;height:18px;border-radius:3px;background:#0F5132;margin-left:-4px}
.nav-count{background:rgba(15,81,50,.46);color:#DDF1E5}
.nav-item.active .nav-count{background:#E6EFEA;color:#0F5132}
.sidebar-footer{color:#777;border-top-color:rgba(255,255,255,.09)}
.sidebar-footer span{color:#555}
.topbar{background:#FFFFFF}
.breadcrumb{color:#0F5132}
.avatar{background:#0B0B0B}
.btn.primary{background:#0B0B0B;border-color:#0B0B0B}
.btn.primary:hover{background:#0F5132;border-color:#0F5132}
.btn.soft{background:#EAF2ED;color:#0F5132}
.metric-icon{background:#EFF3F0;color:#0F5132}
.project-progress i{background:#0F5132}
.ai-badge{background:#0F5132}
.upload-zone .upload-icon{color:#0F5132;background:#EAF2ED}

@media(max-width:780px){
  .login-stage{padding:24px 16px}
  .login-card{padding:34px 24px 28px;border-radius:14px}
  .login-logo{width:190px}
  .login-heading h1{font-size:27px}
}
