/* GT PRO - «HR Request» category + accessible date picker. Uses the theme tokens only (beige light / midnight-navy dark).
   No green except the tiny success badges and the timeline "done" state (--tl-green) owned by timeline.js. */

/* ---------- date picker ---------- */
.gdp{position:relative;display:block;max-width:420px}
.gdp-label{display:block;margin-bottom:6px;font-weight:700;color:var(--ink-2)}
.gdp-field{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--field-edge);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;cursor:pointer;text-align:start}
.gdp-field:hover{border-color:var(--gold)}
.gdp-field:focus-visible,.gdp-day:focus-visible,.gdp-nav:focus-visible,.gdp-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.gdp-field .gdp-value.is-placeholder{color:var(--muted)}
.gdp-field svg{flex:none;color:var(--gold-ink)}
.gdp-pop{position:absolute;inset-inline-start:0;top:calc(100% + 8px);z-index:60;width:min(340px,calc(100vw - 32px));padding:14px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}
.gdp-pop.is-inline{position:static;width:100%;max-width:340px;box-shadow:var(--shadow)}
.gdp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.gdp-title{font-weight:800;font-size:1.05rem;text-align:center;flex:1}
.gdp-nav{width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}
.gdp-nav:hover:not(:disabled){background:var(--gold-soft)}
.gdp-nav:disabled{opacity:.35;cursor:not-allowed}
.gdp-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}
.gdp-grid th{padding:6px 0;font-size:.74rem;font-weight:700;color:var(--muted)}
.gdp-grid th.gdp-weekend{color:var(--amber-ink)}
.gdp-grid td{padding:0;text-align:center}
.gdp-day{width:100%;aspect-ratio:1/1;min-height:40px;border:1.5px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;cursor:pointer}
.gdp-day:hover:not(.is-disabled){background:var(--gold-soft)}
.gdp-day.is-out{color:var(--muted);opacity:.5}
.gdp-day.is-weekend:not(.is-selected):not(.is-out){color:var(--amber-ink)}
.gdp-day.is-today{border-color:var(--gold);font-weight:800}
.gdp-day.is-selected{background:var(--green);border-color:var(--btn-edge);color:var(--on-green);font-weight:800}
.gdp-day.is-disabled{color:var(--muted);opacity:.38;cursor:not-allowed;text-decoration:line-through;background:repeating-linear-gradient(135deg,transparent 0 5px,var(--line) 5px 6px)}
.gdp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.gdp-link{border:0;background:none;color:var(--gold-ink);font:inherit;font-weight:700;padding:8px 6px;cursor:pointer;border-radius:8px}
.gdp-link:disabled{opacity:.4;cursor:not-allowed}
.gdp-backdrop{position:fixed;inset:0;z-index:90;background:var(--overlay)}
body.gdp-lock{overflow:hidden}
.gdp-pop.is-sheet{position:fixed;inset-inline:0;bottom:0;top:auto;z-index:91;width:auto;max-width:none;border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}
.gdp-pop.is-sheet .gdp-day{min-height:44px}
@media (prefers-reduced-motion:no-preference){.gdp-pop{animation:gdpIn .14s ease-out}@keyframes gdpIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}

/* ---------- HR Request home ---------- */
.hr-home{display:grid;gap:18px}
.hr-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}
.hr-hero h2{margin:0 0 4px;font-size:1.35rem}
.hr-hero p{margin:0;color:var(--muted)}
.hr-new{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 26px;font-size:1.05rem}
.hr-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hr-stat{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.hr-stat-label{color:var(--ink-2);font-weight:700}
.hr-stat-value{font-size:2.3rem;line-height:1.1;color:var(--ink)}
.hr-stat small{color:var(--muted)}
.hr-stat.has-action{border-color:var(--tl-red)}
.hr-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px}
.hr-section-head h3{margin:0}
.hr-link{border:0;background:none;color:var(--gold-ink);font:inherit;font-weight:700;cursor:pointer;padding:6px}
.hr-list{display:grid;gap:14px}
.hr-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);margin-bottom:12px}
.hr-card.needs-action{border-color:var(--tl-red);box-shadow:0 0 0 1px var(--tl-red) inset,var(--shadow)}
.hr-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.hr-card>header small{display:block;color:var(--muted);margin-top:2px}
.hr-tag{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}
.hr-tag.is-wait{background:var(--amber-bg);color:var(--amber-ink)}
.hr-tag.is-action{background:var(--red-bg);color:var(--red-ink)}
.hr-tag.is-residence{background:var(--red-bg);color:var(--red-ink);border:1px solid var(--red-ink)}
.hr-red{color:var(--red-ink);font-weight:800}
.hr-seen{display:block;margin-top:6px}.hr-seen.is-seen{color:var(--ok-ink);font-weight:700}
.hr-tag.is-done{background:var(--ok-bg);color:var(--ok-ink)}
.hr-empty{padding:20px;border:1px dashed var(--line-2);border-radius:18px;background:var(--surface)}
.hr-empty-title{font-weight:800;margin-bottom:4px}
.hr-empty p{color:var(--muted);margin:0 0 10px}
.hr-facts,.hr-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px;padding:12px;border-radius:14px;background:var(--surface-2)}
.hr-facts>div,.hr-review>div{display:grid;gap:2px}
.hr-facts dt,.hr-review dt{font-size:.78rem;color:var(--muted)}
.hr-facts dd,.hr-review dd{margin:0;font-weight:700}
.hr-files{margin:10px 0;display:grid;gap:6px}
.hr-files>div{display:flex;flex-wrap:wrap;gap:8px}
.hr-file{display:inline-flex;align-items:center;gap:6px}
.hr-complete{display:grid;gap:10px;padding:12px;border:1px solid var(--tl-red);border-radius:14px;background:var(--red-bg)}
.hr-complete b{color:var(--red-ink)}
.hr-form{display:grid;gap:8px}
.hr-form-status{min-height:1.2em}

