.login-request-links { display:grid; gap:8px; margin-top:15px; text-align:center; }
.login-request-links a,.platform-back-link { color:var(--accent-dark); font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.platform-auth-shell { width:min(100%, 520px); margin:auto; padding:clamp(18px,5vw,36px); }
.platform-auth-shell>.brand { width:max-content; margin:0 0 20px; }
.platform-auth-card { display:grid; gap:13px; padding:clamp(20px,5vw,32px); border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.platform-auth-card h1 { margin:0; color:var(--ink); font-size:clamp(26px,7vw,36px); letter-spacing:-.05em; }
.platform-auth-card>p { margin:0 0 3px; color:var(--muted); font-size:13px; }
.platform-auth-card label,.platform-approval-form label { display:grid; gap:6px; color:#40565d; font-size:12px; font-weight:800; }
.platform-auth-card input,.platform-approval-form input,.platform-approval-form select { width:100%; min-width:0; min-height:47px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); font:inherit; font-size:14px; }
.platform-setup-notice { display:grid; gap:6px; padding:13px; border:1px solid #ead9a5; border-radius:12px; background:#fff9e8; color:#6b5b2b; font-size:12px; line-height:1.5; }
.platform-back-link { justify-self:center; margin-top:3px; }
.platform-page { width:min(100%, 1120px); min-height:100vh; margin:0 auto; padding:clamp(15px,4vw,38px); background:#f4f8f7; }
.platform-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 15px; border-bottom:1px solid var(--line); }
.platform-topbar .brand { margin:0; }
.platform-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:25px 0 18px; }
.platform-heading h1 { margin:4px 0; color:var(--ink); font-size:clamp(27px,5vw,40px); letter-spacing:-.05em; }
.platform-heading p { max-width:660px; margin:0; color:var(--muted); font-size:13px; }
.platform-count { flex:0 0 auto; padding:8px 11px; border-radius:999px; background:#e6f4ee; color:#347453; font-size:11px; font-weight:850; }
.platform-request-list { display:grid; gap:13px; }
.platform-request-card,.platform-empty { padding:clamp(15px,3vw,23px); border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow); }
.platform-request-card>header { display:flex; justify-content:space-between; gap:12px; }
.platform-request-card h2 { margin:0 0 2px; color:var(--ink); font-size:19px; }
.platform-request-card>header a { color:var(--accent-dark); font-size:12px; font-weight:750; overflow-wrap:anywhere; }
.platform-request-card time { flex:0 0 auto; color:var(--muted); font-size:11px; }
.platform-request-space { margin:12px 0; color:var(--muted); font-size:12px; }
.platform-approval-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:10px; padding:13px; border-radius:13px; background:#f4f8f7; }
.platform-approval-form label small { color:var(--muted); font-size:10px; font-weight:500; }
.platform-approval-form .button { min-height:47px; }
.platform-reject-form { display:flex; justify-content:flex-end; margin-top:9px; }
.platform-reject-button { min-height:36px; border:1px solid #eed8d4; background:#fff8f6; color:#98534b; font-size:11px; }
.platform-empty { display:grid; justify-items:center; padding:42px 18px; text-align:center; }
.platform-empty>span { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; background:#e8f4ed; color:#347453; font-size:24px; font-weight:900; }
.platform-empty h2 { margin:13px 0 3px; color:var(--ink); }
.platform-empty p { margin:0; color:var(--muted); font-size:12px; }
@media (max-width:700px) {
  .platform-heading { align-items:flex-start; flex-direction:column; }
  .platform-approval-form { grid-template-columns:minmax(0,1fr); }
  .platform-approval-form .button { width:100%; }
  .platform-request-card>header { flex-direction:column; gap:4px; }
  .platform-topbar .button { min-height:38px; padding:8px 10px; font-size:11px; }
  .platform-page { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}
