/* STAFF HEALTH CHECK — R5 Airy Touch UI. Presentation-only: no database changes. */
:root{--r5-ink:#102b52;--r5-muted:#5e7190;--r5-line:#e3eaf3;--r5-bg:#f5f8fc;--r5-red:#df2857;--r5-rose:#fff0f4;--r5-lift:0 14px 40px rgba(27,62,104,.055);--r5-radius:21px}
html{scroll-behavior:smooth}body{font-size:14px;line-height:1.65;color:var(--r5-ink)}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #5b94e8!important;outline-offset:3px}
.r5-admin,.r5-public,.r5-auth{--red:var(--r5-red);--ink:var(--r5-ink);--muted:var(--r5-muted);--line:var(--r5-line);--bg:var(--r5-bg);font-size:14px;color:var(--r5-ink)}
/* White navigation replaces heavy crimson blocks. */
.r5-admin .sidebar{background:linear-gradient(180deg,#fff 0%,#f9fcff 72%,#fff6f8 100%);color:var(--r5-ink);border-right:1px solid #e2eaf2;box-shadow:none;padding-bottom:5px;scrollbar-color:#e3e9f3 transparent}
.r5-admin .sidebar-brand{min-height:94px;padding:21px 17px 20px}
.r5-admin .sidebar .brandmark{width:51px;height:51px;border-radius:14px;background:linear-gradient(135deg,#eb315f,#d51d4f);color:#fff;box-shadow:0 5px 15px #df28571a;font-size:23px}
.r5-admin .sidebar-brand strong{font-size:17px;color:#d52855;font-weight:800;letter-spacing:-.3px}
.r5-admin .sidebar-brand small{font-size:10px;letter-spacing:.25px;color:#71819a;line-height:1.5;font-weight:600}
.r5-admin .sidebar-nav{gap:5px;padding:10px 8px}
.r5-admin .sidebar-nav .nav-item{min-height:53px;margin:0 4px;padding:10px 12px;border-radius:13px;color:#203f67;gap:13px;transition:background-color .12s ease}
.r5-admin .sidebar-nav .nav-icon{width:27px;height:27px;color:#1c4a79;opacity:1}
.r5-admin .sidebar-nav .nav-names strong{font-size:13px;color:#173960;letter-spacing:0;font-weight:700}
.r5-admin .sidebar-nav .nav-names small{font-size:10.5px;color:#788aa5;line-height:1.4}
.r5-admin .sidebar-nav .nav-item:hover{background:#f2f7fd;color:#174777}
.r5-admin .sidebar-nav .nav-item.active{background:#fff0f3!important;border-color:#ffe1e9;box-shadow:none!important}
.r5-admin .sidebar-nav .nav-item.active .nav-icon,.r5-admin .sidebar-nav .nav-item.active .nav-names strong{color:#d82053}
.r5-admin .sidebar-nav .nav-item.active .nav-names small{color:#b65b77}
.r5-admin .sidebar-scene{margin-top:auto;min-height:105px;border:0;background:radial-gradient(ellipse at 20% 105%,#ffe1e8 0%,transparent 77%),linear-gradient(180deg,transparent,#faf0f4);color:#c25577;padding:15px 24px}
.r5-admin .sidebar-scene .plane-icon{top:-12px;left:auto;right:10px;font-size:77px;color:#e6abc1;opacity:.24}
.r5-admin .sidebar-scene span:last-child{font-size:11px;line-height:1.6;color:#a45f75;font-style:italic}
.r5-admin .sidebar-bottom{background:#fff;border-top:1px solid var(--r5-line);color:#3d536f;padding:11px 12px 18px}
.r5-admin .sidebar-bottom .nav-item{color:#4e6080;border-radius:10px;min-height:36px;font-size:12px}
.r5-admin .sidebar-bottom .nav-item:hover{background:#f3f7fb}
.r5-admin .sidebar-user{background:#f6f8fc;border:1px solid #e9edf3;border-radius:13px;padding:11px}
.r5-admin .sidebar-user strong{color:#173960;font-size:12px}
.r5-admin .sidebar-user small{color:#71829d}
.r5-admin .admin-content{background:#f5f8fc}
.r5-admin .admin-topbar{background:#f9fbff;min-height:77px;padding:13px 26px;border-bottom:1px solid #e7edf5;box-shadow:none}
.r5-admin .r4-global-search{min-height:47px;border-color:#e2eaf4;background:#fff;color:#df2857;border-radius:13px;padding:7px 15px}
.r5-admin .r4-global-search input{font-size:13px;color:#14395c}
.r5-admin .r4-global-search kbd{background:#f5f7fb;color:#74839a}
.r5-admin .r4-yearpick{border-color:#e1eaf3;border-radius:12px;padding:10px 12px;background:#fff}
.r5-admin .r4-yearpick select{font-size:13px;color:#14365f}
.r5-admin .r4-bell{color:#d9365e}
.r5-admin .r4-userchip .avatar{color:#376b9a;background:#e5effa}
.r5-admin .r4-userchip strong{font-size:13px;color:#143253}
.r5-admin .r4-userchip small{font-size:11px}
/* Sky banner from built-in SVG (no third-party calls). */
.r5-admin .r4-banner{margin:17px 22px 0;min-height:184px;border-radius:19px;padding:27px 36px;border:1px solid #dceaf5;background:linear-gradient(104deg,#dceffd 0%,#ebf5fd 38%,#fef2f5 70%,#f7e6ef 100%);isolation:isolate}
.r5-admin .r4-banner:before{content:'';position:absolute;bottom:-37px;right:6%;width:60%;height:100px;border-radius:50%;background:radial-gradient(ellipse at center,#fff9fcbb,#fff0f4a0 54%,transparent 72%);z-index:0}
.r5-admin .r4-banner::after{width:55%;height:100%;opacity:.96;background-image:url('/assets/airplane.svg');background-repeat:no-repeat;background-position:center right;background-size:contain}
.r5-admin .r4-breadcrumb{font-size:10px;letter-spacing:1.6px;color:#ca476b}
.r5-admin .r4-banner h1{font-size:clamp(25px,2.8vw,41px);color:#102e58;margin:10px 0 1px;line-height:1.25}
.r5-admin .r4-banner-en{font-size:21px;color:#d32a54;font-weight:700}
.r5-admin .r4-banner p{font-size:13px;color:#4a6282;max-width:440px;line-height:1.75}
.r5-admin .r4-banner-art small{display:none}
.r5-admin .admin-main{padding:20px 22px 45px}
.r5-admin .welcome{background:linear-gradient(102deg,#fff,#fff8fa);color:#112e52;border:1px solid #e7edf4;box-shadow:var(--r5-lift);padding:21px 25px;margin-bottom:15px;border-radius:17px}
.r5-admin .welcome::after{color:#ef9eb420}
.r5-admin .welcome .eyebrow{color:#da3662;font-size:11px}
.r5-admin .welcome h2{color:#17365c;font-size:21px}
.r5-admin .welcome h2 span{color:#e85b80}
.r5-admin .welcome p{color:#7486a0;font-size:12px}
.r5-admin .welcome .btn{color:#b51f47;border:1px solid #f1d4de}
.r5-admin .quick-toolbar{background:#fff;border:1px solid var(--r5-line);box-shadow:none;border-radius:14px;padding:11px 17px;gap:12px}
.r5-admin .quick-toolbar>span{color:#526785;font-size:12px;font-weight:650}
.r5-admin .quick-toolbar a{color:#b6375d;background:#fff6f8;border:1px solid #f7e1e8;padding:8px 13px;font-size:12px}
.r5-admin .quick-toolbar a:hover{background:#ffeef2}
.r5-admin .metric-grid{gap:14px;margin-bottom:16px}
.r5-admin .metric-card,.r5-admin .admin-card{background:#fff;border-color:#e8edf5;border-radius:18px;box-shadow:var(--r5-lift)}
.r5-admin .metric-card{min-height:146px;padding:20px 18px 18px 81px}
.r5-admin .metric-card .metric-icon{width:53px;height:53px;left:17px;top:20px;border-radius:15px;font-size:25px}
.r5-admin .metric-card:nth-child(1) .metric-icon{background:#ffe8ef;color:#e52758}
.r5-admin .metric-card:nth-child(2) .metric-icon{background:#e5f8f0;color:#14a371}
.r5-admin .metric-card:nth-child(3) .metric-icon{background:#fff0e9;color:#ed7966}
.r5-admin .metric-card:nth-child(4) .metric-icon{background:#f5eaff;color:#ad53d1}
.r5-admin .metric-card small{font-size:13px;color:#3b5070;font-weight:650}
.r5-admin .metric-card strong{font-size:31px;color:#103157;font-weight:800}
.r5-admin .metric-card span{font-size:11px;color:#7c8aa3}
.r5-admin .admin-card{padding:23px}
.r5-admin .card-top h3{font-size:18px;color:#173960}
.r5-admin .section-kicker{font-size:10px;color:#d53660;letter-spacing:1.1px}
.r5-admin .progress-score strong{color:#d63762}
.r5-admin .progress-line{accent-color:#ed4a76}
.r5-admin .operations-grid,.r5-admin .two-col{gap:16px}
.r5-admin .operations-card{min-height:205px}
.r5-admin .secure-inline{color:#69849a}
.r5-admin .data-table{font-size:12.5px}
.r5-admin .data-table th{background:#f3f7fc;color:#47617f;font-size:11px;padding:14px 12px;font-weight:750;letter-spacing:0}
.r5-admin .data-table td{color:#283f60;font-size:12px;padding:13px 12px;border-color:#e9eef5}
.r5-admin .data-table tbody tr:hover td{background:#f6faff}
.r5-admin .data-table td:first-child strong{color:#c53058}
.r5-admin .data-table td strong{font-weight:700}
.r5-admin .page-intro{margin-bottom:17px}
.r5-admin .page-intro h2{font-size:22px;color:#17365a}
.r5-admin .page-intro p,.r5-admin .muted{color:#697f9a}
.r5-admin .btn-primary{background:linear-gradient(110deg,#e32d59,#d32957);border-radius:12px;box-shadow:0 7px 20px #e5345629;color:#fff}
.r5-admin .btn-ghost{background:#f4f8fc;border:1px solid #dfe7f1;color:#265078;border-radius:12px}
.r5-admin .btn-danger{border-radius:12px}
.r5-admin .text-link{color:#ce315a}
.r5-admin .form-stack input,.r5-admin .form-stack select,.r5-admin .form-stack textarea,.r5-admin .filter-bar input,.r5-admin .filter-bar select{background:#fff;border:1px solid #dae6f2;border-radius:11px;color:#233f64;min-height:43px;font-size:13px}
.r5-admin .filter-bar{gap:14px}
.r5-admin .filter-search{background:#fff;border:1px solid #dae6f2;border-radius:12px}
.r5-admin .filter-bar label{font-size:12px;color:#3c5677}
.r5-admin .status-pill.green{background:#e3f7ee;color:#117c55}
.r5-admin .status-pill.gray{background:#eff3f8;color:#60738a}
.r5-admin .status-pill.amber{background:#fff5de;color:#9c671b}
.r5-admin .r4-year-card{border-radius:16px;border-color:#e1eaf3}
.r5-admin .r4-year-card.is-selected{background:#fff3f6;border-color:#f8c6d4}
.r5-admin .r4-status-list>div{font-size:12px;color:#496781}
.r5-admin .admin-footer{background:#f9fbff;font-size:11px;color:#7486a0}
/* Public portal: content-first, no dark header. */
.r5-public{background:#f7fafe;color:#152f50}
.r5-public .public-top{background:#fff;border-bottom:1px solid #e4eaf3;color:#1b3558;box-shadow:0 3px 16px #2a47620c}
.r5-public .public-top .brandmark,.r5-public .public-footer .brandmark{background:linear-gradient(135deg,#ec3965,#d91a4b);color:#fff}
.r5-public .public-top .brand strong{font-size:20px;color:#d72755}
.r5-public .public-top .brand small{font-size:10px;color:#6a7d99;letter-spacing:1px}
.r5-public .header-row{min-height:82px}
.r5-public .top-chip{background:#eaf9f2;border:1px solid #cdeedd;color:#2b8164;letter-spacing:.7px;font-size:11px}
.r5-public .pulse{background:#2ac190;box-shadow:0 0 0 4px #aaf0d56b}
.r5-public .hero{min-height:385px;background:radial-gradient(ellipse at 69% 42%,#ffedf1,transparent 42%),linear-gradient(115deg,#eef7ff,#f9fbff 44%,#fff1f4)}
.r5-public .hero::before{content:'';inset:auto 0 -75px auto;width:60%;height:180px;border:0;background:radial-gradient(ellipse,#f2dbeea8,transparent 72%)}
.r5-public .hero-grid{min-height:385px;padding-top:20px;padding-bottom:108px;grid-template-columns:1.2fr .8fr}
.r5-public .hero h1{color:#122c50;font-size:clamp(31px,3.9vw,55px);letter-spacing:-1.8px;line-height:1.25}
.r5-public .gradient-text{background:linear-gradient(90deg,#d52a57,#ef6b8b);-webkit-background-clip:text;background-clip:text}
.r5-public .hero-copy>p{font-size:15px;color:#57708e;max-width:590px}
.r5-public .hero-pills span{background:#ffffffd9;border:1px solid #e8eef6;box-shadow:0 5px 16px #2c4b6710;color:#426385;font-size:11px}
.r5-public .hero-art{height:290px;background:url('/assets/airplane.svg') center / contain no-repeat;filter:drop-shadow(0 17px 16px #6682b519)}
.r5-public .hero-art>*{display:none!important}
.r5-public .content-lift{margin-top:-73px}
.r5-public .card-float{border:1px solid #e2ebf5;border-radius:22px;box-shadow:0 22px 48px #365b8513;padding:28px 32px}
.r5-public .search-head h2{color:#17365b;font-size:26px}
.r5-public .search-head p{font-size:13px;color:#6c7f98}
.r5-public .input-container input,.r5-public .year-select select{border:1px solid #d9e5f1;background:#fbfdff;color:#173957;font-size:16px}
.r5-public .search-btn{background:linear-gradient(108deg,#e3315d,#ce2853)!important;border-radius:13px;font-size:15px}
.r5-public .search-footer{color:#7185a0;font-size:11px}
.r5-public .result{border-radius:18px;align-items:center}
.r5-public .result-success{background:linear-gradient(108deg,#eafff4,#f6fffa);border-color:#c8eedb;color:#166949}
.r5-public .result-success h3{font-size:30px;color:#15784f}
.r5-public .result-used{background:#fff8ed;border-color:#f4dfb9}
.r5-public .result-none{background:#f4f7fb;border-color:#dfe7f2}
.r5-public .board-section{padding:63px 0 55px}
.r5-public .section-heading h2{color:#13365b;font-size:29px}
.r5-public .board-count{background:#fff;border-color:#e7edf4;color:#4c637d}
.r5-public .notice-search-wrap{border-color:#e4eaf3;background:#fff}
.r5-public .notice-card{border:1px solid #e0e9f2;box-shadow:var(--r5-lift);border-radius:17px;overflow:hidden;background:#fff}
.r5-public .notice-card:hover{border-color:#f4a8bf;transform:translateY(-2px)}
.r5-public .notice-meta{color:#b34265}
.r5-public .notice-card h3{color:#1c3c61;font-size:15px}
.r5-public .help-strip{background:linear-gradient(110deg,#eaf4fd,#fff0f5);border-color:#e1eaf2;color:#1e4b70;border-radius:18px}
.r5-public .help-strip h3{color:#19476b}
.r5-public .public-footer{background:#fff;border-top:1px solid #e5eaf2;color:#62758f}
/* Login: premium clean card, softer look than R4 */
.r5-auth{min-height:100vh;background:radial-gradient(circle at 18% 35%,#f8e8f2,transparent 30%),linear-gradient(110deg,#eaf5ff 0%,#f8fbff 47%,#fff0f5 100%)}
.r5-auth::before{content:'';position:fixed;right:4%;top:17%;width:44%;height:56%;background:url('/assets/airplane.svg') center / contain no-repeat;opacity:.52;pointer-events:none}
.r5-auth .auth-panel{position:relative;z-index:2;border-radius:25px;border:1px solid #e4e9f2;box-shadow:0 24px 70px #27568119;background:#fff;padding:50px;max-width:540px;margin-left:max(8%,calc((100% - 1400px)/2));margin-right:auto}
.r5-auth .auth-brand{margin-bottom:35px}
.r5-auth .auth-brand .brandmark{background:#e42f5d;color:#fff}
.r5-auth .auth-brand strong{color:#19345a}
.r5-auth .auth-brand small{color:#7082a0}
.r5-auth .eyebrow{color:#dd3560}
.r5-auth h1{color:#19375a;font-size:31px}
.r5-auth .form-stack input{min-height:49px;background:#fafdff;border:1px solid #dce6f3;border-radius:12px}
.r5-auth .form-stack label{font-size:13px;color:#435b7b}
.r5-auth .btn-primary{background:linear-gradient(110deg,#df2757,#e9456c);border-radius:12px;min-height:50px}
.r5-auth .back-link{color:#d12c56}
/* Accessibility: comfortable text density and reduced motion. */
@media(max-width:1260px){.r5-admin .r4-banner{margin:13px 15px 0}.r5-admin .admin-main{padding:17px 15px 32px}.r5-admin .metric-card{padding-left:72px}.r5-admin .metric-card .metric-icon{left:12px;width:48px;height:48px}.r5-admin .metric-card small{font-size:12px}}
@media(max-width:1000px){.r5-admin .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r5-admin .two-col,.r5-admin .operations-grid{grid-template-columns:1fr}}
@media(max-width:770px){.r5-admin .sidebar{left:-285px;width:270px;box-shadow:8px 0 35px #122e4a12}.r5-admin .sidebar.is-open{left:0}.r5-admin .admin-content{margin-left:0}.r5-admin .admin-topbar{min-height:64px;padding:9px 13px}.r5-admin .r4-global-search{min-height:40px;padding:5px 8px}.r5-admin .r4-global-search input{font-size:11px}.r5-admin .r4-yearpick{padding:7px 5px}.r5-admin .r4-banner{margin:10px 11px 0;min-height:138px;padding:18px 20px}.r5-admin .r4-banner h1{font-size:26px}.r5-admin .r4-banner-en{font-size:17px}.r5-admin .r4-banner p{font-size:11px;max-width:240px}.r5-admin .r4-banner:after{opacity:.44;width:65%}.r5-admin .admin-main{padding:13px 11px 25px}.r5-admin .metric-card{min-height:126px}.r5-public .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:29px;padding-bottom:98px}.r5-public .hero-art{display:none}.r5-public .hero h1{font-size:clamp(31px,7vw,41px)}.r5-public .card-float{padding:24px 19px}.r5-public .section-heading h2{font-size:25px}.r5-auth::before{opacity:.1;width:86%;right:0}.r5-auth .auth-panel{margin:5vh auto;padding:31px 26px;width:min(91%,540px)}}
@media(max-width:440px){.r5-admin .metric-grid{gap:9px}.r5-admin .metric-card{padding:12px;min-height:145px}.r5-admin .metric-card .metric-icon{position:static;width:36px;height:36px;margin:0 0 7px;font-size:17px}.r5-admin .metric-card strong{font-size:26px}.r5-admin .metric-card small{font-size:11px}.r5-admin .r4-banner h1{font-size:23px}.r5-admin .sidebar-nav .nav-item{min-height:50px}.r5-public .search-head h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.r5-admin *,.r5-public *,.r5-auth *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:770px){.r5-admin .admin-card:has(.data-table){overflow-x:auto}.r5-admin .data-table{min-width:570px}.r5-admin .table-scroll .data-table{min-width:570px}}
