:root{
  --ink:#121212;--ink-2:#202124;--muted:#6f7277;--muted-2:#979ba1;
  --paper:#ffffff;--canvas:#f5f6f8;--soft:#fff7ef;--soft-2:#fff1e2;
  --orange:#f36b16;--orange-dark:#d95208;--orange-light:#ff9a4d;
  --red:#b42318;--red-soft:#fff0ee;--green:#15803d;--green-soft:#ebf8ef;
  --blue:#245b78;--line:#e8e9ec;--line-strong:#d7d9de;
  --sidebar:#111214;--sidebar-2:#191b1f;
  --shadow-sm:0 4px 14px rgba(21,24,30,.06);
  --shadow:0 14px 38px rgba(21,24,30,.10);
  --shadow-lg:0 28px 70px rgba(0,0,0,.22);
  --radius:16px;--radius-lg:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.hidden{display:none!important}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:1px solid var(--line-strong);background:#fff;border-radius:11px;padding:.72rem 1rem;color:var(--ink);font-weight:650;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
button:hover{border-color:#babdc3;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
button:active{transform:translateY(0)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(243,107,22,.22);outline-offset:2px}
.primary{background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;border:0;font-weight:800;box-shadow:0 10px 22px rgba(243,107,22,.24)}
.primary:hover{background:linear-gradient(135deg,#ff7c25,#dc5709);box-shadow:0 14px 28px rgba(243,107,22,.30)}
.danger{color:#fff;background:var(--red);border:0}
.subtle{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14)}
.link-button{border:0;background:none;color:var(--orange-dark);padding:.55rem 0;font-weight:750;box-shadow:none}

/* Website-inspired authentication */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(430px,.95fr);background:#fff;overflow:hidden}
.auth-showcase{position:relative;overflow:hidden;padding:clamp(42px,7vw,96px);background:linear-gradient(145deg,#111214 0%,#191a1d 58%,#2a160d 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.auth-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 18%,rgba(255,128,41,.32),transparent 34%),linear-gradient(115deg,transparent 54%,rgba(243,107,22,.12));z-index:-2}
.auth-showcase:after{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom right,black,transparent 72%);z-index:-1}
.showcase-brand{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:800;letter-spacing:.01em;margin-bottom:clamp(55px,9vh,110px)}
.showcase-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--orange-light));font-size:1.3rem;box-shadow:0 12px 30px rgba(243,107,22,.28)}
.showcase-kicker{margin:0 0 16px;color:#ffad73;font-size:.76rem;letter-spacing:.18em;font-weight:900}
.auth-showcase h2{font-size:clamp(2.4rem,4.8vw,5.15rem);line-height:.98;max-width:820px;margin:0;letter-spacing:-.055em}
.showcase-copy{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7;max-width:650px;color:#c7c9cd;margin:26px 0 38px}
.showcase-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:700px}
.showcase-stats div{border-top:1px solid rgba(255,255,255,.18);padding-top:16px}.showcase-stats strong{display:block;color:#fff;font-size:1.25rem}.showcase-stats span{color:#aeb1b6;font-size:.78rem}
.showcase-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.orb-one{width:190px;height:190px;background:rgba(243,107,22,.12);right:-40px;bottom:80px}.orb-two{width:90px;height:90px;border:20px solid rgba(255,255,255,.05);right:110px;top:90px}
.auth-stage{display:grid;place-items:center;padding:clamp(28px,6vw,76px);background:radial-gradient(circle at 100% 0,#fff3e7,transparent 36%),#fff}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(28px,4vw,44px);box-shadow:var(--shadow)}
.brand-mark{width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,var(--orange),var(--orange-light));display:grid;place-items:center;color:#fff;font-weight:950;font-size:29px;box-shadow:0 12px 26px rgba(243,107,22,.24)}
.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:21px;flex:0 0 auto}
.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:900;color:var(--orange-dark);margin:16px 0 5px}
.auth-card h1{margin:.18rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.035em}
.muted,.fineprint{color:var(--muted)}.fineprint{font-size:.78rem;line-height:1.5}
.stack{display:grid;gap:15px;margin-top:26px}.stack label,.field{display:grid;gap:8px;font-size:.84rem;font-weight:750;color:#303238}
.stack input,.field input,.field select,.field textarea{width:100%;padding:.88rem .95rem;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.stack input::placeholder,.field input::placeholder{color:#b0b3b8}
.stack input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 4px rgba(243,107,22,.11)}
.stack .primary{min-height:49px;margin-top:3px;display:flex;align-items:center;justify-content:center;gap:10px}
.security-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;display:flex;align-items:center;gap:8px}.security-note span{color:var(--green);font-size:.7rem}

/* Main workspace */
.app{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#fff;padding:20px 16px 18px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh;overflow-y:auto;box-shadow:12px 0 34px rgba(12,13,15,.08);z-index:8}
.sidebar:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--orange),#ffb169)}
.brand-row{display:flex;align-items:center;gap:12px;padding:8px 7px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-row strong{font-size:1.08rem;letter-spacing:-.01em}.brand-row span{display:block;color:#9da1a8;font-size:.73rem;margin-top:2px}
.workspace-label{font-size:.64rem;letter-spacing:.16em;color:#777c84;font-weight:900;padding:9px 12px 3px}
.sidebar nav{display:grid;gap:4px}
.sidebar nav button{position:relative;background:transparent;color:#bfc2c8;border:0;text-align:left;padding:.78rem 12px .78rem 43px;border-radius:10px;box-shadow:none;font-weight:650;min-height:44px}
.sidebar nav button:before{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;text-align:center;color:#898e96;font-size:1rem;font-weight:500}
.sidebar nav button[data-page="dashboard"]:before{content:"▦"}.sidebar nav button[data-page="applicants"]:before{content:"◎"}.sidebar nav button[data-page="jobs"]:before{content:"◇"}.sidebar nav button[data-page="approvals"]:before{content:"✓"}.sidebar nav button[data-page="campaigns"]:before{content:"✦"}.sidebar nav button[data-page="finance"]:before{content:"₱"}.sidebar nav button[data-page="projects"]:before{content:"□"}.sidebar nav button[data-page="team"]:before{content:"♙"}.sidebar nav button[data-page="systems"]:before{content:"⚙"}.sidebar nav button[data-page="audit"]:before{content:"≡"}
.sidebar nav button:hover{background:rgba(255,255,255,.055);color:#fff;transform:none;border:0;box-shadow:none}
.sidebar nav button.active{background:linear-gradient(90deg,rgba(243,107,22,.22),rgba(243,107,22,.06));color:#fff;box-shadow:inset 3px 0 0 var(--orange);font-weight:800}
.sidebar nav button.active:before{color:#ff9d5c}
.sidebar-links{display:grid;gap:5px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.sidebar-links p{margin:0 7px 5px;color:#777c84;font-size:.62rem;font-weight:900;letter-spacing:.15em}
.sidebar-links a{display:flex;justify-content:space-between;align-items:center;color:#aaaeb5;text-decoration:none;font-size:.79rem;padding:8px 7px;border-radius:7px;transition:.16s}.sidebar-links a:hover{color:#fff;background:rgba(255,255,255,.04)}.sidebar-links a span{color:var(--orange-light)}
.sidebar-footer{display:grid;gap:11px;padding-top:9px}.system-dot{display:flex;gap:9px;align-items:center;padding:9px 8px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025)}.system-dot>span{width:8px;height:8px;border-radius:50%;background:#2fd071;box-shadow:0 0 0 4px rgba(47,208,113,.10)}.system-dot strong,.system-dot small{display:block}.system-dot strong{font-size:.72rem}.system-dot small{color:#858a92;font-size:.65rem;margin-top:2px}.sidebar-footer .danger{width:100%;color:#d5d7db;font-weight:650}
main{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{min-height:88px;background:rgba(255,255,255,.91);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}
.topbar h2,.topbar p{margin:0}.topbar h2{font-size:1.55rem;letter-spacing:-.035em}.topbar .eyebrow{font-size:.61rem;margin:0 0 4px;color:#8b8f95}
.top-actions{display:flex;align-items:center;gap:10px;font-size:.8rem}.menu{display:none}
.badge{display:inline-flex;align-items:center;gap:6px;padding:.42rem .7rem;border-radius:999px;background:#fff3d9;color:#8a5700;font-weight:900;font-size:.68rem;border:1px solid #ffe4aa;letter-spacing:.03em}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#e8a400}
.user-chip{padding:.48rem .75rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:#3e4146;font-weight:750;box-shadow:var(--shadow-sm)}
.refresh-button{display:flex;align-items:center;gap:7px;background:#fff}.refresh-button span{color:var(--orange);font-size:1.05rem}
.content{padding:28px 30px 40px;max-width:1760px;width:100%;margin:auto;flex:1}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 19px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.metric:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--orange),#ffbc86);opacity:.85}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#dedfe3}.metric b{font-size:1.85rem;display:block;margin-top:10px;letter-spacing:-.045em}.metric span{color:var(--muted);font-size:.78rem;font-weight:650}.metric:nth-child(2):after{background:linear-gradient(90deg,#24272d,#777e89)}.metric:nth-child(3):after{background:linear-gradient(90deg,#16a34a,#70d591)}.metric:nth-child(4):after{background:linear-gradient(90deg,#d97706,#fbbf24)}
.panel-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;margin-top:18px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;overflow:auto;box-shadow:var(--shadow-sm)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid #f0f1f3}.panel h3{margin:0;font-size:1.02rem;letter-spacing:-.02em}.panel-head h3:before{content:"";display:inline-block;width:4px;height:16px;border-radius:99px;background:var(--orange);margin-right:9px;vertical-align:-2px}
.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{font-size:.78rem;padding:.62rem .82rem}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-size:.79rem}th,td{text-align:left;padding:.78rem .82rem;border-bottom:1px solid #eff0f2;vertical-align:top}th{background:#fafafb;position:sticky;top:0;color:#575b61;font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;z-index:1}tbody tr{transition:background .12s}tbody tr:hover{background:#fff9f4}tr:last-child td{border-bottom:0}
.status{font-weight:800}.status.good{color:var(--green);background:var(--green-soft);padding:.2rem .45rem;border-radius:99px}.status.bad{color:var(--red);background:var(--red-soft);padding:.2rem .45rem;border-radius:99px}
.empty{padding:42px 22px;text-align:center;color:var(--muted);background:linear-gradient(180deg,#fff,#fbfbfc);border-radius:12px}
.banner{margin:18px 30px 0;padding:14px 17px;border-radius:12px;background:#fff4dc;border:1px solid #ffd991;color:#714600;box-shadow:var(--shadow-sm);font-size:.86rem}
.toast{position:fixed;right:22px;bottom:22px;z-index:99;background:#18191c;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:var(--shadow-lg);transform:translateY(120px);opacity:0;transition:.25s;max-width:min(480px,calc(100vw - 44px));font-size:.86rem}.toast.show{transform:none;opacity:1}.toast.error{background:linear-gradient(135deg,#b42318,#8f1b13)}
dialog{border:0;border-radius:20px;padding:0;box-shadow:var(--shadow-lg);width:min(700px,94vw);background:#fff}dialog::backdrop{background:rgba(14,15,17,.64);backdrop-filter:blur(3px)}.modal-card{padding:0}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fcfcfd)}.modal-head h3{margin:0;font-size:1.18rem}.modal-head .eyebrow{margin:0 0 3px;font-size:.59rem}.modal-head button{border:0;font-size:1.5rem;padding:.2rem .5rem;box-shadow:none;background:transparent}.modal-card #modalBody{padding:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}.kicker{font-size:.73rem;color:var(--muted)}
.health-list{display:grid;gap:9px}.health-item{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fcfcfd}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f1f2f4;padding:.15rem .38rem;border-radius:5px}.notice{padding:13px 14px;border-radius:10px;background:#edf7fc;color:var(--blue);font-size:.82rem;border-left:3px solid #64a8c8}
.app-footer{display:flex;justify-content:space-between;gap:14px;padding:18px 30px;border-top:1px solid var(--line);color:#999ca2;font-size:.68rem;background:#fff}

@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.panel-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr 1fr}.showcase-stats{grid-template-columns:1fr}}
@media(max-width:880px){.auth-shell{grid-template-columns:1fr}.auth-showcase{display:none}.auth-stage{min-height:100vh}.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-300px;width:286px;z-index:20;transition:left .22s ease}.sidebar.open{left:0}.menu{display:inline-grid;place-items:center;width:42px;height:42px;padding:0}.topbar{padding:0 17px}.page-heading{margin-right:auto;margin-left:12px}.top-actions #userLabel{display:none}.content{padding:20px 16px 34px}.banner{margin:14px 16px 0}.app-footer{padding:15px 16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.topbar{min-height:76px}.topbar h2{font-size:1.22rem}.top-actions{gap:6px}.refresh-button{padding:.62rem .72rem}.refresh-button span{display:none}.badge{padding:.38rem .52rem}.auth-stage{padding:18px}.auth-card{padding:26px 22px;border-radius:19px}.app-footer{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V15.3 enterprise controls */
.sidebar nav button[data-page="readiness"]:before{content:"◉"}.sidebar nav button[data-page="recovery"]:before{content:"↺"}
.readiness-hero{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#141518,#24262b);color:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) calc(var(--score)*1%),rgba(255,255,255,.12) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#17181b}.score-ring strong{position:relative;z-index:1;font-size:2rem}.score-ring span{position:relative;z-index:1;font-size:.65rem;color:#aaa}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-card{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.check-card.pass{border-left:4px solid #16a34a}.check-card.fail{border-left:4px solid #dc2626}.check-card strong{display:block;margin-bottom:4px}.check-card small{color:var(--muted)}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.policy-card h4{margin:0 0 8px}.policy-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.8rem}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.journey-step{padding:14px;border-radius:12px;background:var(--soft);border:1px solid #ffe0c3}.journey-step b{display:block;color:var(--orange-dark);margin-bottom:5px}.journey-step span{font-size:.75rem;color:#5f5148}
.scope-banner{padding:12px 14px;border-radius:10px;background:#f4f5f7;border:1px solid var(--line);font-size:.78rem;color:#4b4f55;margin-bottom:16px}.scope-banner strong{color:var(--ink)}
.danger-zone{border:1px solid #ffd0ca;background:#fff7f6}.mono-small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}
@media(max-width:880px){.readiness-hero{grid-template-columns:1fr;text-align:center}.score-ring{margin:auto}.check-grid,.policy-grid,.journey{grid-template-columns:1fr}}


/* V15.3.6 operations editing controls */
.inline-select,
.inline-resolution {
  width: 100%;
  min-width: 150px;
  border: 1px solid var(--line, #d9dde3);
  border-radius: 10px;
  background: #fff;
  color: #171717;
  font: inherit;
}

.inline-select {
  min-height: 40px;
  padding: 8px 10px;
}

.inline-resolution {
  min-width: 260px;
  min-height: 72px;
  padding: 10px;
  resize: vertical;
}

.inline-select:focus,
.inline-resolution:focus {
  outline: 3px solid rgba(247, 103, 23, .16);
  border-color: #f76717;
}

table small {
  color: #68707c;
  font-size: 11px;
}

.sidebar-links a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}


/* V15.3.7 form and approval states */
.form-error {
  padding: 12px 14px;
  border: 1px solid #efb0aa;
  border-radius: 10px;
  background: #fff2f0;
  color: #a61b12;
  font-weight: 700;
}

button:disabled {
  cursor: not-allowed;
  opacity: .45;
  box-shadow: none;
}

.muted-action {
  color: #737b86;
  font-size: 12px;
  font-weight: 700;
}
