:root{--navy:#062e68;--navy2:#084586;--cyan:#08ace8;--cyan2:#46cdf4;--ink:#102340;--blue:#1765c1;--mist:#f3f7fc;--line:#dce6f2;--muted:#687993;--green:#177245;--amber:#9b5b00;--red:#b42318}*{box-sizing:border-box}html{scroll-behavior:smooth}body.ikep-portal-body{margin:0;background:var(--mist);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.portal-header{height:86px;padding:0 max(26px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy);border-bottom:1px solid #ffffff18;color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 8px 24px #05265025}.portal-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:20px}.portal-brand span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(145deg,var(--cyan),#1765c1);color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 20px #001c4090}.portal-account{display:flex;align-items:center;gap:20px}.portal-account>span{font-weight:700}.portal-logout{margin:0}.portal-logout button{border:1px solid #ffffff55;border-radius:999px;background:#fff;color:var(--navy);padding:9px 18px;font:inherit;font-weight:750;cursor:pointer}.portal-main{width:min(1320px,calc(100% - 40px));min-height:calc(100vh - 150px);margin:auto;padding:0 0 46px}.portal-notice{margin:24px 0;padding:13px 17px;border-radius:11px;background:#e8f7ef;color:var(--green);border:1px solid #b9e3ca}.portal-notice.error{background:#fff0ef;color:var(--red);border-color:#f0c5c1}.portal-hero{max-width:790px;margin:55px auto 38px;text-align:center}.portal-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.08;margin:10px 0 18px}.portal-hero>p:last-child{color:var(--muted);font-size:17px}.eyebrow,.step{margin:0;color:var(--cyan);font-size:12px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:940px;margin:auto}.portal-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:27px;box-shadow:0 10px 32px #1233600d}.portal-card h2{font-size:22px;margin:5px 0 20px}.portal-card label{display:grid;gap:7px;margin:14px 0;font-size:13px;font-weight:700}.portal-card input,.portal-card textarea{width:100%;border:1px solid #c8d5e5;border-radius:9px;padding:12px 13px;font:inherit;transition:.18s}.portal-card input:focus,.portal-card textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px #08ace820}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.portal-button,.welcome-primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:linear-gradient(135deg,var(--cyan),#1884d4);color:#fff;text-decoration:none;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #003b7c35}form>.portal-button{width:100%;margin:8px 0}.portal-button.secondary{background:#eaf4ff;color:#0758a9;box-shadow:none}.portal-welcome{width:calc(100% + 40px);margin-left:-20px;padding:68px max(20px,calc((100vw - 1320px)/2));background:linear-gradient(120deg,#062e68 0%,#073d7b 62%,#07518f 100%);color:#fff;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);gap:70px;align-items:center;position:relative;overflow:hidden}.portal-welcome:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #16bff330;border-radius:50%;right:-250px;top:-260px}.welcome-copy{position:relative;z-index:1}.portal-welcome h1{font-size:clamp(43px,5vw,68px);line-height:1.05;margin:12px 0 20px;color:#fff}.portal-welcome p:not(.eyebrow){max-width:590px;margin:0 0 27px;color:#dcecff;font-size:18px}.welcome-primary{padding:14px 21px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:1}.quick-actions a{min-height:142px;border:1px solid var(--cyan);border-radius:15px;padding:22px;color:#fff;text-decoration:none;background:#063b7b80;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:15px;align-content:center;transition:.2s}.quick-actions a:hover{transform:translateY(-3px);background:#075096;box-shadow:0 16px 30px #001d4380}.quick-actions span{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#fff;color:var(--blue);font-size:28px;font-weight:800}.quick-actions strong{font-size:18px;align-self:end}.quick-actions small{color:#cbe6ff;align-self:start}.portal-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);gap:24px;padding-top:34px}.portal-column{display:grid;gap:24px;align-content:start}.approval-note{padding:12px 14px;border-left:4px solid #f3a933;background:#fff8e9;color:#704514;font-size:13px}.request-list article{display:grid;grid-template-columns:1fr auto;gap:7px;padding:15px 0;border-top:1px solid var(--line)}.request-list small,.document-list small{display:block;color:var(--muted)}.request-list p{grid-column:1/-1;margin:3px 0;color:var(--muted)}.status{align-self:start;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:750}.status-pending{background:#fff3d6;color:var(--amber)}.status-needs_info{background:#e7f4ff;color:#0758a9}.status-approved{background:#e8f7ef;color:var(--green)}.status-rejected{background:#fff0ef;color:var(--red)}.empty-state{padding:22px;text-align:center;color:var(--muted);background:#f6f9fd;border-radius:10px}.document-list{list-style:none;margin:18px 0 0;padding:0}.document-list li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.document-list li>span{color:var(--green)}.sensitive{border-color:#bdd5f4;background:#f7fbff}.sensitive>p:not(.step){color:var(--muted);font-size:13px}.portal-footer{text-align:center;color:#7690ad;padding:25px;background:#eaf1f8}.muted-link{color:var(--blue);text-decoration:none;text-align:center}@media(max-width:980px){.portal-welcome{grid-template-columns:1fr;gap:35px}.portal-layout{grid-template-columns:1fr}.quick-actions{max-width:760px}}@media(max-width:650px){.portal-header{height:auto;padding:14px 18px}.portal-brand strong{font-size:16px}.portal-account>span{display:none}.portal-logout button{padding:8px 12px}.portal-main{width:min(100% - 24px,1320px)}.portal-welcome{width:calc(100% + 24px);margin-left:-12px;padding:42px 18px}.portal-welcome h1{font-size:40px}.quick-actions,.auth-grid,.form-pair{grid-template-columns:1fr}.quick-actions a{min-height:118px}.portal-card{padding:21px}}
