@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";:root{color:#15211d;font-synthesis:none;--ink:#15211d;--muted:#62706a;--line:#d5ded9;--surface:#fff;--accent:#007f6d;--accent-dark:#006154;--warning:#b56a00;--danger:#b42318;background:#f4f7f6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.sign-in-page{background:linear-gradient(90deg,#0000 49.8%,#15211d14 50%,#0000 50.2%),repeating-linear-gradient(0deg,#0000,#0000 47px,#15211d0a 48px),#f4f7f6;grid-template-columns:minmax(0,1fr) minmax(300px,34vw);min-height:100vh;display:grid}.sign-in-panel{align-self:center;max-width:720px;padding:64px clamp(28px,8vw,120px)}.brand-mark{background:var(--ink);color:#fff;place-items:center;width:48px;height:48px;font:700 14px Manrope;display:grid}.eyebrow{color:var(--accent);margin:32px 0 12px;font-weight:700}.sign-in-panel h1{letter-spacing:0;max-width:780px;margin:0;font:600 clamp(40px,6vw,76px)/1.02 Manrope}.sign-in-panel>p:not(.eyebrow){color:var(--muted);margin:24px 0 32px;font-size:18px}.sign-in-context{background:var(--ink);color:#fff;grid-template-columns:42px 1fr;align-content:center;gap:28px 16px;padding:64px;display:grid}.sign-in-context span{color:#6dd8c5;font:600 13px Manrope}.sign-in-context strong{font:500 24px Manrope}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 18px;font-weight:700;display:inline-flex}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-dark)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #007f6d40}@media (width<=760px){.sign-in-page{grid-template-columns:1fr}.sign-in-panel{padding:48px 24px}.sign-in-panel h1{font-size:42px}.sign-in-context{grid-template-columns:36px 1fr;padding:32px 24px}}.page-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:68px;padding:0 clamp(20px,4vw,60px);display:flex}.brand{color:var(--ink);align-items:center;gap:12px;font:700 15px Manrope;text-decoration:none;display:inline-flex}.brand-mark-small{width:34px;height:34px;font-size:11px}.header-actions{align-items:center;gap:12px;min-width:0;display:flex}.identity{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.icon-button{width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:#edf2f0}.icon-button.bordered{border:1px solid var(--line);background:#fff}.icon-button.danger{color:var(--danger)}.role-badge,.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.role-badge{color:#006154;background:#e5f4f0}.preview-badge{color:#8a4b00;background:#fff1d6}.request-layout{grid-template-columns:minmax(260px,.75fr) minmax(500px,1.25fr);align-items:start;gap:clamp(48px,8vw,110px);width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0 96px;display:grid}.page-intro{position:sticky;top:40px}.page-intro h1,.confirmation-page h1{letter-spacing:0;margin:0;font:600 clamp(34px,4vw,52px)/1.08 Manrope}.page-intro>p:last-child,.confirmation-page>p{color:var(--muted);font-size:17px;line-height:1.65}.request-form{background:var(--surface);border:1px solid var(--line);padding:clamp(24px,4vw,44px)}.request-workspace{gap:32px;min-width:0;display:grid}.sponsor-externals{min-width:0;padding-top:8px}.sponsor-externals table{min-width:680px}.field-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;margin-bottom:22px;display:flex}.field-label,fieldset legend{font-size:14px;font-weight:700}.field input,.field select,.field textarea,.search-control input,.filter-control select{width:100%;color:var(--ink);background:#fff;border:1px solid #aebbb5;border-radius:4px;min-height:44px;padding:11px 12px}.field input[readonly]{color:#4f5f58;background:#edf2f0}.field textarea{resize:vertical}.field-error{min-height:16px;color:var(--danger);font-size:13px}.field-hint{min-height:16px;color:var(--muted);text-align:right;font-size:12px}fieldset{border:0;margin:0 0 4px;padding:0}fieldset legend{margin-bottom:10px}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex}.form-footer p{color:var(--muted);max-width:300px;margin:0;font-size:13px}.button-secondary{color:var(--ink);background:#fff;border-color:#aebbb5}.button-secondary:hover{background:#edf2f0}.button-danger{background:var(--danger);color:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.alert{border-left:4px solid;margin-bottom:20px;padding:13px 15px;font-size:14px}.alert-error{border-color:var(--danger);color:#7a271a;background:#fff1f0}.confirmation-page{width:min(700px,100% - 40px);margin:0 auto;padding:12vh 0}.confirmation-page>svg{color:var(--accent)}.confirmation-reference{border-block:1px solid var(--line);margin:30px 0;padding:20px 0}.confirmation-reference dt{color:var(--muted);text-transform:uppercase;font-size:12px}.confirmation-reference dd{overflow-wrap:anywhere;margin:6px 0 0;font-family:monospace}.admin-main{width:min(1440px,100% - 40px);margin:0 auto;padding:46px 0 80px}.admin-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:40px;display:flex}.admin-title h1{margin:0 0 30px;font:600 36px Manrope}.tabs{gap:24px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:16px 2px;font-weight:700}.tabs button.active{color:var(--accent-dark);border-color:var(--accent)}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin:34px 0 20px;display:flex}.section-heading h2{margin:0;font:600 22px Manrope}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:14px}.request-list{gap:10px;display:grid}.request-item{border:1px solid var(--line);background:#fff;border-left:4px solid #93a099;grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr) minmax(240px,1.3fr) auto auto;align-items:center;gap:24px;padding:20px;display:grid}.request-item.status-pending{border-left-color:var(--warning)}.request-item.status-approved{border-left-color:var(--accent)}.request-person,.request-target{flex-direction:column;gap:4px;min-width:0;display:flex}.request-person span,.request-target span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.request-reason{color:#43514b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.button.compact{min-height:36px;padding:0 12px;font-size:13px}.status-badge{color:#43514b;background:#e8edeb}.status-badge.status-active,.status-badge.status-approved{color:#05603a;background:#def3eb}.status-badge.status-expiringSoon,.status-badge.status-pending{color:#8a4b00;background:#fff1d6}.status-badge.status-expired,.status-badge.status-rejected{color:#912018;background:#fee4e2}.status-badge.status-removed{color:#53605a;background:#e3e7e5}.table-tools{justify-content:space-between;gap:18px;margin-bottom:18px;display:flex}.search-control{width:min(440px,100%);position:relative}.search-control svg{color:var(--muted);position:absolute;top:14px;left:13px}.search-control input{padding-left:40px}.filter-control{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.filter-control select{min-width:150px}.table-scroll{border:1px solid var(--line);background:#fff;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1000px}th{color:#53625b;text-align:left;text-transform:uppercase;background:#edf2f0;font-size:12px;font-weight:700}th,td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}.sort-button{color:inherit;font:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.sort-button:hover{color:var(--ink)}.sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}tbody tr:last-child td{border-bottom:0}.external-row.status-removed{color:#6f7974;background:#f3f5f4}.external-row.status-removed strong,.external-row.status-removed span{color:inherit}td{font-size:14px}td>span,td>strong{display:block}td>span{color:var(--muted);margin-top:3px;font-size:12px}.grant+.grant{margin-top:6px}.button-link{color:var(--accent-dark);background:0 0;border:0;padding:8px;font-weight:700}.state-block{min-height:180px;color:var(--muted);background:#ffffff80;border:1px dashed #aebbb5;justify-content:center;align-items:center;gap:10px;display:flex}.state-block.full-page{border:0;min-height:calc(100vh - 68px)}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:17px;height:17px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dialog{border:0;border-radius:6px;width:min(520px,100% - 32px);padding:0;box-shadow:0 22px 70px #12211c40}.dialog::backdrop{background:#0d19158c}.dialog-heading{justify-content:space-between;align-items:center;padding:22px 24px 0;display:flex}.dialog-heading h2{margin:0;font:600 21px Manrope}.dialog-description{color:var(--muted);padding:16px 24px;line-height:1.55}.dialog>.field{padding:0 24px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1000px){.request-item{grid-template-columns:1fr 1fr auto}.request-reason{grid-column:1/3}.request-item>.status-badge{grid-area:1/3}.request-item>.row-actions{grid-area:2/3}}@media (width<=760px){.identity,.role-badge{display:none}.request-layout{grid-template-columns:1fr;gap:28px;padding-top:42px}.page-intro{position:static}.field-row{grid-template-columns:1fr;gap:0}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%}.admin-title{flex-direction:column;align-items:stretch;gap:0}.admin-title h1{margin-bottom:16px;font-size:30px}.tabs{width:100%}.tabs button{flex:1}.request-item{grid-template-columns:1fr auto;gap:14px}.request-target,.request-reason{grid-column:1/3}.request-item>.status-badge{grid-area:1/2}.request-item>.row-actions{grid-area:auto/1/auto/3}.request-item>.row-actions .button{flex:1}.table-tools{flex-direction:column;align-items:stretch}.filter-control{justify-content:space-between}.filter-control select{flex:1}}
