:root{color-scheme:light;--color-brand:#2563eb;--color-brand-dark:#1d4ed8;--color-text:#0f172a;--color-muted:#64748b;--color-border:#cbd5e1;--color-bg:#f8fafc}*{box-sizing:border-box}body,html{background:var(--color-bg);color:var(--color-text);font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html,ol,ul{margin:0;padding:0}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.bg-brand{background-color:var(--color-brand)}.text-brand{color:var(--color-brand)}.hover\:bg-brand-dark:hover{background-color:var(--color-brand-dark)}.hover\:bg-brand:hover{background-color:var(--color-brand)}.hover\:underline:hover,.underline{text-decoration:underline}.list-none{list-style:none}.shadow-sm{box-shadow:0 1px 2px rgba(15,23,42,.08)}.rounded-lg,.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:999px}.border{border:1px solid var(--color-border)}.border-b{border-bottom:1px solid #e2e8f0}.border-slate-100{border-color:#f1f5f9}.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}.border-slate-900{border-color:#0f172a}.border-emerald-200{border-color:#a7f3d0}.border-blue-200{border-color:#bfdbfe}.border-dashed{border-style:dashed}.bg-white{background:#fff}.bg-white\/80{background:rgba(255,255,255,.8)}.bg-white\/95{background:rgba(255,255,255,.95)}.bg-transparent{background:transparent}.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}.bg-slate-900{background:#0f172a}.bg-slate-700{background:#334155}.bg-red-50{background:#fef2f2}.bg-emerald-50{background:#ecfdf5}.bg-blue-50{background:#eff6ff}.bg-blue-600{background:#2563eb}.text-white{color:#fff}.text-slate-300{color:#cbd5e1}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-slate-900{color:#0f172a}.text-red-500,.text-red-600{color:#dc2626}.text-emerald-600,.text-emerald-700{color:#047857}.text-amber-500{color:#f59e0b}.text-blue-100{color:#dbeafe}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:Consolas,monospace}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.tracking-\[0\.35em\],.tracking-\[0\.4em\]{letter-spacing:.35em}.tracking-widest{letter-spacing:.2em}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.min-h-full,.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.min-w-\[560px\]{min-width:560px}.min-w-\[620px\]{min-width:620px}.min-w-\[920px\]{min-width:920px}.min-w-\[960px\]{min-width:960px}.min-w-\[1200px\]{min-width:1200px}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.gap-1\.5{gap:.375rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.divide-y>*+*{border-top:1px solid #f1f5f9}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.grid-cols-1{grid-template-columns:minmax(0,1fr)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[4rem_1fr\]{grid-template-columns:4rem 1fr}.table,table{width:100%;border-collapse:collapse}td,th{vertical-align:top}.transition{transition:all .15s ease}.opacity-50{opacity:.5}.tracking-wide{letter-spacing:.025em}.tabular-nums{font-variant-numeric:tabular-nums}.bg-gradient-to-br.from-blue-50.to-white{background:linear-gradient(135deg,#eff6ff,#ffffff)}.resize-none{resize:none}.whitespace-nowrap{white-space:nowrap}input:focus,select:focus,textarea:focus{border-color:var(--color-brand);outline:3px solid rgba(37,99,235,.12);outline-offset:0}.disabled\:opacity-50:disabled{opacity:.5;cursor:default}.hover\:bg-slate-100:hover{background:#f1f5f9}.hover\:bg-slate-50:hover{background:#f8fafc}.hover\:bg-slate-800:hover{background:#1e293b}.hover\:text-slate-600:hover{color:#475569}.hover\:text-slate-900:hover{color:#0f172a}.backdrop-blur{backdrop-filter:blur(8px)}.top-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid #e2e8f0;background:linear-gradient(90deg,rgba(239,246,255,.72),transparent 28%),rgba(255,255,255,.96);backdrop-filter:blur(12px)}.top-nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;max-width:72rem;min-height:4.5rem;margin:0 auto;padding:.75rem 1.5rem}.top-nav-workboard{justify-self:start;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;padding:.6rem .9rem;font-size:.75rem;font-weight:800;letter-spacing:.04em;white-space:nowrap;transition:all .15s ease}.top-nav-workboard.is-active,.top-nav-workboard:hover{border-color:#0f172a;background:#0f172a;color:#fff}.top-nav-center{grid-column:2;justify-self:center;color:#0f172a;font-size:1.05rem;font-weight:800;letter-spacing:-.025em;white-space:nowrap}.top-nav-center:after{display:block;width:1.4rem;height:.16rem;margin:.28rem auto 0;border-radius:999px;background:var(--color-brand);content:""}.top-nav-actions{grid-column:3;justify-self:end;min-width:0;overflow-x:auto}.top-nav-actions ul{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.top-nav-link{display:block;border-radius:999px;color:#475569;padding:.58rem .8rem;font-size:.8rem;font-weight:700;white-space:nowrap;transition:all .15s ease}.top-nav-link:hover{background:#f1f5f9;color:#0f172a}.top-nav-link.is-active{background:var(--color-brand);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.2)}.attendance-hub{width:min(100%,64rem);min-height:100%;margin:0 auto;padding:3rem 2rem 4rem}.attendance-hub-hero{position:relative;overflow:hidden;border:1px solid #1e293b;border-radius:1.5rem;background:radial-gradient(circle at 88% 18%,rgba(59,130,246,.55),transparent 28%),linear-gradient(135deg,#0f172a,#172554);color:#fff;padding:2.75rem 3rem;box-shadow:0 24px 50px rgba(15,23,42,.18)}.attendance-hub-card-eyebrow,.attendance-hub-eyebrow{margin:0;color:#93c5fd;font-size:.7rem;font-weight:900;letter-spacing:.2em}.attendance-hub-hero h1{margin:.75rem 0 0;font-size:clamp(2rem,5vw,2.6rem);font-weight:900;letter-spacing:-.04em}.attendance-hub-intro{max-width:38rem;margin:.8rem 0 0;color:#cbd5e1;font-size:.95rem;line-height:1.75}.attendance-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.attendance-hub-card{display:block;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;color:#0f172a;padding:1.5rem;box-shadow:0 4px 14px rgba(15,23,42,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.attendance-hub-card:hover{transform:translateY(-4px);border-color:#93c5fd;box-shadow:0 16px 30px rgba(15,23,42,.1)}.attendance-hub-card.is-primary{border-color:var(--color-brand);background:linear-gradient(135deg,var(--color-brand),#1d4ed8);color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.22)}.attendance-hub-card-eyebrow{color:#2563eb}.attendance-hub-card.is-primary .attendance-hub-card-eyebrow{color:#dbeafe}.attendance-hub-card-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.attendance-hub-card-title h2{margin:0;font-size:1.2rem;font-weight:900;letter-spacing:-.03em}.attendance-hub-card-title span{color:#94a3b8;font-size:1.25rem;transition:transform .2s ease}.attendance-hub-card:hover .attendance-hub-card-title span{transform:translateX(4px)}.attendance-hub-card.is-primary .attendance-hub-card-title span{color:#fff}.attendance-hub-card>p{margin:.75rem 0 0;color:#64748b;font-size:.875rem;line-height:1.65}.attendance-hub-card.is-primary>p{color:#eff6ff}@media (max-width:767px){.top-nav-inner{row-gap:.65rem;min-height:auto;padding:.7rem .75rem .6rem}.top-nav-workboard{padding:.5rem .7rem;font-size:.67rem}.top-nav-center{font-size:1rem}.top-nav-actions{grid-row:2;grid-column:1/-1;justify-self:stretch}.top-nav-actions ul{justify-content:center}.top-nav-link{padding:.52rem .72rem;font-size:.75rem}.attendance-hub{padding:2rem 1rem 3rem}.attendance-hub-hero{padding:2.1rem 1.5rem}.attendance-hub-grid{grid-template-columns:1fr}}@media (min-width:768px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.5fr_1fr_auto\]{grid-template-columns:1.5fr 1fr auto}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[360px_1fr\]{grid-template-columns:360px minmax(0,1fr)}}