/* ---------- wizard ---------- */
.hr-wizard{display:grid;gap:16px;max-width:760px;margin-inline:auto}
.hr-stepper{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.hr-stepper li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--muted);font-size:.82rem;position:relative}
.hr-stepper li::before{content:"";position:absolute;top:15px;inset-inline:-50% 50%;height:2px;background:var(--line-2);z-index:0}
.hr-stepper li:first-child::before{display:none}
.hr-step-dot{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--line-2);background:var(--surface);font-weight:800}
.hr-stepper li.is-current{color:var(--ink);font-weight:800}
.hr-stepper li.is-current .hr-step-dot{border-color:var(--gold);background:var(--green);color:var(--on-green)}
.hr-stepper li.is-done .hr-step-dot{border-color:var(--tl-green);background:var(--tl-green);color:#fff}
.hr-wiz-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);display:grid;gap:14px}
.hr-wiz-card h2{margin:0;font-size:1.25rem}
.hr-lookup{display:grid;gap:10px}
.hr-confirm{display:grid;gap:10px;padding:14px;border:1.5px solid var(--gold);border-radius:16px;background:var(--surface-2)}
.hr-confirm-q{margin:0;font-weight:800;font-size:1.1rem}
.hr-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.hr-candidate small{display:block;color:var(--muted)}
.hr-callout{display:grid;gap:2px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-2)}
.hr-callout.is-warn{border-color:var(--amber);background:var(--amber-bg);color:var(--amber-ink)}
.hr-callout.is-info{border-color:var(--gold);background:var(--gold-soft);color:var(--ink)}
.hr-doc{display:grid;gap:6px}
.hr-doc-status ul{margin:4px 0 0;padding-inline-start:18px;color:var(--muted);font-size:.85rem}
.hr-req-mark{font-style:normal;font-size:.72rem;padding:1px 8px;border-radius:999px;background:var(--red-bg);color:var(--red-ink)}
.hr-ok{color:var(--ok-ink);background:var(--ok-bg);padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:700}
.hr-err{color:var(--red-ink);font-weight:700}
.hr-muted{color:var(--muted)}
.hr-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}
.hr-success{display:grid;justify-items:center;gap:10px;text-align:center;padding:12px}
.hr-check{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ok-bg);color:var(--ok-ink);font-size:1.6rem;font-weight:800;border:2px solid var(--ok-bd)}

@media (max-width:600px){
 .hr-hero{padding:16px}
 .hr-new{width:100%;justify-content:center}
 .hr-stats{gap:10px}
 .hr-stat{padding:14px}
 .hr-wiz-card{padding:16px}
 .hr-stepper li{font-size:.7rem}
 .hr-actions .btn{flex:1}
 .hr-candidate{flex-direction:column;align-items:stretch}
}

/* admin mismatch flags */
.hr-flags{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:.85rem}
.hr-flags.is-warn li{padding:6px 10px;border-radius:10px;background:var(--amber-bg);color:var(--amber-ink);border:1px solid var(--amber)}

/* keep wide children (timeline scroller, file inputs, legend) inside the viewport on phones */
.hr-home,.hr-list,.hr-card,.hr-req,.hr-wizard,.hr-wiz-card,.hr-facts,.hr-complete,.hr-form,.hr-stat{min-width:0;max-width:100%}
.hr-card input[type=file],.hr-wiz-card input[type=file]{max-width:100%}
.hr-card .tl-legend{overflow-wrap:anywhere}

.name-suggest-host{position:relative}
.name-suggest{position:absolute;inset-inline:0;top:calc(100% - 2px);z-index:40;max-height:280px;overflow:auto;background:var(--panel,var(--card,#fff));border:1px solid var(--line,#c9b98f);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.name-suggest.hidden{display:none}
.name-suggest-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;background:none;border:0;border-bottom:1px solid var(--line,#e3d8bb);font:inherit;color:inherit;cursor:pointer;text-align:start}
.name-suggest-item:last-child{border-bottom:0}.name-suggest-item:hover,.name-suggest-item:focus{background:var(--hover,rgba(120,90,30,.12))}.name-suggest-item small{opacity:.75}
.name-suggest-empty{padding:12px 14px;opacity:.8}
