:root{--brand:#d81f3d;--brand-strong:#a80f2c;--brand-soft:#fff0f3;--accent:#ff8a4c;--ink:#172033;--muted:#677187;--surface:#fff;--surface-2:#f5f7fb;--line:#e7eaf0;--success:#0f9f6e;--warning:#d97706;--danger:#d81f3d;--shadow:0 18px 50px rgba(22,31,54,.10);--radius:22px}
[data-theme="ocean"]{--brand:#176bce;--brand-strong:#0e4f9e;--brand-soft:#eaf4ff;--accent:#20a4f3}
[data-theme="emerald"]{--brand:#0c8b68;--brand-strong:#07684e;--brand-soft:#e9fbf5;--accent:#20b486}
[data-theme="violet"]{--brand:#7555d9;--brand-strong:#5537b0;--brand-soft:#f2efff;--accent:#ad7ff4}
[data-theme="amber"]{--brand:#c56b08;--brand-strong:#914c03;--brand-soft:#fff6df;--accent:#ef9f1b}
[data-theme="graphite"]{--brand:#354052;--brand-strong:#1e2735;--brand-soft:#edf0f4;--accent:#69788f}
[data-theme="rose"]{--brand:#db2777;--brand-strong:#9d174d;--brand-soft:#fff0f7;--accent:#fb7185;--surface-2:#fff7fb}
[data-theme="cyan"]{--brand:#087f9d;--brand-strong:#155e75;--brand-soft:#ecfeff;--accent:#22d3ee;--surface-2:#f2fdff}
[data-theme="indigo"]{--brand:#4338ca;--brand-strong:#312e81;--brand-soft:#eef2ff;--accent:#818cf8;--surface-2:#f7f7ff}
[data-theme="lime"]{--brand:#4d7c0f;--brand-strong:#365314;--brand-soft:#f7fee7;--accent:#a3e635;--surface-2:#fbfff2}
[data-theme="sunset"]{--brand:#e14b32;--brand-strong:#a92b1c;--brand-soft:#fff1ed;--accent:#fb923c;--surface-2:#fff8f4}
[data-theme="midnight"]{--brand:#172554;--brand-strong:#0f172a;--brand-soft:#edf5ff;--accent:#38bdf8;--surface-2:#f4f7fc}
[data-theme="mocha"]{--brand:#7c4a2d;--brand-strong:#4b2c20;--brand-soft:#fbf1e9;--accent:#d6a56f;--surface-2:#fbf8f5}
[data-theme="sakura"]{--brand:#c02667;--brand-strong:#831843;--brand-soft:#fff1f7;--accent:#f9a8d4;--surface-2:#fff8fb}
*{box-sizing:border-box}html{min-height:100%;background:var(--surface-2)}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 92% 2%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 28rem),var(--surface-2);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(218,223,233,.8)}.app-header-inner{max-width:1180px;margin:auto;height:68px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850;letter-spacing:.02em}.brand img{width:40px;height:40px;object-fit:contain;border-radius:13px;background:white;box-shadow:0 6px 20px rgba(21,30,50,.12)}.brand-copy small{display:block;color:var(--muted);font-weight:650;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.brand-copy span{color:var(--brand-strong)}.desktop-nav{display:flex;align-items:center;gap:5px}.nav-link{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:13px;text-decoration:none;color:#4f596d;font-size:.88rem;font-weight:720}.nav-link:hover,.nav-link.active{background:var(--brand-soft);color:var(--brand)}.nav-action{border:0;background:var(--brand);color:#fff;cursor:pointer}.app-main{max-width:1180px;margin:0 auto;padding:28px 22px 46px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-heading h1{font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.15;margin:0 0 7px;font-weight:850}.page-heading p{margin:0;color:var(--muted)}.surface,.glass-card{background:rgba(255,255,255,.96)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;backdrop-filter:blur(16px)}.glass-card:hover{transform:none!important}.btn-red,.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-strong))!important;color:#fff!important;border:0!important;box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 24%,transparent);cursor:pointer}.btn-red:hover,.btn-primary:hover{filter:brightness(1.04);transform:translateY(-1px)!important}.form-control,input[type="text"],input[type="password"],input[type="number"],input[type="date"],input[type="month"],input[type="tel"],select,textarea{min-height:44px;border:1px solid #d8dde7;border-radius:13px;background:#fff;color:var(--ink);outline:none}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}.flash{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;margin-bottom:18px;border-radius:15px;font-weight:700}.flash-success{background:#eaf9f2;color:#087453;border:1px solid #bfe9d9}.flash-error{background:#fff0f3;color:#ab1731;border:1px solid #ffcbd5}.flash-info{background:#eef5ff;color:#1e5aa7;border:1px solid #cedfff}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{padding:19px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px rgba(22,31,54,.06)}.metric-label{color:var(--muted);font-size:.78rem;font-weight:760;text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:1.75rem;font-weight:850;margin-top:5px}.metric-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);margin-bottom:15px}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{padding:12px 13px;text-align:left;background:#f8f9fc;color:#657084;font-size:.75rem;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:13px;border-bottom:1px solid #eef0f4;vertical-align:middle}.data-table tbody tr:hover{background:#fafbfe}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:780}.badge-success{background:#e8f9f2;color:#087453}.badge-warning{background:#fff5dc;color:#a45c05}.badge-danger{background:#fff0f3;color:#ad1833}.badge-neutral{background:#eff2f6;color:#586276}.mobile-nav{display:none}.avatar{border-radius:16px;object-fit:cover;background:var(--brand-soft)}.empty-state{padding:40px 20px;text-align:center;color:var(--muted)}.login-layout{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;max-width:1180px;margin:auto;padding:30px 22px 46px;gap:26px}.login-story{border-radius:30px;padding:46px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,var(--brand-strong),var(--brand) 62%,var(--accent));color:white;min-height:560px;position:relative;overflow:hidden;box-shadow:0 24px 60px color-mix(in srgb,var(--brand) 28%,transparent)}.login-story:before{content:"";position:absolute;width:380px;height:380px;border:80px solid rgba(255,255,255,.09);border-radius:50%;right:-120px;top:-120px}.login-story>*{position:relative}.login-story h1{font-size:clamp(2.35rem,5vw,4rem);line-height:.98;margin:0 0 20px;max-width:650px}.login-story p{font-size:1.05rem;max-width:540px;color:rgba(255,255,255,.83)}.login-panel{align-self:center;padding:38px}.login-panel h2{font-size:1.75rem;margin:0 0 8px}.login-panel>p{color:var(--muted);margin:0 0 25px}.login-panel label{display:block;font-size:.84rem;font-weight:760;margin:14px 0 7px}.login-panel input{width:100%;padding:11px 13px}.login-panel button{width:100%;padding:13px 16px;border-radius:14px;margin-top:18px;font-weight:800}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.86rem;font-weight:700;color:var(--brand)}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-option{position:relative}.theme-option input{position:absolute;opacity:0}.theme-swatch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px;border-radius:12px;cursor:pointer;font-size:.8rem;font-weight:700}.theme-option input:checked+.theme-swatch{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.theme-dot{width:17px;height:17px;border-radius:6px}.slip{border:1px solid var(--line);border-radius:20px;overflow:hidden}.slip-head{padding:17px 20px;background:var(--brand-soft);display:flex;justify-content:space-between;gap:12px}.slip-body{padding:8px 20px}.slip-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed #e3e6ec}.slip-total{font-size:1.08rem;font-weight:850;color:var(--brand)}
@media(max-width:900px){.desktop-nav .nav-label{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1fr;max-width:620px}.login-story{min-height:250px;padding:30px}.login-story h1{font-size:2.5rem}.login-panel{padding:28px}}
@media(max-width:640px){body{padding-bottom:76px;background:var(--surface-2)}.app-header-inner{height:61px;padding:0 16px}.brand img{width:36px;height:36px}.brand-copy small{font-size:.6rem}.desktop-nav{display:none}.app-main{padding:20px 14px 28px}.page-heading{align-items:flex-start}.page-heading p{font-size:.9rem}.surface,.glass-card{border-radius:18px!important}.metric-grid{gap:10px}.metric{padding:14px}.metric-value{font-size:1.45rem}.metric-icon{width:36px;height:36px;margin-bottom:10px}.mobile-nav{position:fixed;z-index:100;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:61px;padding:5px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 45px rgba(22,31,54,.2);backdrop-filter:blur(20px)}.mobile-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;color:#7a8498;border-radius:14px;font-size:.65rem;font-weight:750;min-width:0}.mobile-nav a i{font-size:1rem}.mobile-nav a.active{background:var(--brand-soft);color:var(--brand)}.login-layout{display:block;padding:16px 14px}.login-story{min-height:190px;padding:25px;border-radius:24px}.login-story h1{font-size:2rem}.login-story p{font-size:.9rem;margin-bottom:0}.login-panel{padding:23px 18px;margin-top:14px}.login-links{flex-direction:column;align-items:center}.theme-grid{grid-template-columns:repeat(2,1fr)}.table-container,.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:720px}.slip-head{flex-direction:column}}
@media print{.app-header,.mobile-nav,.no-print{display:none!important}.app-main{max-width:none;padding:0}body{background:#fff;padding:0}.surface,.glass-card{box-shadow:none!important;border:0!important}}

/* Employee profile: compact app layout and interactive virtual identity card */
.profile-app{max-width:980px;margin:0 auto}.profile-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.profile-topbar h1{font-size:clamp(1.4rem,2.7vw,1.9rem);line-height:1.12;margin:2px 0 4px;font-weight:880}.profile-topbar p{margin:0;color:var(--muted);font-size:.86rem}.profile-eyebrow{color:var(--brand);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.profile-top-actions{display:flex;align-items:center;gap:9px}.profile-top-actions input{padding:8px 10px;min-height:40px;font-size:.84rem}.attendance-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;text-decoration:none;font-size:.82rem;font-weight:820;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 28%,transparent);transition:transform .2s ease,box-shadow .2s ease}.attendance-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--brand) 34%,transparent)}.identity-section{margin:0 0 18px}.identity-card-stage{perspective:1400px;max-width:600px;margin:0 auto}.identity-card{position:relative;width:100%;aspect-ratio:1.586/1;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.78,.2,1);cursor:grab;user-select:none;touch-action:pan-y;outline:none}.identity-card.is-flipped{transform:rotateY(180deg)}.identity-card.is-dragging{transition:none;cursor:grabbing}.identity-card:focus-visible{border-radius:28px;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 26%,transparent)}.identity-card-face{position:absolute;inset:0;overflow:hidden;border-radius:28px;padding:27px;color:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(135deg,var(--brand-strong),var(--brand) 54%,var(--accent));box-shadow:0 28px 55px color-mix(in srgb,var(--brand-strong) 35%,transparent),inset 0 1px 0 rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.28)}.identity-card-face:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.18) 43%,transparent 60%);transform:translateX(-120%);animation:cardShine 7s ease-in-out infinite;pointer-events:none}.identity-card-back{transform:rotateY(180deg);padding:0;background:linear-gradient(145deg,var(--brand-strong),var(--brand) 60%,color-mix(in srgb,var(--accent) 76%,white))}.card-orbit{position:absolute;border:1px solid rgba(255,255,255,.19);border-radius:50%}.card-orbit-one{width:340px;height:340px;right:-145px;top:-170px}.card-orbit-two{width:230px;height:230px;left:-105px;bottom:-140px}.identity-card-head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.identity-mark{font-size:.82rem;font-weight:900;letter-spacing:.14em}.identity-mark i{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;margin-right:6px;background:rgba(255,255,255,.18)}.identity-chip{display:grid;grid-template-columns:repeat(3,8px);gap:3px;width:40px;height:29px;padding:7px;border-radius:8px;background:linear-gradient(135deg,#f8d787,#b98b33);box-shadow:inset 0 0 0 1px rgba(91,59,6,.25)}.identity-chip i{border:1px solid rgba(80,55,11,.38);border-radius:2px}.identity-person{position:relative;z-index:2;display:flex;align-items:center;gap:16px;margin-top:50px}.identity-person img{width:82px;height:82px;object-fit:cover;border-radius:21px;border:3px solid rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(0,0,0,.2);background:#fff}.identity-kicker{display:block;font-size:.65rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.identity-person h2{margin:3px 0 0;font-size:clamp(1.12rem,3vw,1.55rem);line-height:1.12}.identity-person p{margin:3px 0 0;font-size:.78rem;color:rgba(255,255,255,.76)}.identity-card-foot{position:absolute;z-index:2;left:27px;right:27px;bottom:24px;display:grid;grid-template-columns:1.4fr .8fr .7fr;gap:14px}.identity-card-foot span,.identity-back-grid span,.identity-signature span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.64)}.identity-card-foot strong{display:block;margin-top:2px;font-size:.76rem;letter-spacing:.045em}.identity-contactless{position:absolute;right:28px;top:72px;transform:rotate(90deg);font-size:1.25rem;color:rgba(255,255,255,.72)}.identity-strip{height:58px;margin-top:37px;background:linear-gradient(180deg,#0a1020,#30394d 52%,#0b1020);box-shadow:inset 0 3px 10px rgba(255,255,255,.08)}.identity-back-body{padding:22px 27px}.identity-signature{height:42px;background:rgba(255,255,255,.94);color:#1d2638;padding:6px 9px;border-radius:5px;display:flex;align-items:center;gap:10px}.identity-signature span{color:#667085}.identity-signature strong{font-size:.76rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity-signature i{font-family:monospace;font-size:.7rem}.identity-back-grid{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:12px;margin-top:20px}.identity-back-grid strong{display:block;margin-top:2px;font-size:.78rem}.identity-back-note{position:absolute;left:27px;right:27px;bottom:22px;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.7);font-size:.65rem;line-height:1.35}.identity-hint{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:11px;color:var(--muted);font-size:.72rem;font-weight:720}.identity-hint i{font-size:.62rem;color:var(--brand)}.attendance-cta-mobile{display:none;max-width:600px;margin:12px auto 0}.profile-metrics .metric{padding:15px;border-radius:17px}.profile-metrics .metric-icon{width:34px;height:34px;border-radius:11px;margin-bottom:9px}.profile-metrics .metric-value{font-size:1.35rem}.profile-metrics .metric-label{font-size:.7rem}.profile-section h2{letter-spacing:-.015em}.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-swatch{position:relative;min-height:62px;padding:9px 10px;border-radius:15px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.theme-swatch:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,34,55,.08)}.theme-dot{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:linear-gradient(135deg,var(--swatch-a),var(--swatch-b));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 5px 12px color-mix(in srgb,var(--swatch-a) 25%,transparent)}.theme-swatch strong{display:block;font-size:.75rem;line-height:1.15}.theme-swatch small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem}.theme-swatch>i{display:none;margin-left:auto;color:var(--swatch-a);font-size:.72rem}.theme-option input:checked+.theme-swatch>i{display:block}.theme-option input:checked+.theme-swatch{border-color:var(--swatch-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch-a) 14%,transparent)}.theme-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.theme-actions span{color:var(--muted);font-size:.76rem}.theme-actions button{padding:10px 15px;border-radius:12px;font-size:.8rem;font-weight:800}.employee-attendance-lock{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));border-radius:14px;background:var(--brand-soft)}.employee-attendance-lock img{width:42px;height:42px;object-fit:cover;border-radius:12px;background:#fff}.employee-attendance-lock strong{display:block;font-size:.86rem}.employee-attendance-lock span{display:block;color:var(--muted);font-size:.7rem;margin-top:1px}.employee-attendance-lock i{margin-left:auto;color:var(--brand)}
@keyframes cardShine{0%,62%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}
@media(max-width:760px){.profile-app{max-width:520px}.profile-topbar{align-items:flex-start}.profile-top-actions form{display:none}.profile-top-actions .attendance-cta{display:none}.identity-card-face{border-radius:23px;padding:20px}.identity-person{margin-top:32px;gap:12px}.identity-person img{width:66px;height:66px;border-radius:17px}.identity-card-foot{left:20px;right:20px;bottom:18px}.identity-contactless{right:20px;top:60px}.identity-strip{height:48px;margin-top:28px}.identity-back-body{padding:17px 20px}.identity-back-note{left:20px;right:20px;bottom:16px}.attendance-cta-mobile{display:flex}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-section{padding:17px!important}.profile-section h2{font-size:1.08rem!important}.profile-section p{font-size:.8rem}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metrics .metric{padding:12px}.profile-metrics .metric-value{font-size:1.15rem}.profile-metrics .metric-icon{width:31px;height:31px;font-size:.82rem}}
@media(max-width:400px){.identity-card-face{padding:17px}.identity-person{margin-top:24px}.identity-person img{width:56px;height:56px;border-radius:15px}.identity-person h2{font-size:1rem}.identity-card-foot{left:17px;right:17px;bottom:15px;gap:8px}.identity-card-foot strong{font-size:.66rem}.identity-contactless{display:none}.identity-strip{height:42px;margin-top:24px}.identity-back-body{padding:14px 17px}.identity-back-grid{margin-top:13px;gap:8px}.identity-back-grid strong{font-size:.68rem}.identity-back-note{left:17px;right:17px;bottom:12px;font-size:.58rem}.theme-actions{align-items:flex-end;flex-direction:column}.theme-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.identity-card{transition:none}.identity-card-face:after{animation:none}}

/* Profile card brand and demographic details */
.identity-mark{display:inline-flex;align-items:center;gap:8px}
.identity-mark img{display:block;width:29px;height:29px;object-fit:cover;border-radius:50%;background:#fff;border:1px solid rgba(255,255,255,.72);box-shadow:0 4px 12px rgba(0,0,0,.18)}
.identity-person>div{min-width:0}.identity-person h2{overflow-wrap:anywhere}
.identity-card-face.identity-card-back{padding:0}
.identity-strip{box-sizing:border-box;width:100%;padding:0 27px;display:grid;grid-template-columns:1.15fr .7fr 1.35fr;align-items:center;gap:16px}
.identity-strip>div,.identity-back-grid>div{min-width:0}
.identity-strip span{display:block;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.56)}
.identity-strip strong{display:block;margin-top:2px;font-size:.72rem;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.identity-mark img{width:26px;height:26px}.identity-card-face.identity-card-back{padding:0}.identity-strip{padding:0 20px;gap:10px}.identity-strip span{font-size:.49rem}.identity-strip strong{font-size:.65rem}.identity-signature{gap:7px}.identity-signature span{flex:0 0 auto}.identity-back-grid{grid-template-columns:.62fr 1.35fr .85fr}}
@media(max-width:400px){.identity-mark{gap:6px;font-size:.72rem}.identity-mark img{width:24px;height:24px}.identity-card-face.identity-card-back{padding:0}.identity-strip{padding:0 17px;gap:7px}.identity-strip span{font-size:.45rem}.identity-strip strong{font-size:.61rem}.identity-back-grid strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Compact profile metrics and lazy theme panel */
.profile-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.profile-metrics .metric{min-height:72px;padding:9px 10px;border-radius:14px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:9px;row-gap:1px}
.profile-metrics .metric-icon{grid-row:1/3;width:28px;height:28px;margin:0;border-radius:9px;font-size:.73rem}
.profile-metrics .metric-label{font-size:.57rem;line-height:1.2;letter-spacing:.045em}
.profile-metrics .metric-value{min-width:0;margin:0;font-size:1rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-metrics .metric-value.metric-money{font-size:.86rem}
.profile-theme-panel{padding:0!important;margin-bottom:18px;overflow:hidden}
.profile-theme-summary{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 18px;cursor:pointer;user-select:none}
.profile-theme-summary::-webkit-details-marker{display:none}
.profile-theme-summary-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:var(--brand-soft);color:var(--brand)}
.profile-theme-summary-copy{min-width:0;flex:1}.profile-theme-summary-copy strong{display:block;font-size:1rem;line-height:1.2}.profile-theme-summary-copy small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.3}
.profile-theme-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-size:.72rem;font-weight:820}.profile-theme-toggle i{transition:transform .2s ease}.profile-theme-panel[open] .profile-theme-toggle i{transform:rotate(180deg)}
.profile-theme-content:not(:empty){padding:17px 18px 18px;border-top:1px solid var(--line)}
@media(max-width:640px){.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.profile-metrics .metric{min-height:62px;padding:8px 9px;grid-template-columns:25px minmax(0,1fr);column-gap:7px}.profile-metrics .metric-icon{width:25px;height:25px;border-radius:8px;font-size:.65rem}.profile-metrics .metric-label{font-size:.52rem}.profile-metrics .metric-value{font-size:.9rem}.profile-metrics .metric-value.metric-money{font-size:.73rem}.profile-theme-summary{padding:13px 14px;gap:10px}.profile-theme-summary-icon{width:32px;height:32px;flex-basis:32px}.profile-theme-summary-copy strong{font-size:.9rem}.profile-theme-summary-copy small{font-size:.62rem}.profile-theme-toggle-text{display:none}.profile-theme-content:not(:empty){padding:14px}}

/* Holographic 3D login portal */
.login-portal{min-height:calc(100vh - 68px);display:grid;align-items:center;max-width:1180px;margin:0 auto;padding:24px 22px 42px}.login-portal-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(370px,.88fr);align-items:center;gap:clamp(28px,6vw,72px)}.login-portal-scene{position:relative;min-height:560px;border-radius:34px;overflow:hidden;padding:44px;background:radial-gradient(circle at 72% 30%,color-mix(in srgb,var(--accent) 70%,white),transparent 14rem),linear-gradient(145deg,#111a32,var(--brand-strong) 58%,var(--brand));color:#fff;box-shadow:0 32px 75px color-mix(in srgb,var(--brand-strong) 30%,transparent);isolation:isolate}.login-portal-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.12) 43%,transparent 62%);transform:translateX(-130%);animation:loginScan 8s ease-in-out infinite;z-index:-1}.portal-grid-lines{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)}.portal-ring{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:inset 0 0 60px rgba(255,255,255,.05),0 0 40px color-mix(in srgb,var(--accent) 24%,transparent)}.portal-ring-one{width:330px;height:330px;right:-72px;top:-62px;animation:portalFloat 8s ease-in-out infinite}.portal-ring-two{width:180px;height:180px;right:60px;top:54px;border-style:dashed;animation:portalSpin 24s linear infinite}.virtual-access-pass{position:absolute;z-index:2;right:44px;top:64px;width:min(360px,58%);aspect-ratio:1.586/1;padding:22px;border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.36);box-shadow:0 22px 55px rgba(2,7,24,.32),inset 0 1px 0 rgba(255,255,255,.32);backdrop-filter:blur(13px);transform:perspective(900px) rotateY(-13deg) rotateX(7deg);animation:passFloat 6s ease-in-out infinite}.virtual-pass-top,.virtual-pass-foot{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;font-weight:850;letter-spacing:.12em}.virtual-pass-top span i{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:5px;border-radius:7px;background:rgba(255,255,255,.2)}.virtual-pass-core{margin-top:35px}.virtual-pass-core span,.virtual-pass-core small{display:block;color:rgba(255,255,255,.63);font-size:.58rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.virtual-pass-core strong{display:block;margin:4px 0 8px;font-size:1.38rem;line-height:.92;letter-spacing:.04em}.virtual-pass-foot{position:absolute;left:22px;right:22px;bottom:19px;color:rgba(255,255,255,.7)}.virtual-pass-foot i{font-size:1.25rem}.portal-copy{position:absolute;z-index:2;left:44px;right:44px;bottom:44px}.portal-kicker{font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.portal-copy h1{margin:8px 0 13px;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.96;letter-spacing:-.05em}.portal-copy p{margin:0;color:rgba(255,255,255,.72);font-size:.92rem}.login-3d-stage{position:relative;perspective:1200px}.login-3d-card{--pointer-x:50%;--pointer-y:50%;position:relative;z-index:2;padding:31px;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 65px rgba(23,32,51,.16),inset 0 1px 0 #fff;backdrop-filter:blur(24px);transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease;overflow:hidden}.login-card-glow{position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),color-mix(in srgb,var(--accent) 18%,transparent),transparent 33%);opacity:.9}.login-card-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.login-secure-chip{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:white;box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 30%,transparent)}.login-encrypted{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.68rem;font-weight:740}.login-encrypted i{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.1)}.login-eyebrow{position:relative;color:var(--brand);font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.login-3d-card h2{position:relative;margin:3px 0 3px;font-size:1.72rem;line-height:1.15}.login-intro{position:relative;margin:0 0 19px;color:var(--muted);font-size:.84rem}.login-form-compact{position:relative}.login-form-compact>label{display:block;margin:11px 0 5px;color:#414a5d;font-size:.76rem;font-weight:790}.login-input-wrap{position:relative}.login-input-wrap>i{position:absolute;z-index:2;left:13px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:.78rem}.login-input-wrap input{width:100%;min-height:45px;padding:10px 43px 10px 38px;font-size:.86rem;background:rgba(249,250,252,.92)}.login-input-wrap button{position:absolute;right:6px;top:5px;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.login-submit{width:100%;min-height:46px;margin-top:17px;padding:10px 14px;border:0;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;font-size:.84rem;font-weight:830;box-shadow:0 12px 25px color-mix(in srgb,var(--brand) 27%,transparent);cursor:pointer;transition:transform .18s ease}.login-submit:hover{transform:translateY(-2px)}.login-card-foot{position:relative;margin-top:17px;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.69rem}.login-card-foot a{color:var(--brand);font-weight:790;text-decoration:none}.login-card-foot span{color:var(--muted);text-align:right}.login-depth-shadow{position:absolute;z-index:1;left:9%;right:9%;bottom:-18px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--brand-strong) 22%,transparent);filter:blur(24px)}
@keyframes loginScan{0%,62%{transform:translateX(-130%)}78%,100%{transform:translateX(130%)}}@keyframes portalFloat{50%{transform:translateY(13px) scale(1.025)}}@keyframes portalSpin{to{transform:rotate(360deg)}}@keyframes passFloat{50%{transform:perspective(900px) rotateY(-8deg) rotateX(4deg) translateY(-9px)}}

/* Compact mobile attendance recap with both photos visible */
.attendance-back{color:var(--brand);font-size:.82rem;font-weight:760;text-decoration:none}.attendance-filter{padding:16px;margin-bottom:16px}.attendance-filter form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.attendance-filter label{flex:1;min-width:210px}.attendance-filter label strong{display:block;font-size:.78rem}.attendance-filter input{display:block;width:100%;min-height:40px;margin-top:5px;padding:7px 10px;font-size:.82rem}.attendance-filter button{height:40px;padding:0 14px;border-radius:12px;border:0;font-size:.78rem;font-weight:800}.attendance-excel{background:#0f9f6e;color:#fff}.attendance-summary{margin-bottom:16px}.mobile-attendance{display:none}.attendance-mobile-card{padding:11px;border:1px solid var(--line);border-radius:16px;margin-bottom:9px;background:#fff;box-shadow:0 7px 20px rgba(24,33,54,.05)}.attendance-mobile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}.attendance-mobile-card>header strong{display:block;font-size:.83rem;line-height:1.2}.attendance-mobile-card>header div span{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}.attendance-mobile-card .badge{padding:4px 7px;font-size:.64rem}.attendance-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-photo-item{min-width:0;padding:6px;border-radius:12px;background:var(--surface-2);border:1px solid #edf0f5}.attendance-photo-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:5px}.attendance-photo-label span{color:var(--muted);font-size:.65rem;font-weight:760;text-transform:uppercase;letter-spacing:.05em}.attendance-photo-label strong{font-size:.72rem}.attendance-photo-item a{display:block}.attendance-photo-item img,.attendance-photo-empty{display:block;width:100%;aspect-ratio:4/3;border-radius:9px;object-fit:cover;background:#e9edf4}.attendance-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8a94a8;font-size:.63rem;text-align:center;padding:6px}.attendance-photo-empty i{font-size:1rem;color:var(--brand)}.attendance-mobile-card>footer{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px;padding-top:7px;border-top:1px dashed var(--line);font-size:.65rem;color:var(--muted)}.attendance-mobile-card>footer a{color:var(--brand);font-weight:760;text-decoration:none}.attendance-mobile-card>footer>span{margin-left:auto;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:900px){.login-portal{min-height:auto;max-width:650px}.login-portal-grid{grid-template-columns:1fr}.login-portal-scene{min-height:235px;padding:27px}.virtual-access-pass{width:235px;right:28px;top:28px}.portal-copy{left:28px;bottom:25px}.portal-copy h1{font-size:2.25rem}.portal-copy p{max-width:280px}.login-3d-card{max-width:500px;margin:-2px auto 0}}
@media(max-width:640px){body{font-size:14px}.app-main{padding:14px 10px 24px}.page-heading{margin-bottom:14px;gap:8px}.page-heading h1{font-size:1.28rem}.page-heading p{font-size:.78rem;line-height:1.4}.mobile-nav.mobile-nav-guest{grid-template-columns:repeat(3,1fr)}.login-portal{padding:10px 10px 23px}.login-portal-grid{gap:10px}.login-portal-scene{min-height:152px;border-radius:22px;padding:18px}.virtual-access-pass{width:155px;right:15px;top:17px;padding:13px;border-radius:15px}.virtual-pass-top{font-size:.5rem}.virtual-pass-top span i{width:17px;height:17px}.virtual-pass-core{margin-top:16px}.virtual-pass-core span,.virtual-pass-core small{font-size:.43rem}.virtual-pass-core strong{font-size:.82rem;margin:2px 0 4px}.virtual-pass-foot{left:13px;right:13px;bottom:11px;font-size:.46rem}.virtual-pass-foot i{font-size:.8rem}.portal-copy{left:18px;bottom:17px;max-width:165px}.portal-kicker{font-size:.55rem}.portal-copy h1{font-size:1.42rem;margin:5px 0 7px}.portal-copy p{font-size:.68rem;line-height:1.35;max-width:150px}.login-3d-card{padding:19px 17px;border-radius:21px}.login-card-head{margin-bottom:14px}.login-secure-chip{width:35px;height:35px;border-radius:11px}.login-encrypted{font-size:.61rem}.login-3d-card h2{font-size:1.35rem}.login-intro{font-size:.77rem;margin-bottom:13px}.login-form-compact>label{font-size:.72rem;margin:9px 0 4px}.login-input-wrap input{min-height:40px;padding:8px 40px 8px 35px;font-size:.8rem;border-radius:11px}.login-input-wrap>i{left:12px}.login-input-wrap button{top:3px}.login-submit{min-height:41px;margin-top:13px;font-size:.78rem}.login-card-foot{font-size:.62rem;margin-top:13px;padding-top:12px}.attendance-list-heading{align-items:center}.attendance-list-heading .attendance-back{font-size:.7rem;white-space:nowrap}.attendance-filter{padding:10px;margin-bottom:10px}.attendance-filter form{display:grid;grid-template-columns:1fr auto auto;gap:6px}.attendance-filter label{min-width:0}.attendance-filter label strong{font-size:.68rem}.attendance-filter input{min-height:36px;margin-top:3px;padding:5px 7px;font-size:.72rem;border-radius:9px}.attendance-filter button{height:36px;padding:0 9px;border-radius:9px;font-size:.67rem}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.attendance-summary .metric{padding:9px 7px;border-radius:12px}.attendance-summary .metric-label{font-size:.57rem;letter-spacing:.02em}.attendance-summary .metric-value{font-size:1.02rem;margin-top:2px}.desktop-attendance{display:none}.mobile-attendance{display:block;padding:8px}.surface:has(.mobile-attendance){border-radius:15px!important}.attendance-mobile-card{padding:9px;border-radius:13px}.attendance-photo-pair{gap:6px}.attendance-photo-item{padding:5px}.attendance-photo-item img,.attendance-photo-empty{aspect-ratio:1.22/1}.attendance-mobile-card>footer{gap:7px;font-size:.61rem}.attendance-mobile-card>footer>span{max-width:100%;margin-left:0}}
@media(max-width:370px){.portal-copy p{display:none}.virtual-access-pass{width:145px}.attendance-filter form{grid-template-columns:1fr 1fr}.attendance-filter label{grid-column:1/-1}.attendance-filter button{width:100%}.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card-foot{align-items:flex-start;flex-direction:column}.login-card-foot span{text-align:left}}
@media(prefers-reduced-motion:reduce){.login-portal-scene:after,.portal-ring,.virtual-access-pass{animation:none}.login-3d-card{transition:none}}
@media(max-width:640px){.mobile-nav.mobile-nav-guest{grid-template-columns:repeat(4,1fr)}}

/* 2026-09-09: rich interactive themes */
[data-theme="peony"]{--brand:#be185d;--brand-strong:#831843;--brand-soft:#fff1f5;--accent:#fda4af;--surface-2:#fff8fa}
[data-theme="daisy"]{--brand:#ca8a04;--brand-strong:#854d0e;--brand-soft:#fffbea;--accent:#fde047;--surface-2:#fffef5}
[data-theme="lavender"]{--brand:#7e22ce;--brand-strong:#581c87;--brand-soft:#faf5ff;--accent:#d8b4fe;--surface-2:#fdfaff}
[data-theme="teddy"]{--brand:#9a5b35;--brand-strong:#60381f;--brand-soft:#fff7ed;--accent:#f2bd7d;--surface-2:#fffaf5}
[data-theme="bunny"]{--brand:#db3b80;--brand-strong:#9d174d;--brand-soft:#fff1f6;--accent:#fecdd3;--surface-2:#fff9fb}
[data-theme="kitty"]{--brand:#c24173;--brand-strong:#831843;--brand-soft:#fff1f7;--accent:#f9a8d4;--surface-2:#fffbfd}
[data-theme="duckling"]{--brand:#d97706;--brand-strong:#92400e;--brand-soft:#fffbeb;--accent:#fcd34d;--surface-2:#fffdf5}
[data-theme="candy"]{--brand:#c026d3;--brand-strong:#86198f;--brand-soft:#fdf4ff;--accent:#67e8f9;--surface-2:#fff8ff}
[data-theme="unicorn"]{--brand:#7c3aed;--brand-strong:#5b21b6;--brand-soft:#f5f3ff;--accent:#f0abfc;--surface-2:#fcfaff}
[data-theme="galaxy3d"]{--brand:#312e81;--brand-strong:#17134f;--brand-soft:#eef2ff;--accent:#a78bfa;--surface-2:#f5f5ff}
[data-theme="aquarium"]{--brand:#0369a1;--brand-strong:#164e63;--brand-soft:#ecfeff;--accent:#2dd4bf;--surface-2:#f4fdff}
[data-theme="cloudland"]{--brand:#3b82f6;--brand-strong:#1d4ed8;--brand-soft:#eff6ff;--accent:#bae6fd;--surface-2:#f8fcff}
[data-theme="toybox"]{--brand:#e11d48;--brand-strong:#9f1239;--brand-soft:#fff1f2;--accent:#60a5fa;--surface-2:#fff9f8}
[data-theme="butterfly"]{--brand:#9333ea;--brand-strong:#6b21a8;--brand-soft:#faf5ff;--accent:#f472b6;--surface-2:#fff9ff}
body:before,body:after{position:fixed;pointer-events:none;user-select:none;z-index:0}body:before{right:clamp(12px,4vw,58px);top:94px;font-size:clamp(2.5rem,7vw,5rem);filter:drop-shadow(0 18px 16px color-mix(in srgb,var(--brand) 24%,transparent));transform-style:preserve-3d;animation:themeFloat 5.6s ease-in-out infinite}body:after{content:"";left:-90px;bottom:40px;width:260px;height:260px;border-radius:42% 58% 65% 35%;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 14%,transparent),color-mix(in srgb,var(--accent) 18%,transparent));filter:blur(2px);animation:themeBlob 11s ease-in-out infinite}.app-shell{position:relative;z-index:1}
[data-theme="peony"] body:before{content:"🌺  🌸"}[data-theme="daisy"] body:before{content:"🌼  🐝"}[data-theme="lavender"] body:before{content:"🪻  ✨"}[data-theme="teddy"] body:before{content:"🧸"}[data-theme="bunny"] body:before{content:"🐰  🥕"}[data-theme="kitty"] body:before{content:"🐱  🐾"}[data-theme="duckling"] body:before{content:"🐥  ☀️"}[data-theme="candy"] body:before{content:"🍬  🍭"}[data-theme="unicorn"] body:before{content:"🦄  🌈"}[data-theme="galaxy3d"] body:before{content:"🌌  🪐"}[data-theme="aquarium"] body:before{content:"🐠  🪸"}[data-theme="cloudland"] body:before{content:"☁️  🌈"}[data-theme="toybox"] body:before{content:"🪀  🎲"}[data-theme="butterfly"] body:before{content:"🦋  🌺"}
@keyframes themeFloat{0%,100%{transform:translate3d(0,0,0) rotateY(-8deg) rotateZ(-3deg)}50%{transform:translate3d(-14px,18px,25px) rotateY(14deg) rotateZ(4deg)}}@keyframes themeBlob{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(22deg) scale(1.14)}}
.theme-grid-rich{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-grid-rich .theme-swatch{overflow:hidden;isolation:isolate;transform-style:preserve-3d}.theme-grid-rich .theme-swatch:before{content:"";position:absolute;right:-25px;bottom:-32px;width:78px;height:78px;border-radius:26px;background:linear-gradient(145deg,var(--swatch-a),var(--swatch-b));opacity:.12;transform:rotate(28deg);z-index:-1}.theme-grid-rich .theme-option:hover .theme-swatch{transform:perspective(500px) rotateX(4deg) rotateY(-4deg) translateY(-3px)}.theme-grid-rich .theme-option:active .theme-swatch{transform:perspective(500px) rotateX(-3deg) rotateY(3deg) scale(.98)}.theme-dot{display:grid;place-items:center}.theme-dot b{font-size:1.08rem;filter:drop-shadow(0 3px 3px rgba(0,0,0,.16));transform:translateZ(10px)}

/* Admin mobile account actions */
.mobile-header-actions{display:none;align-items:center;gap:7px}.mobile-header-actions form{margin:0}.mobile-header-actions a,.mobile-header-actions button{height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;text-decoration:none;font-size:.72rem;font-weight:800;box-shadow:0 5px 16px rgba(22,31,54,.07)}.mobile-header-actions button{background:var(--brand);border-color:var(--brand);color:#fff;cursor:pointer}

/* Admin settings */
.settings-panel{padding:24px;margin-bottom:18px}.settings-copy{display:flex;align-items:flex-start;gap:14px;margin-bottom:19px}.settings-copy h2{margin:0 0 4px;font-size:1.3rem}.settings-copy p{margin:0;color:var(--muted);font-size:.87rem;max-width:720px}.settings-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.settings-form label>strong{display:block;margin-bottom:6px;font-size:.8rem}.settings-form input{width:100%;padding:10px 12px}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-field button{position:absolute;right:5px;top:5px;width:35px;height:34px;border:0;border-radius:10px;background:var(--brand-soft);color:var(--brand);cursor:pointer}.settings-submit{grid-column:1/-1;justify-self:start;padding:11px 16px;border-radius:13px;font-weight:800}

/* Payroll exports and salary slip */
.payroll-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.payroll-tools form{margin:0}.recalculate-button{padding:9px 13px;border:0;border-radius:12px;background:#fff5dc;color:#a45c05;font-weight:800;cursor:pointer}.payroll-export-group,.slip-page-actions>div{display:flex;gap:8px;flex-wrap:wrap}.export-button,.slip-detail-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:11px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:820;box-shadow:0 7px 18px rgba(22,31,54,.1)}.export-pdf{background:#cf2039}.export-excel{background:#13845f}.slip-detail-link{padding:7px 10px;background:var(--brand-soft);color:var(--brand);box-shadow:none;white-space:nowrap}.slip-page-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.slip-page-actions>a{color:var(--brand);text-decoration:none;font-weight:800;font-size:.82rem}.salary-slip{max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 22px 55px rgba(24,33,54,.12)}.salary-slip>header{display:flex;justify-content:space-between;gap:24px;padding:30px 34px;background:linear-gradient(135deg,var(--brand-strong),var(--brand) 68%,var(--accent));color:#fff}.salary-slip>header span:first-child{font-size:.7rem;font-weight:900;letter-spacing:.18em}.salary-slip>header h1{margin:4px 0 0;font-size:1.55rem;line-height:1.1}.salary-slip>header p{margin:5px 0 0;color:rgba(255,255,255,.78);text-transform:uppercase;font-size:.68rem;letter-spacing:.14em}.salary-slip-period{text-align:right}.salary-slip-period small,.salary-slip-period span{display:block;color:rgba(255,255,255,.78);font-size:.7rem}.salary-slip-period strong{display:block;font-size:2rem;line-height:1}.salary-identity{display:grid;grid-template-columns:1.1fr 1.4fr .55fr;gap:18px;padding:21px 34px;border-bottom:1px solid var(--line);background:var(--brand-soft)}.salary-identity small{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.salary-identity strong{display:block;margin-top:3px;font-size:.86rem}.salary-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;padding:28px 34px}.salary-columns h2{font-size:.9rem;margin:0 0 12px;color:#087453;text-transform:uppercase;letter-spacing:.06em}.salary-columns h2 i{margin-right:5px}.salary-columns .salary-cut-title{color:#b71934}.salary-line{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed #dfe3ea;font-size:.82rem}.salary-line span{color:#657084}.salary-line strong{text-align:right}.salary-subtotal{margin-top:7px;border-bottom:0;border-radius:11px;padding:11px;background:#eaf9f2;color:#087453}.salary-subtotal span{color:inherit;font-weight:760}.salary-cut{background:#fff0f3;color:#b71934}.salary-net{margin:0 34px 26px;padding:19px 22px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--brand-soft),#fff);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));color:var(--brand)}.salary-net small{display:block;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.salary-net strong{display:block;font-size:1.75rem;line-height:1.2}.salary-net>i{font-size:2rem}.salary-slip>footer{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:19px 34px;background:#fafbfc;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.salary-slip>footer small{display:block;margin-top:3px}.salary-sign{text-align:center;min-width:150px}.salary-sign span,.salary-sign strong{display:block}.salary-sign strong{margin-top:34px;color:var(--ink);border-top:1px solid #b7bdc8;padding-top:5px}

/* Profile refinements */
.identity-person img{width:96px;height:96px;border-radius:24px}.attendance-cta-secondary{background:var(--brand-soft)!important;color:var(--brand)!important;box-shadow:none;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line))}.profile-mobile-actions{display:none;max-width:600px;margin:12px auto 0;gap:8px}.profile-mobile-actions .attendance-cta-mobile{margin:0;flex:1}.attendance-header .btn-action-small{white-space:nowrap}
.profile-period-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.profile-period-heading h2{margin:3px 0 4px;font-size:1.25rem}.profile-period-heading p{margin:0;color:var(--muted);font-size:.78rem}.profile-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.profile-period-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.profile-period-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px;border-bottom:1px solid var(--line);background:#fff}.profile-period-card>header div span{display:block;color:var(--brand);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.profile-period-card>header div strong{display:block;margin-top:3px;font-size:.78rem}.profile-period-card>header .badge{font-size:.6rem;white-space:nowrap}.profile-period-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.profile-period-stats>div{padding:11px;background:var(--surface-2)}.profile-period-stats span,.profile-period-dates span{display:block;color:var(--muted);font-size:.63rem}.profile-period-stats strong{display:block;margin-top:3px;font-size:.78rem}.profile-period-dates{padding:11px 13px;background:#fff}.profile-period-dates>div+div{margin-top:9px}.profile-period-dates span i{width:16px;color:var(--brand)}.profile-period-dates strong{display:block;margin-top:3px;font-size:.73rem;line-height:1.45}.profile-period-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--brand-soft);color:var(--brand)}.profile-period-card>footer span{font-size:.67rem;font-weight:760}.profile-period-card>footer strong{font-size:.9rem}.profile-period-note{display:flex;align-items:flex-start;gap:7px;margin:13px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}.profile-period-note i{margin-top:2px;color:var(--brand)}

@media(max-width:760px){.theme-grid-rich{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-person img{width:78px;height:78px;border-radius:19px}.profile-mobile-actions{display:flex}.settings-form{grid-template-columns:1fr}.settings-submit{width:100%}.salary-columns{grid-template-columns:1fr;gap:20px}.salary-identity{grid-template-columns:1fr 1fr}.salary-identity>div:last-child{grid-column:1/-1}.salary-slip>header,.salary-identity,.salary-columns,.salary-slip>footer{padding-left:20px;padding-right:20px}.salary-net{margin-left:20px;margin-right:20px}.slip-page-actions{align-items:flex-start;flex-direction:column}.slip-page-actions>div{width:100%}.slip-page-actions .export-button{flex:1}.profile-period-heading{display:block}.profile-period-heading>.badge{display:inline-flex;margin-top:9px}.profile-period-grid{grid-template-columns:1fr}}
@media(max-width:640px){.mobile-header-actions{display:flex}.mobile-header-actions a{width:38px;padding:0}.app-header-inner{gap:8px}.brand-copy span{font-size:.78rem}.theme-grid-rich .theme-swatch{min-height:68px}.payroll-tools{align-items:stretch;flex-direction:column}.payroll-export-group{display:grid;grid-template-columns:1fr 1fr}.export-button{min-height:40px}.settings-panel{padding:17px}.salary-slip>header{padding-top:23px;padding-bottom:23px}.salary-slip>header h1{font-size:1.05rem}.salary-slip-period strong{font-size:1.5rem}.salary-net strong{font-size:1.35rem}.salary-slip>footer{align-items:flex-start;flex-direction:column}.salary-sign{align-self:flex-end}.attendance-header{gap:8px}.attendance-header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.attendance-header .btn-action-small{font-size:.67rem;padding:6px}}
@media(max-width:400px){.identity-person img{width:68px;height:68px;border-radius:17px}.profile-mobile-actions{flex-direction:column}.mobile-header-actions button span{display:none}.mobile-header-actions button{width:38px;padding:0}.brand-copy span{font-size:.7rem}.brand-copy small{letter-spacing:.08em}}
@media print{body:before,body:after{display:none!important}.salary-slip{max-width:none;border:0;box-shadow:none}.salary-slip>header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.salary-net,.salary-identity{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}.theme-grid-rich .theme-swatch{transition:none}}

/* Master Admin account and destructive-data controls */
.master-heading .master-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:#9a6500;font-size:.72rem;font-weight:900;letter-spacing:.1em}.master-section{padding:24px;margin-bottom:18px}.master-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.master-account-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.master-account-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#fff;border-bottom:1px solid var(--line)}.master-account-card>header strong,.master-account-card>header small{display:block}.master-account-card>header small{margin-top:3px;color:var(--muted);font-size:.72rem}.master-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px}.master-account-form label strong,.master-delete-form label strong{display:block;margin-bottom:6px;font-size:.78rem}.master-account-form input,.master-delete-form input,.master-delete-form select{width:100%;padding:10px 12px}.master-account-form .master-confirm,.master-account-form button{grid-column:1/-1}.master-account-form button{justify-self:start;padding:11px 15px;border-radius:13px;font-weight:800}.master-danger-zone{border-color:#ffc2cc!important;background:linear-gradient(145deg,#fff,#fff6f7)!important}.master-danger-zone .settings-icon{background:#ffe8ec;color:#b71934}.master-data-summary{display:flex;gap:9px;flex-wrap:wrap;margin:-4px 0 18px}.master-data-summary span{padding:8px 11px;border-radius:11px;background:#fff;border:1px solid #ffd1d8;color:#6d2733;font-size:.76rem}.master-delete-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.master-delete-button{grid-column:1/-1;justify-self:start;padding:12px 16px;border:0;border-radius:13px;background:#b71934;color:#fff;font-weight:850;cursor:pointer;box-shadow:0 9px 22px rgba(183,25,52,.2)}.master-delete-button:hover{background:#941329}.master-delete-form [hidden]{display:none!important}
@media(max-width:760px){.master-account-grid,.master-account-form,.master-delete-form{grid-template-columns:1fr}.master-account-form .master-confirm,.master-account-form button,.master-delete-button{grid-column:auto}.master-account-form button,.master-delete-button{width:100%}.master-section{padding:17px}}
