@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@600;700;800;900&display=swap");:root{--brand-dark:#072e3f;--brand-darker:#031c27;--brand-teal:#1bbca9;--brand-teal-hover:#169b8b;--brand-ice:#eaf4fb;--surface:#ffffff;--background:#f8fafc;--text-primary:#0b1924;--text-secondary:#475569;--text-muted:#64748b;--border:#e2e8f0;--border-hover:#cbd5e1;--danger:#b42318;--danger-bg:#fef2f2;--danger-border:#fecaca;--success:#059669;--success-bg:#f0fdf4;--success-border:#bbf7d0}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:#ffffff;color:var(--text-primary);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-teal) 75%,white);outline-offset:2px}.split-login-container{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#ffffff;padding:12px}@media (min-width:1024px){.split-login-container{padding:16px 20px;gap:0}}.login-visual-card{display:none}@media (min-width:1024px){.login-visual-card{display:flex;flex-direction:column;justify-content:space-between;flex:1 1 48%;max-width:48%;height:min(calc(100dvh - 36px),680px);border-radius:24px;position:relative;overflow:hidden;padding:32px 36px;color:#ffffff;background:#072e3f url(/japan-banner.jpg) no-repeat 50%;background-size:cover;box-shadow:0 20px 50px -15px rgba(7,46,63,.3)}}.login-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,46,63,.22),rgba(255,255,255,0) 25%,rgba(255,255,255,0) 56%,rgba(4,28,39,.65) 78%,rgba(4,28,39,.93));pointer-events:none}.login-visual-content-top{position:relative;z-index:2}.login-visual-content-bottom{position:relative;z-index:2;max-width:460px}.login-brand-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(7,46,63,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 20px rgba(0,0,0,.2)}.login-brand-logo-text{font-size:13px;font-weight:800;letter-spacing:.08em}.login-brand-logo-text,.login-visual-headline{font-family:Outfit,sans-serif;color:#ffffff;text-transform:uppercase}.login-visual-headline{font-size:clamp(28px,2.6vw,36px);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin:0 0 10px;text-shadow:0 4px 20px rgba(0,0,0,.45)}.login-visual-desc{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.88);margin:0 0 18px;text-shadow:0 2px 10px rgba(0,0,0,.35)}.login-visual-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#a7f3d0;background:rgba(6,78,59,.6);border:1px solid rgba(52,211,153,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:5px 12px;border-radius:999px}.login-form-area{flex:1 1 52%;display:flex;align-items:center;justify-content:center;padding:24px 16px}@media (min-width:1024px){.login-form-area{padding:28px 48px}}.login-form-wrapper{width:100%;max-width:410px;display:flex;flex-direction:column}.mobile-brand-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}@media (min-width:1024px){.mobile-brand-header{display:none}}.login-header{margin-bottom:22px}.login-eyebrow{display:inline-block;color:var(--brand-teal-hover);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.login-title{font-family:Outfit,sans-serif;font-size:clamp(24px,3.2vw,30px);font-weight:800;letter-spacing:-.01em;color:var(--brand-dark);margin:0 0 6px;line-height:1.15}.login-subtitle{font-size:14px;color:var(--text-muted);margin:0}.field-group{margin-bottom:14px}.input-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.custom-input{width:100%;height:44px;border:1.5px solid var(--border);border-radius:12px;padding:0 14px;font-size:14px;color:var(--text-primary);background:#ffffff;transition:all .2s cubic-bezier(.16,1,.3,1)}.custom-input:hover{border-color:var(--border-hover)}.custom-input:focus{border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(27,188,169,.15);outline:none}.custom-input::-moz-placeholder{color:#94a3b8}.custom-input::placeholder{color:#94a3b8}.password-container{position:relative;display:flex;align-items:center}.password-container .custom-input{padding-right:44px}.password-toggle-btn{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:0;background:transparent;color:var(--text-muted);transition:color .15s ease,background-color .15s ease}.password-toggle-btn:hover{color:var(--brand-dark);background:#f1f5f9}.form-options-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;margin-bottom:18px;font-size:13px}.checkbox-label{display:flex;align-items:center;gap:7px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.custom-checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border);accent-color:var(--brand-dark);cursor:pointer}.forgot-password-btn{border:0;background:transparent;padding:0;font-size:13px;font-weight:700;color:var(--brand-dark);text-decoration:none;cursor:pointer;transition:color .15s ease}.forgot-password-btn:hover{color:var(--brand-teal-hover);text-decoration:underline}.login-submit-btn{width:100%;height:46px;border:0;border-radius:12px;background:var(--brand-dark);color:#ffffff;font-size:15px;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px rgba(7,46,63,.2)}.login-submit-btn:hover:not(:disabled){background:#0a3e54;transform:translateY(-1px);box-shadow:0 6px 18px rgba(7,46,63,.28)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.security-notice-card{margin-top:18px;padding:10px 14px;border-radius:12px;background:#f8fafc;border:1px solid #edf2f7;display:flex;align-items:flex-start;gap:10px}.security-notice-icon{color:var(--brand-teal-hover);flex-shrink:0;margin-top:1px}.security-notice-title{font-weight:700;font-size:12px;color:var(--brand-dark);margin-bottom:2px}.security-notice-text{font-size:11.5px;line-height:1.45;color:var(--text-muted);margin:0}.feedback-box{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;animation:fadeIn .2s ease}.feedback-box.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.feedback-box.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.login-footer-help{margin-top:18px;text-align:center;font-size:12.5px;color:var(--text-muted)}.login-footer-help a,.login-footer-help button{color:var(--brand-dark);font-weight:700;border:0;background:transparent;padding:0;cursor:pointer}.login-footer-help a:hover,.login-footer-help button:hover{color:var(--brand-teal-hover);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;text-align:center;background:var(--background)}.admin-shell-root{display:flex;min-height:100dvh;background:#f8fafc;color:var(--text-primary)}.admin-shell-sidebar-desktop{display:none}@media (min-width:1024px){.admin-shell-sidebar-desktop{display:block;width:240px;flex-shrink:0;height:100dvh;position:sticky;top:0;z-index:30}}.admin-shell-main-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100dvh}.admin-shell-page-content{flex:1;padding:20px 16px 40px;max-width:1440px;margin:0 auto;width:100%}@media (min-width:768px){.admin-shell-page-content{padding:24px 28px 48px}}.admin-mobile-drawer-backdrop{position:fixed;inset:0;background:rgba(7,46,63,.45);backdrop-filter:blur(4px);z-index:998;animation:fadeIn .2s ease}.admin-mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:250px;max-width:85vw;background:#ffffff;z-index:999;transform:translateX(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 40px rgba(0,0,0,.2)}.admin-mobile-drawer.open{transform:translateX(0)}.admin-sidebar{display:flex;flex-direction:column;height:100%;background:#ffffff;border-right:1px solid #e2e8f0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-brand-container{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #f1f5f9;height:60px}.sidebar-brand-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;min-width:0}.sidebar-brand-logo-wrap{display:flex;align-items:center;flex-shrink:0}.sidebar-persol-logo-img{height:22px;width:auto;-o-object-fit:contain;object-fit:contain}.sidebar-brand-divider{width:1px;height:18px;background:#cbd5e1;flex-shrink:0}.sidebar-brand-meta{display:flex;flex-direction:column;min-width:0}.sidebar-brand-title{font-family:Outfit,sans-serif;font-size:13px;font-weight:800;letter-spacing:.02em;color:#072e3f;line-height:1.1;white-space:nowrap}.sidebar-brand-sub{font-size:10px;color:#64748b;font-weight:600;line-height:1.1;margin-top:1px;white-space:nowrap}.sidebar-mobile-close-btn{background:transparent;border:0;color:#64748b;display:grid;place-items:center;width:30px;height:30px;border-radius:8px}.sidebar-mobile-close-btn:hover{background:#f1f5f9;color:#0f172a}.sidebar-nav-scroll{flex:1;overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:14px}.sidebar-nav-scroll::-webkit-scrollbar{width:5px}.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.nav-group-section{display:flex;flex-direction:column;gap:3px}.nav-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;color:#94a3b8;padding:6px 10px 4px}.nav-single-item{display:flex;flex-direction:column}.nav-link-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:500;color:#475569;text-decoration:none;transition:all .15s ease;position:relative}.nav-link-row:hover{background:#f1f5f9;color:#072e3f}.nav-link-row.active{background:#eaf4fb;color:#072e3f;font-weight:700}.nav-link-row.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3.5px;border-radius:0 4px 4px 0;background:var(--brand-teal)}.nav-row-icon{flex-shrink:0;color:#64748b;transition:color .15s ease}.nav-link-row.active .nav-row-icon,.nav-link-row:hover .nav-row-icon{color:var(--brand-teal)}.nav-row-label{flex:1}.nav-tree-branch{display:flex;flex-direction:column}.nav-tree-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:500;color:#475569;background:transparent;border:0;text-align:left;transition:background .15s ease}.nav-tree-header:hover{background:#f1f5f9;color:#072e3f}.nav-tree-header-left{display:flex;align-items:center;gap:9px}.nav-tree-header-right{display:flex;align-items:center;gap:6px;color:#94a3b8}.nav-tree-children{display:flex;flex-direction:column;gap:2px;margin-left:16px;padding-left:10px;border-left:1.5px solid #e2e8f0;margin-top:2px;margin-bottom:5px}.nav-sub-link{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:8px;font-size:12.5px;font-weight:500;color:#64748b;text-decoration:none;transition:all .15s ease}.nav-sub-link:hover{background:#f1f5f9;color:#072e3f}.nav-sub-link.active{background:#eaf4fb;color:#072e3f;font-weight:700}.tree-leaf-bullet{width:5px;height:5px;border-radius:50%;background:#cbd5e1;flex-shrink:0}.nav-sub-link.active .tree-leaf-bullet{background:var(--brand-teal);box-shadow:0 0 0 3px rgba(27,188,169,.2)}.sidebar-badge-warning{margin-left:auto;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#fef3c7;color:#b45309;border:1px solid #fde68a;white-space:nowrap}.sidebar-badge-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:#ffedd5;color:#c2410c;margin-left:auto}.sidebar-footer-card{display:flex;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid #f1f5f9;background:#ffffff;height:64px}.sidebar-user-avatar{width:32px;height:32px;border-radius:8px;background:#072e3f;color:#ffffff;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:12.5px;font-weight:700;color:#0f172a}.sidebar-user-email,.sidebar-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:#64748b}.sidebar-user-role-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#0f766e;margin-top:1px}.sidebar-user-role-badge .role-dot{width:5px;height:5px;border-radius:50%;background:var(--brand-teal)}.sidebar-logout-btn{background:transparent;border:0;color:#94a3b8;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;transition:all .15s ease}.sidebar-logout-btn:hover{background:#fee2e2;color:#b91c1c}.admin-header{height:68px;background:#ffffff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:20}@media (min-width:768px){.admin-header{padding:0 28px}}.header-left{display:flex;align-items:center;gap:14px;min-width:0}.header-hamburger-btn{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}@media (min-width:1024px){.header-hamburger-btn{display:none}}.header-breadcrumb-nav{min-width:0}.header-breadcrumb-list{list-style:none;margin:0;padding:0;font-size:13px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-breadcrumb-item,.header-breadcrumb-list{display:flex;align-items:center;gap:6px}.breadcrumb-separator{color:#cbd5e1}.breadcrumb-text.active{font-weight:700;color:#072e3f}.header-right{display:flex;align-items:center;gap:8px}.header-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s ease;white-space:nowrap;line-height:1.2}.header-action-btn.navy{background:#ffffff;color:#072e3f;border:1.5px solid #072e3f;box-shadow:0 1px 2px rgba(7,46,63,.05)}.header-action-btn.navy:hover{background:#f0f7f9;border-color:#0c3d53;color:#0c3d53}.header-action-btn.teal{background:#1bbca9;color:#ffffff;border:1px solid #1bbca9;box-shadow:0 1px 2px rgba(27,188,169,.2)}.header-action-btn.teal:hover{background:#159a8a;border-color:#159a8a;color:#ffffff}.admin-page-container{display:flex;flex-direction:column;gap:20px}.dashboard-overview-header{padding-bottom:2px}.firestore-live-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff;border:1px solid #e2e8f0;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;color:#475569;box-shadow:0 1px 2px rgba(0,0,0,.03)}.firestore-live-badge .live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.25)}.dashboard-refresh-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff;border:1px solid #cbd5e1;color:#0f172a;padding:6px 14px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .15s ease}.dashboard-refresh-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;color:#072e3f}.dashboard-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.bento-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.bento-kpi-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit;box-shadow:0 1px 3px rgba(0,0,0,.04),0 6px 12px -3px rgba(0,0,0,.03);transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.bento-kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -6px rgba(7,46,63,.1);border-color:#cbd5e1}.kpi-card-header{display:flex;align-items:center;justify-content:space-between}.kpi-card-label{font-size:11px;font-weight:800;letter-spacing:.06em;color:#64748b}.kpi-icon-box{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.kpi-icon-box.total{background:#e0f2fe;color:#0284c7}.kpi-icon-box.new-cad{background:#fef3c7;color:#d97706}.kpi-icon-box.processing{background:#e0e7ff;color:#4f46e5}.kpi-icon-box.completed{background:#dcfce7;color:#16a34a}.kpi-card-number{font-family:Outfit,sans-serif;font-size:38px;font-weight:800;color:#072e3f;margin:12px 0 8px;font-variant-numeric:tabular-nums;line-height:1}.kpi-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding-top:10px;border-top:1px solid #f8fafc}.kpi-trend-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-weight:700}.kpi-trend-pill.positive{background:#dcfce7;color:#15803d}.kpi-badge-count-pill{background:#ffedd5;color:#c2410c;padding:2px 8px;border-radius:6px;font-weight:700;font-size:11px}.kpi-status-text{color:#64748b;font-size:11.5px}.kpi-subtext{color:#0284c7;font-weight:700;font-size:12px}.bento-analytics-row{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width:1024px){.bento-analytics-row{grid-template-columns:6fr 4fr}}.dashboard-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 6px 12px -3px rgba(0,0,0,.03)}.card-header-row{justify-content:space-between;margin-bottom:16px}.card-header-row,.card-title-group{display:flex;align-items:center;gap:12px}.card-header-icon-teal{color:var(--brand-teal);flex-shrink:0}.card-title{margin:0;font-size:16px;font-weight:800;color:#072e3f}.card-subtitle{margin:2px 0 0;font-size:12.5px;color:#64748b}.card-action-btn{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:#0284c7;text-decoration:none;padding:6px 10px;border-radius:6px;background:#f0f9ff;transition:background .15s ease;white-space:nowrap}.card-action-btn:hover{background:#e0f2fe}.checkin-progress-block{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:18px 20px;margin-bottom:18px}.checkin-percentage-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.big-rate-display{display:flex;align-items:baseline;gap:10px}.rate-value{font-family:Outfit,sans-serif;font-size:40px;font-weight:800;color:#072e3f;line-height:1}.rate-label{font-size:13.5px;font-weight:600;color:#64748b}.checkin-target-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#e2e8f0;color:#475569}.progress-bar-track{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1bbca9,#10b981);transition:width .6s ease}.checkin-substats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.substat-item{padding:14px;border-radius:10px;border:1px solid #f1f5f9}.substat-item.checked{background:#f0fdf4;border-color:#dcfce7}.substat-item.unchecked{background:#f8fafc;border-color:#e2e8f0}.substat-header{display:flex;align-items:center;gap:6px}.substat-dot{width:6px;height:6px;border-radius:50%}.substat-dot.checked{background:#16a34a}.substat-dot.unchecked{background:#94a3b8}.substat-title{font-size:10.5px;font-weight:800;letter-spacing:.05em;color:#64748b}.substat-num{font-family:Outfit,sans-serif;font-size:26px;font-weight:800;margin:6px 0 2px}.substat-note{font-size:11.5px;color:#64748b}.university-list-container{display:flex;flex-direction:column;gap:14px}.univ-stat-row{display:flex;flex-direction:column;gap:6px}.univ-row-header{display:flex;align-items:center;gap:8px;font-size:13px}.univ-rank{font-weight:800;color:var(--brand-teal);width:20px}.univ-name{flex:1;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.univ-count{font-size:12px;color:#64748b;white-space:nowrap}.univ-progress-track{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden}.univ-progress-fill{height:100%;background:var(--brand-teal);border-radius:999px}.univ-card-footer{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#94a3b8;margin-top:18px;padding-top:12px;border-top:1px solid #f8fafc}.bento-bottom-row{display:grid;grid-template-columns:1fr;gap:20px}.table-responsive{width:100%;overflow-x:auto}.admin-data-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.admin-data-table th{padding:10px 14px;font-size:11px;font-weight:800;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.admin-data-table td{padding:14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.admin-data-table tr:hover td{background:#f8fafc}.admin-data-table tr.selected-row td{background:#f0fdfa!important}.table-checkbox{width:17px;height:17px;border-radius:4px;accent-color:#0d9488;cursor:pointer;vertical-align:middle}.stt-cell-number{display:inline-block;font-size:12.5px;font-weight:700;color:#475569;background:#f1f5f9;padding:2px 8px;border-radius:6px;min-width:28px;text-align:center}.ticket-code-sub{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;color:#0284c7;background:#f0f9ff;padding:1px 5px;border-radius:4px;border:1px solid #e0f2fe}.bulk-actions-toolbar{justify-content:space-between;gap:16px;background:#f0fdfa;border:1.5px solid #99f6e4;border-radius:12px;padding:12px 18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(13,148,136,.08)}.bulk-actions-toolbar,.bulk-toolbar-left{display:flex;align-items:center;flex-wrap:wrap}.bulk-toolbar-left{gap:12px}.bulk-selection-tag{font-size:13.5px;font-weight:600;color:#0f766e}.bulk-selection-tag strong{font-weight:800;color:#115e59}.bulk-cv-summary{font-size:12.5px;color:#0d9488;font-weight:500}.bulk-select-all-link{background:none;border:none;color:#0284c7;font-size:12.5px;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.bulk-select-all-link:hover{color:#0369a1}.bulk-toolbar-right{display:flex;align-items:center;gap:10px}.bulk-download-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:13px;font-weight:700}.bulk-clear-btn{background:transparent;border:1px solid #cbd5e1;color:#475569;padding:0 12px;height:38px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.bulk-clear-btn:hover:not(:disabled){background:#ffffff;color:#0f172a;border-color:#94a3b8}.ticket-code-badge{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:#f1f5f9;color:#072e3f;border:1px solid #e2e8f0;white-space:nowrap}.candidate-cell-name{font-weight:700;color:#0f172a}.candidate-cell-meta{font-size:11.5px;color:#64748b;margin-top:2px}.candidate-cell-org{font-weight:600;color:#334155}.candidate-cell-major{font-size:11.5px;color:#64748b}.job-role-pill{font-size:12px;color:#0369a1;background:#f0f9ff;padding:2px 8px;border-radius:6px}.job-role-pill,.status-pill{display:inline-block;white-space:nowrap}.status-pill{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700}.status-pill.new{background:#fef3c7;color:#b45309}.status-pill.processing{background:#dbeafe;color:#1d4ed8}.status-pill.active,.status-pill.completed{background:#dcfce7;color:#15803d}.status-pill.disabled{background:#fee2e2;color:#b91c1c}.checkin-status-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.checkin-status-pill.checked{background:#dcfce7;color:#15803d}.checkin-status-pill.unchecked{background:#f1f5f9;color:#64748b}.timestamp-cell{white-space:nowrap;vertical-align:middle}.candidate-time-block{display:inline-flex;flex-direction:column;gap:2px;white-space:nowrap}.candidate-time-block .time-clock{font-family:Outfit,sans-serif;font-size:13px;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.2}.candidate-time-block .time-date{font-size:11px;font-weight:500;color:#64748b;font-variant-numeric:tabular-nums;line-height:1.2}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:11.5px;font-weight:800;letter-spacing:.04em}.role-badge.admin{color:#072e3f}.role-badge.admin,.role-badge.staff{background:#f1f5f9;border:1px solid #e2e8f0}.role-badge.staff{color:#475569}.quick-actions-list{display:flex;flex-direction:column;gap:10px}.quick-action-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9;text-decoration:none;color:inherit;transition:all .15s ease}.quick-action-item:hover{background:#ffffff;border-color:#cbd5e1;box-shadow:0 4px 10px rgba(0,0,0,.05);transform:translateX(3px)}.quick-action-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.quick-action-icon.qr{background:#d1fae5;color:#059669}.quick-action-icon.filter{background:#fef3c7;color:#d97706}.quick-action-icon.cms{background:#e0f2fe;color:#0284c7}.quick-action-icon.users{background:#f3e8ff;color:#7e22ce}.quick-action-info{flex:1;min-width:0}.quick-action-info h4{margin:0;font-size:13.5px;font-weight:700;color:#072e3f}.quick-action-info p{margin:2px 0 0;font-size:11.5px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-action-arrow{color:#94a3b8;transition:transform .15s ease}.quick-action-item:hover .quick-action-arrow{transform:translateX(3px);color:var(--brand-teal)}.page-header-row{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.page-header-row{flex-direction:row;align-items:flex-start;justify-content:space-between}}.page-category-label{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--brand-teal);text-transform:uppercase;margin-bottom:4px}.page-title{margin:0;font-size:22px;font-weight:800;color:#072e3f}.page-subtitle{margin:4px 0 0;font-size:13.5px;color:#64748b;max-width:960px;text-wrap:pretty}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primary-btn{display:inline-flex;align-items:center;gap:6px;background:#072e3f;color:#ffffff;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:700;border:0;transition:background .15s ease}.primary-btn:hover:not(:disabled){background:#0b3d52}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.outline-navy-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff;color:#072e3f;border:1.5px solid #072e3f;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.outline-navy-btn:hover:not(:disabled){background:#f0f7f9;border-color:#0c3d53;color:#0c3d53}.outline-navy-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-checkin-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff1f2;color:#e11d48;border:1.5px solid #fecdd3;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.cancel-checkin-btn:hover:not(:disabled){background:#ffe4e6;border-color:#fb7185;color:#be123c}.cancel-checkin-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff;color:#072e3f;padding:8px 14px;border-radius:9px;font-size:13px;font-weight:700;border:1px solid #cbd5e1;text-decoration:none;transition:all .15s ease}.secondary-btn:hover{background:#f8fafc;border-color:#94a3b8}.candidates-filter-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:4px}.filter-tab-pill{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;color:#64748b;text-decoration:none;background:#ffffff;border:1px solid #e2e8f0;white-space:nowrap;transition:all .15s ease}.filter-tab-pill:hover{border-color:#cbd5e1;color:#072e3f}.filter-tab-pill.active{background:#072e3f;color:#ffffff;border-color:#072e3f;font-weight:700}.table-search-bar{display:flex;flex-direction:column;gap:10px}@media (min-width:768px){.table-search-bar{flex-direction:row;align-items:center;justify-content:space-between}}.search-input-wrapper{display:flex;align-items:center;gap:8px;background:#ffffff;border:1px solid #cbd5e1;border-radius:10px;padding:8px 14px;flex:1;max-width:500px}.search-icon{color:#94a3b8;flex-shrink:0}.search-input{border:0;outline:none;background:transparent;font-size:13.5px;width:100%}.table-count-label{font-size:12.5px;color:#64748b}.phase-roadmap-notice{display:flex;align-items:flex-start;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:16px 18px;font-size:13px;color:#1e40af}.phase-roadmap-notice strong{display:block;font-size:13.5px;margin-bottom:2px}.phase-roadmap-notice p{margin:0;color:#1d4ed8;line-height:1.45}.title-with-icon{display:flex;align-items:center;gap:10px}.title-icon-teal{color:var(--brand-teal)}.warning-callout-card{display:flex;align-items:flex-start;gap:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:18px 22px;color:#92400e}.warning-callout-icon{color:#d97706;flex-shrink:0;margin-top:2px}.warning-callout-title{font-size:14px;font-weight:800;margin-bottom:4px}.warning-callout-text{margin:0;font-size:13px;line-height:1.5;color:#b45309}.cms-status-badge.draft{padding:3px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:11.5px;font-weight:700;color:#475569}.cms-placeholder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px}.cms-block-card{padding:16px;border:1px solid #f1f5f9;background:#f8fafc;border-radius:12px;position:relative}.cms-block-num{font-family:Outfit,sans-serif;font-size:20px;font-weight:800;color:var(--brand-teal);margin-bottom:6px}.cms-block-info h3{margin:0 0 4px;font-size:14px;font-weight:700;color:#072e3f}.cms-block-info p{margin:0;font-size:12px;color:#64748b;line-height:1.4}.cms-block-tag{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;color:#059669;background:#dcfce7;padding:1px 6px;border-radius:4px}.card-footer-info{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#64748b;padding-top:14px;border-top:1px solid #f1f5f9}.roles-overview-grid{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width:768px){.roles-overview-grid{grid-template-columns:1fr 1fr}}.role-summary-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:20px}.role-summary-card.admin{border-top:4px solid #072e3f}.role-summary-card.staff{border-top:4px solid var(--brand-teal)}.role-card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.role-icon-box{width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.role-icon-box.admin{background:#072e3f;color:#1bbca9}.role-icon-box.staff{background:#ccfbf1;color:#0f766e}.role-card-header h3{margin:0;font-size:15px;font-weight:800;color:#072e3f}.role-card-header p{margin:2px 0 0;font-size:12px;color:#64748b}.role-permissions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#475569}.user-table-name{display:flex;align-items:center;gap:10px}.user-avatar-circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#ffffff}.user-avatar-circle.admin{background:#072e3f}.user-avatar-circle.staff{background:#0f766e}.user-uid-label{font-size:10.5px;color:#94a3b8;font-family:ui-monospace,monospace}.user-email-cell{font-weight:600;color:#334155}.skeleton-container{display:flex;flex-direction:column;gap:12px;padding:12px 0}.skeleton-row{height:44px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:pulse 1.5s infinite}.dashboard-skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.skeleton-card{border-radius:16px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:pulse 1.5s infinite}.skeleton-card.metric{height:140px}.skeleton-card.large,.skeleton-card.medium{grid-column:span 2;height:260px}.skeleton-card.full{grid-column:span 4;height:320px}@media (max-width:1024px){.dashboard-skeleton-grid{grid-template-columns:1fr 1fr}.skeleton-card.full,.skeleton-card.large,.skeleton-card.medium{grid-column:span 2}}.empty-state-card{text-align:center;padding:48px 24px}.empty-icon{color:#cbd5e1;margin-bottom:12px}.empty-state-card h3{margin:0 0 6px;font-size:16px;font-weight:700;color:#334155}.empty-state-card p{margin:0;font-size:13px;color:#64748b}.empty-mini-state{text-align:center;padding:24px;font-size:13px;color:#94a3b8}.dashboard-alert-box{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;font-size:13.5px}.dashboard-alert-box.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-content{flex:1}.retry-btn{background:#ffffff;border:1px solid #fca5a5;color:#b91c1c;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700}@keyframes pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.tab-counter-badge{display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;min-width:18px}.tab-counter-badge.highlight-amber{background:#fef3c7;color:#b45309}.filter-tab-pill.active .tab-counter-badge{background:#072e3f;color:#ffffff}.clickable-table-row{cursor:pointer;transition:background .12s ease}.clickable-table-row:hover{background:#f8fafc}.status-select-badge{font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;border:1px solid transparent;cursor:pointer;outline:none;background-position:right 6px center;transition:all .15s ease}.status-select-badge.new{background-color:#fef3c7;color:#b45309;border-color:#fde68a}.status-select-badge.processing{background-color:#e0f2fe;color:#0369a1;border-color:#bae6fd}.status-select-badge.completed{background-color:#d1fae5;color:#065f46;border-color:#a7f3d0}.row-action-buttons{gap:6px}.row-action-buttons,.row-icon-btn{display:inline-flex;align-items:center}.row-icon-btn{justify-content:center;width:28px;height:28px;border-radius:6px;background:#f1f5f9;color:#475569;border:0;cursor:pointer;transition:all .15s ease;text-decoration:none}.row-icon-btn:hover{background:#e2e8f0;color:#0f172a}.row-icon-btn.primary{background:#072e3f;color:#ffffff}.row-icon-btn.primary:hover{background:#0b3d52}.search-clear-btn{background:transparent;border:0;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 8px;line-height:1}.search-clear-btn:hover{color:#475569}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid #edf2f7;font-size:13px;color:#64748b;flex-wrap:wrap;gap:12px}.pagination-controls{display:flex;align-items:center;gap:6px}.pagination-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;font-size:12.5px;font-weight:600;color:#334155;cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers-list{display:flex;align-items:center;gap:4px}.page-num-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;font-size:12.5px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s ease}.page-num-btn:hover{background:#f8fafc}.page-num-btn.active{background:#072e3f;color:#ffffff;border-color:#072e3f}.modal-backdrop-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.modal-dialog-card{background:#ffffff;border-radius:16px;max-width:580px;width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);overflow:hidden;animation:modalScaleIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-dialog-header{gap:12px;padding:16px 22px 14px;border-bottom:1px solid #f1f5f9}.modal-dialog-header,.modal-dialog-icon{display:flex;align-items:center;flex-shrink:0}.modal-dialog-icon{width:38px;height:38px;border-radius:10px;background:#ecfdf5;color:#059669;justify-content:center}.modal-dialog-title{margin:0;font-size:15.5px;font-weight:700;color:#072e3f}.modal-dialog-subtitle{margin:2px 0 0;font-size:12.5px;color:#64748b;line-height:1.4;text-wrap:pretty}.modal-dialog-body{padding:16px 22px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.export-choice-card{padding:14px 16px;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .15s ease}.export-choice-card:hover{border-color:#072e3f;background:#f8fafc}.export-choice-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#072e3f}.export-choice-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1}.export-choice-badge.all{background:#d1fae5;color:#065f46}.export-choice-desc{margin:6px 0 0;font-size:13px;color:#64748b;line-height:1.45;text-wrap:pretty}.modal-dialog-footer{padding:12px 22px 14px;display:flex;justify-content:flex-end;flex-shrink:0;border-top:1px solid #f1f5f9;background:#fafafa}.status-toast-float{position:fixed;bottom:28px;right:28px;z-index:1000;display:inline-flex;align-items:center;gap:10px;background:#ecfdf5;color:#065f46;border:1.5px solid #a7f3d0;padding:12px 20px;border-radius:12px;font-size:13.5px;font-weight:700;box-shadow:0 10px 25px -4px rgba(5,150,105,.18),0 4px 6px -2px rgba(0,0,0,.05)}.toast-icon-emerald{color:#059669;flex-shrink:0}.candidate-detail-top-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.back-link-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:#475569;font-size:13.5px;font-weight:600;cursor:pointer;padding:6px 0;transition:color .15s ease}.back-link-btn:hover{color:#072e3f}.status-toast-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:8px;font-size:12.5px;font-weight:700}.candidate-header-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:24px 28px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.candidate-header-left{display:flex;align-items:center;gap:18px}.candidate-avatar-large{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#072e3f,#1bbca9);color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex-shrink:0}.candidate-header-badges{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.ticket-code-badge.large{font-size:13px;padding:3px 10px;background:#f1f5f9;border:1px solid #cbd5e1}.status-pill.large{font-size:12.5px;padding:4px 10px}.candidate-header-title{margin:0;font-size:22px;font-weight:800;color:#072e3f}.candidate-header-meta{margin-top:4px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dot-sep{color:#cbd5e1}.status-action-group{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.action-group-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.status-button-row{display:flex;align-items:center;gap:8px}.status-change-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;border:0;transition:all .15s ease}.status-change-btn.processing{background:#0369a1;color:#ffffff}.status-change-btn.processing:hover:not(:disabled){background:#0284c7}.status-change-btn.completed{background:#059669;color:#ffffff}.status-change-btn.completed:hover:not(:disabled){background:#10b981}.status-change-btn.reset{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-change-btn.reset:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.candidate-bento-grid{display:grid;grid-template-columns:2fr 1.1fr;gap:20px;align-items:stretch}@media (max-width:1024px){.candidate-bento-grid{grid-template-columns:1fr}.status-action-group{align-items:flex-start}}.candidate-bento-col{display:flex;flex-direction:column;gap:20px;height:100%}@media (min-width:1025px){.candidate-bento-col>.dashboard-card:last-child{flex:1;display:flex;flex-direction:column}.candidate-cv-card .cv-empty-box,.candidate-cv-card .cv-preview-box{flex:1}}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-info-item{display:flex;flex-direction:column;gap:4px}.detail-info-item.full{grid-column:span 2}.info-label{font-size:12px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.info-value{font-size:14px;font-weight:600;color:#1e293b}.info-value-highlight{font-size:15px;font-weight:700;color:#072e3f}.info-value-with-action{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1e293b}.info-icon{color:#64748b}.text-emerald{color:#059669!important}.info-link{color:#0369a1;text-decoration:none}.info-link:hover{text-decoration:underline}.job-role-tag-large{display:inline-block;background:#f0fdfa;border:1px solid #ccfbf1;color:#0f766e;font-size:14px;font-weight:700;padding:6px 14px;border-radius:8px;margin-top:4px}.security-private-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#0369a1;background:#f0f9ff;padding:3px 8px;border-radius:6px;border:1px solid #e0f2fe}.cv-preview-box{gap:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px}.cv-icon-box,.cv-preview-box{display:flex;align-items:center}.cv-icon-box{width:48px;height:48px;border-radius:10px;background:#fee2e2;color:#dc2626;justify-content:center;flex-shrink:0}.cv-details{flex:1}.cv-filename{font-size:14px;font-weight:700;color:#072e3f;word-break:break-all}.cv-meta{font-size:12.5px;color:#64748b;margin-top:2px}.cv-actions{gap:8px}.cv-actions,.cv-empty-box{display:flex;align-items:center}.cv-empty-box{gap:14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:16px 20px}.cv-empty-icon{color:#94a3b8;flex-shrink:0}.cv-empty-text strong{font-size:13.5px;color:#475569}.cv-empty-text p{margin:2px 0 0;font-size:12.5px;color:#94a3b8}.ticket-visual-badge{background:linear-gradient(135deg,#072e3f,#0d4a63);color:#ffffff;border-radius:12px;padding:16px 20px;text-align:center;position:relative;box-shadow:0 4px 6px -1px rgba(7,46,63,.2)}.ticket-visual-header{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-weight:700}.ticket-visual-code{font-size:24px;font-weight:800;letter-spacing:.08em;margin:8px 0;color:#1bbca9;font-family:monospace}.ticket-visual-holder{font-size:13px;opacity:.9;font-weight:600}.checkin-detail-status-box{margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.checkin-state-row{display:flex;align-items:center;justify-content:space-between}.checkin-label{font-size:13px;color:#64748b;font-weight:600}.checkin-log-block{margin-top:10px;background:#f8fafc;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.log-row{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#475569}.full-width{width:100%;justify-content:center}.teal-btn{display:inline-flex;align-items:center;gap:6px;background:#1bbca9;color:#ffffff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:700;border:0;cursor:pointer;transition:background .15s ease}.teal-btn:hover:not(:disabled){background:#159a8a}.activity-timeline{display:flex;flex-direction:column;gap:16px;position:relative;padding-left:8px}.activity-timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:14px;width:2px;background:#e2e8f0}.timeline-item{display:flex;align-items:flex-start;gap:14px;position:relative}.timeline-dot{width:14px;height:14px;border-radius:50%;background:#cbd5e1;border:2px solid #ffffff;box-shadow:0 0 0 2px #e2e8f0;margin-top:2px;flex-shrink:0;z-index:1}.timeline-item.active .timeline-dot{background:#1bbca9;box-shadow:0 0 0 2px #1bbca9}.timeline-content{flex:1}.timeline-title{font-size:13.5px;font-weight:700;color:#072e3f}.timeline-time{font-size:11.5px;color:#94a3b8;margin-top:2px}.timeline-desc{font-size:12.5px;color:#64748b;margin-top:4px;line-height:1.4}.modal-dialog-form{display:flex;flex-direction:column;overflow-y:auto;flex:1}.user-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:520px){.user-form-row-2col{grid-template-columns:1fr}}.user-form-group{display:flex;flex-direction:column;gap:4px}.user-form-label-row{display:flex;align-items:center;justify-content:space-between}.user-form-label{font-size:12.5px;font-weight:700;color:#072e3f}.user-form-required{color:#e11d48;margin-left:2px}.user-quick-btn{font-size:11px;font-weight:600;color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:1px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.user-quick-btn:hover{background:#e0f2fe;color:#0369a1}.user-form-input{width:100%;height:38px;padding:0 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13.5px;color:#0f172a;background:#ffffff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.user-form-input:focus{border-color:#072e3f;box-shadow:0 0 0 3px rgba(7,46,63,.08)}.user-form-input::-moz-placeholder{color:#94a3b8}.user-form-input::placeholder{color:#94a3b8}.user-password-input-group{position:relative;width:100%}.user-password-input-group .user-form-input{padding-right:40px}.user-password-toggle-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:color .15s ease}.user-password-toggle-btn:hover{color:#072e3f}.user-form-hint{font-size:11.5px;color:#64748b;line-height:1.35}.role-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:540px){.role-choice-grid{grid-template-columns:1fr}}.role-choice-card{padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;background:#ffffff;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);text-align:left;display:flex;flex-direction:column;gap:4px;position:relative}.role-choice-card:hover{border-color:#94a3b8;background:#f8fafc}.role-choice-card.active{border-color:#072e3f;background:#f8fafc;box-shadow:0 0 0 1.5px #072e3f}.role-choice-card-header{display:flex;align-items:center;justify-content:space-between}.role-choice-badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:#072e3f}.role-choice-check-dot{width:15px;height:15px;border-radius:50%;border:1.5px solid #cbd5e1;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.role-choice-card.active .role-choice-check-dot{border-color:#072e3f;background:#072e3f}.role-choice-check-dot-inner{width:5px;height:5px;border-radius:50%;background:#ffffff}.role-choice-desc{font-size:11.5px;color:#64748b;line-height:1.35;margin:0}.user-info-callout{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;color:#0f766e}.user-error-callout,.user-info-callout{padding:10px 14px;display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45}.user-error-callout{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c}.user-action-cell{display:flex;align-items:center;justify-content:flex-end;gap:8px}.user-table-action-btn{height:30px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:600;border:1px solid #e2e8f0;background:#ffffff;color:#475569;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.user-table-action-btn:hover:not(:disabled){background:#f1f5f9;color:#072e3f;border-color:#cbd5e1}.user-table-action-btn.danger:hover:not(:disabled){background:#fef2f2;color:#dc2626;border-color:#fecaca}.user-table-action-btn:disabled{opacity:.45;cursor:not-allowed}.modal-close-btn{background:transparent;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;margin-left:auto}.modal-close-btn:hover{background:#f1f5f9;color:#072e3f}.checkin-mobile-root{min-height:100dvh;background:#f8fafc;color:#0f172a;display:flex;flex-direction:column;position:relative;overflow-x:hidden;font-family:inherit}.checkin-header-bar{padding:10px 16px;background:#ffffff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:50;height:56px}.checkin-header-brand-wrap{display:flex;align-items:center;gap:10px}.checkin-header-logo-img{height:22px;width:auto;-o-object-fit:contain;object-fit:contain}.checkin-header-divider{width:1px;height:18px;background:#cbd5e1}.checkin-header-meta{display:flex;flex-direction:column}.checkin-header-title{font-family:Outfit,sans-serif;font-size:13px;font-weight:800;color:#072e3f;line-height:1.1;letter-spacing:.02em}.checkin-header-sub{font-size:10px;color:#64748b;font-weight:600;line-height:1.1;margin-top:2px}.checkin-header-right,.checkin-header-user-actions{display:flex;align-items:center;gap:8px}@media (min-width:1024px){.checkin-header-user-actions.admin-desktop-hide{display:none!important}}.checkin-user-pill{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #e2e8f0;padding:3px 8px 3px 4px;border-radius:999px;font-size:11.5px;font-weight:600;color:#334155;max-width:140px}.checkin-user-avatar-mini{width:22px;height:22px;border-radius:50%;background:#072e3f;color:#ffffff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkin-user-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkin-admin-link-btn{height:32px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:600;color:#072e3f;background:#ffffff;border:1px solid #cbd5e1;display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:all .15s ease}.checkin-admin-link-btn:hover{background:#f1f5f9}.checkin-logout-icon-btn{height:32px;width:32px;border-radius:6px;background:transparent;border:1px solid #e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.checkin-logout-icon-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.checkin-main-content{flex:1;display:flex;flex-direction:column;padding:14px 16px 36px;gap:14px;max-width:480px;width:100%;margin:0 auto;box-sizing:border-box}@media (min-width:1024px){.checkin-main-content{max-width:1160px;padding:16px 0 40px;gap:20px}}.checkin-desk-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"progress" "main" "history";gap:16px;width:100%}.checkin-desk-progress-wrap{grid-area:progress}.checkin-desk-col-main{grid-area:main;display:flex;flex-direction:column;gap:14px;min-width:0}.checkin-desk-history-wrap{grid-area:history;min-width:0}@media (min-width:1024px){.checkin-desk-grid{grid-template-columns:1.15fr .85fr;grid-template-areas:"main progress" "main history";gap:24px;align-items:start}}.checkin-progress-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px rgba(0,0,0,.03)}.checkin-progress-top{display:flex;align-items:center;justify-content:space-between}.checkin-progress-label-wrap{display:flex;flex-direction:column;gap:1px}.checkin-progress-category{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#64748b;text-transform:uppercase}.checkin-progress-count{font-size:18px;font-weight:800;color:#072e3f;font-variant-numeric:tabular-nums}.checkin-progress-count span{font-weight:500;font-size:13px;color:#64748b}.checkin-progress-badge{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-variant-numeric:tabular-nums}.checkin-progress-track{width:100%;height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden}.checkin-progress-fill{height:100%;background:#072e3f;border-radius:999px;transition:width .3s ease}.checkin-progress-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:8px;border-top:1px solid #f1f5f9}.checkin-stat-item{display:flex;flex-direction:column;gap:2px;background:#f8fafc;padding:8px 10px;border-radius:8px;border:1px solid #edf2f7}.checkin-stat-item .stat-label{font-size:10.5px;font-weight:600;color:#64748b}.checkin-stat-item .stat-val{font-size:14px;font-weight:800;color:#072e3f;font-variant-numeric:tabular-nums}.checkin-stat-item .stat-val.text-green{color:#16a34a}.checkin-stat-item .stat-val.text-amber{color:#d97706}.checkin-mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e2e8f0;padding:3px;border-radius:10px}.checkin-mode-btn{height:38px;border-radius:8px;border:none;background:transparent;color:#475569;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .15s ease}.checkin-mode-btn.active{background:#ffffff;color:#072e3f;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}.checkin-scanner-station{display:flex;flex-direction:column}.camera-scanner-frame{position:relative;background:#071720;border-radius:16px;overflow:hidden;border:1px solid #cbd5e1;aspect-ratio:1;width:100%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.08);margin-bottom:22px}#qr-reader-container{width:100%!important;height:100%!important;border:none!important;background:#071720}#qr-reader-container video{width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important;border-radius:15px}.camera-viewfinder-overlay{position:absolute;inset:16%;border:1.5px solid rgba(255,255,255,.85);border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.35);pointer-events:none;z-index:10}.camera-controls-cluster{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.camera-actions-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.camera-guide-caption{text-align:center;font-size:13px;color:#64748b;margin:0;line-height:1.5;max-width:460px}.camera-tool-btn{height:38px;padding:0 14px;border-radius:8px;background:#ffffff;border:1px solid #cbd5e1;color:#334155;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .15s ease}.camera-tool-btn:hover{background:#f8fafc;color:#072e3f}.camera-tool-btn.active{background:#072e3f;color:#ffffff;border-color:#072e3f}.manual-search-box{display:flex;flex-direction:column;gap:12px}.manual-search-bar{display:flex;gap:8px;align-items:center}.manual-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.manual-input-field{width:100%;height:46px;background:#ffffff;border:1px solid #cbd5e1;border-radius:10px;padding:0 38px 0 12px;font-size:15px;color:#072e3f;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.manual-input-field:focus{border-color:#072e3f;box-shadow:0 0 0 3px rgba(7,46,63,.12)}.manual-clear-btn{position:absolute;right:8px;width:26px;height:26px;border-radius:50%;background:#f1f5f9;border:none;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer}.manual-clear-btn:hover{background:#e2e8f0;color:#072e3f}.manual-submit-btn{height:46px;padding:0 16px;border-radius:10px;background:#072e3f;color:#ffffff;border:none;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.manual-submit-btn:hover{background:#0d465e}.attendee-pass-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.attendee-pass-header{display:flex;align-items:flex-start;gap:12px}.attendee-avatar-circle{width:44px;height:44px;border-radius:10px;background:#eaf4fb;color:#072e3f;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #bfdbfe}.attendee-pass-info{flex:1;min-width:0}.attendee-pass-name{font-size:16px;font-weight:700;color:#072e3f;line-height:1.25}.attendee-pass-org{font-size:12px;color:#64748b;margin-top:2px}.attendee-ticket-pill{font-family:monospace;font-size:11.5px;font-weight:700;color:#072e3f;background:#f1f5f9;border:1px solid #cbd5e1;padding:3px 8px;border-radius:6px}.attendee-pass-details{background:#f8fafc;border:1px solid #edf2f7;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#475569}.attendee-detail-row{display:flex;align-items:center;justify-content:space-between}.attendee-detail-row strong{color:#072e3f}.attendee-admit-btn{width:100%;height:48px;border-radius:10px;background:#072e3f;color:#ffffff;font-size:14.5px;font-weight:700;border:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .15s ease}.attendee-admit-btn:hover{background:#0d465e}.checkin-history-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.03);display:flex;flex-direction:column}.checkin-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#fafcff}.checkin-history-header-left{display:flex;align-items:center;gap:8px}.pulse-live-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulseDot 2s infinite}@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.history-header-title{font-size:13.5px;font-weight:700;color:#072e3f}.history-header-count{font-size:12px;color:#64748b;font-weight:600}.history-refresh-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0;background:#ffffff;color:#475569;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.history-refresh-btn:hover{background:#f1f5f9;color:#072e3f}.checkin-history-toggle-mobile{display:none;width:100%;padding:10px 14px;border:none;background:transparent;color:#475569;font-size:12.5px;font-weight:600;cursor:pointer;justify-content:space-between;align-items:center}.checkin-history-list{display:flex;flex-direction:column}@media (max-width:1023px){.checkin-history-header{display:none}.checkin-history-toggle-mobile{display:flex}.checkin-history-list{display:none;border-top:1px solid #f1f5f9}.checkin-history-list.mobile-open{display:flex}}@media (min-width:1024px){.checkin-history-list{display:flex!important;max-height:480px;overflow-y:auto}.camera-scanner-frame{max-height:400px;aspect-ratio:4/3;margin:0 auto 22px}}.checkin-history-row{padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f8fafc;font-size:12.5px;transition:background .15s ease}.checkin-history-row:hover{background:#f8fafc}.checkin-history-row:last-child{border-bottom:none}.history-row-avatar{width:32px;height:32px;border-radius:8px;background:#072e3f;color:#ffffff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-row-content{flex:1;min-width:0}.checkin-history-name{font-weight:700;color:#072e3f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta-sub{display:flex;align-items:center;gap:4px;font-size:11.5px;color:#64748b;margin-top:1px}.history-meta-dot{opacity:.5}.history-ticket-code{font-family:monospace;font-weight:700;color:#072e3f}.history-row-badge-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.checkin-method-badge{display:inline-block;font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.checkin-method-badge.qr{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.checkin-method-badge.manual{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.checkin-history-time{color:#64748b;font-variant-numeric:tabular-nums;font-size:11px}.checkin-history-empty{padding:36px 16px;text-align:center}.checkin-sheet-backdrop{position:fixed;inset:0;background:rgba(7,46,63,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:999;display:flex;align-items:flex-end;justify-content:center;animation:fadeInBackdrop .2s ease;box-sizing:border-box}@media (min-width:768px){.checkin-sheet-backdrop{align-items:center;justify-content:center;padding:24px}}@media (min-width:1024px){.checkin-sheet-backdrop.has-admin-sidebar{padding-left:calc(240px + 24px);padding-right:24px}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.checkin-sheet-card{background:#ffffff;color:#072e3f;border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%;max-width:480px;padding:20px 20px 28px;box-shadow:0 -10px 30px rgba(0,0,0,.15);display:flex;flex-direction:column;gap:14px;animation:sheetSlideUp .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (min-width:768px){.checkin-sheet-card{border-radius:20px;padding:26px 26px 30px;box-shadow:0 25px 60px -15px rgba(7,46,63,.28),0 0 0 1px rgba(226,232,240,.8);animation:modalZoomIn .22s cubic-bezier(.16,1,.3,1)}}.checkin-sheet-handle{width:36px;height:4px;border-radius:999px;background:#e2e8f0;margin:-6px auto 2px}@media (min-width:768px){.checkin-sheet-handle{display:none}}.checkin-result-badge-strip{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px}.checkin-result-badge-strip.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.checkin-result-badge-strip.warning{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.checkin-result-badge-strip.error{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.checkin-result-header-text{display:flex;flex-direction:column}.checkin-result-title{font-size:14.5px;font-weight:800;margin:0;line-height:1.2}.checkin-result-sub{font-size:12px;margin:2px 0 0;opacity:.9}.checkin-ticket-receipt-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.checkin-ticket-receipt-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.checkin-ticket-receipt-label{color:#64748b;font-weight:500}.checkin-ticket-receipt-val{color:#072e3f;font-weight:700;text-align:right}