@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-display:"Playfair Display","Playfair Display Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.table{display:table}.list-item{display:list-item}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#fffaf4;--surface:#ffffff;--surface-soft:#fff4e7;--ink:#25212d;--muted:#766f82;--line:#efe3d7;--saffron:#f59e0b;--rose:#e85d75;--teal:#159a9c;--grape:#604cc3;--green:#2f9e44;--red:#d9480f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,rgba(245,158,11,.18),transparent 34rem),linear-gradient(135deg,#fffaf4,#f9fbff 48%,#fff6f2);font-family:var(--font-inter),system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid var(--line);background:rgba(255,255,255,.84);backdrop-filter:blur(20px);z-index:20}.brand,.brand-lockup{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;margin-bottom:24px}.brand-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;flex:0 0 auto}.brand-logo-sm{max-width:44px;max-height:44px}.brand-logo-md{max-width:64px;max-height:64px}.brand-logo-lg{max-width:86px;max-height:86px}.brand h1,.brand-lockup h1,.page-title h2{margin:0;font-family:var(--font-display),serif;letter-spacing:0}.brand h1,.brand-lockup h1{font-size:20px;line-height:1.05}.brand p,.brand-lockup p,.muted,.page-title p{color:var(--muted)}.brand p,.brand-lockup p{margin:5px 0 0;font-size:12px}.nav-list{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 12px;border-radius:10px;color:#4d4658;font-weight:700;font-size:14px}.nav-link.active,.nav-link:hover{color:var(--ink);background:#fff0dd}.sidebar-footer{position:absolute;left:22px;right:22px;bottom:22px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffaf4}.main{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:18px 28px;border-bottom:1px solid rgba(239,227,215,.8);background:rgba(255,250,244,.78);backdrop-filter:blur(18px)}.page-title h2{font-size:clamp(26px,3vw,38px)}.filters,.row,.tabs,.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filters>.input,.filters>.select{flex:1 1 156px;max-width:220px}.filters>.button{flex:0 0 auto}.search-box{flex:1 1 300px;min-width:min(100%,280px);min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted)}.search-box .input{min-height:40px;padding:8px 0;border:0;background:transparent}.icon-button,.mobile-menu{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);display:grid;place-items:center;cursor:pointer}.button:disabled,.icon-button:disabled{cursor:wait;opacity:.64}.mobile-menu{display:none}.content{padding:26px 28px 38px}.grid{display:grid;gap:18px;min-width:0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0;border:1px solid rgba(239,227,215,.9);border-radius:8px;background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(42,35,27,.08)}.card-pad{padding:18px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-title h3,.section-title{margin:0;font-size:16px}.stat-card{min-height:132px;display:grid;gap:14px}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:white}.stat-card strong{display:block;font-size:25px;margin-bottom:2px}.badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#f4f0ff;color:var(--grape);white-space:nowrap}.badge.green{color:var(--green);background:#e9f8ee}.badge.amber{color:#9a5d00;background:#fff2cc}.badge.red{color:var(--red);background:#ffe8df}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:10px;background:var(--ink);color:white;font-weight:800;cursor:pointer}.button.secondary{background:white;color:var(--ink);border-color:var(--line)}.link-button{appearance:none;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.link-button:hover strong{color:var(--grape)}.input,.select,.textarea{min-height:42px;width:100%;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:9px 12px;outline:none}.textarea{min-height:96px;resize:vertical}.table-wrap{width:100%;max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px}td,th{padding:13px 12px;text-align:left;border-bottom:1px solid #f0e7df;vertical-align:middle;font-size:14px}th{color:#5f586b;font-size:12px;text-transform:uppercase;letter-spacing:0;background:#fffaf4}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:900;background:linear-gradient(135deg,var(--rose),var(--grape))}.chart{height:250px;display:flex;align-items:end;gap:12px;padding-top:18px}.bar{flex:1;min-width:30px;display:grid;gap:8px;align-content:end;text-align:center;color:var(--muted);font-size:12px}.bar span{border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--rose),var(--saffron))}.activity-list,.donut-list,.profile-list{display:grid;gap:12px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #f0e7df;border-radius:8px;background:#fffdfb}.list-item.active{border-color:#ffd8a8;background:#fff0dd}.alert{padding:12px 14px;border-radius:8px;font-weight:800}.alert.success{color:#146c43;border:1px solid #badbcc;background:#d1e7dd}.alert.error{color:var(--red);border:1px solid #f4b7a9;background:#fff1ec}.fee-subsection{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.fee-subsection-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.fee-subsection-title h4{margin:0;font-size:15px}.progress{height:8px;overflow:hidden;border-radius:999px;background:#f2ece6}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--grape))}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:4px}.kanban-column{min-height:280px;padding:12px;border-radius:8px;background:#fff7ed;border:1px solid var(--line)}.kanban-card{padding:12px;margin-top:10px;border-radius:8px;background:white;border:1px solid #f0e7df}.attendance-row{display:grid;grid-template-columns:minmax(160px,1fr) repeat(4,minmax(80px,104px));gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #f0e7df}.attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));gap:8px;overflow-x:auto}.calendar-day{min-height:86px;display:grid;align-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fffdfb}.calendar-day.present{border-color:#b8efd0;background:#edfdf3}.calendar-day.absent{border-color:#ffd0c2;background:#fff0ea}.calendar-day.late{border-color:#ffe2a8;background:#fff8e7}.calendar-day.leave{border-color:#d7d1ff;background:#f7f4ff}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.segmented button,.tab{border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted);min-height:36px;padding:7px 10px;font-weight:800;cursor:pointer}.segmented button.active,.tab.active{color:var(--ink);border-color:#ffd8a8;background:#fff0dd}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;margin-bottom:7px;color:#5f586b;font-size:13px;font-weight:800}.drawer-backdrop{display:none}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed #e8d8c9;border-radius:8px;background:#fffdfb}.document-preview{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fffdfb}.document-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.document-head .brand-lockup{margin-bottom:0}.document-head .brand-lockup h1{font-size:18px}.document-head .brand-lockup p{font-size:12px}.auth-check,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-check-card{width:min(100%,380px)}.login-page{background:radial-gradient(circle at 18% 18%,rgba(232,93,117,.16),transparent 28rem),radial-gradient(circle at 82% 12%,rgba(21,154,156,.14),transparent 24rem),linear-gradient(135deg,#fffaf4,#ffffff 48%,#fff3e8)}.login-panel{width:min(100%,500px);padding:26px}.login-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.login-brand .brand-lockup{margin-bottom:0}.login-copy h2{margin:8px 0 0;font-family:var(--font-display),serif;font-size:clamp(28px,6vw,42px)}.password-field{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.login-button{width:100%}.auth-error{padding:11px 12px;border:1px solid #ffd0c2;border-radius:8px;color:var(--red);background:#fff0ea;font-weight:700}.success-message{padding:11px 12px;border:1px solid #b8efd0;border-radius:8px;color:var(--green);background:#edfdf3;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(37,33,45,.42);overflow-y:auto}.modal-panel{width:min(100%,980px);max-height:min(92vh,980px);overflow-y:auto}.user-chip{min-height:42px;display:grid;align-content:center;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.82)}.user-chip strong{font-size:13px}.user-chip span{color:var(--muted);font-size:12px;font-weight:800}.skeleton{overflow:hidden;position:relative;background:#f4eee7}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translateX(100%)}}@media (max-width:1180px){.module-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .18s ease;width:min(86vw,320px)}.sidebar.open{transform:translateX(0)}.drawer-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(37,33,45,.35);z-index:15}.mobile-menu{display:grid}.topbar{padding:14px 16px}.content{padding:18px 16px 28px}.filters>.button,.filters>.input,.filters>.select,.search-box{flex:1 1 100%;max-width:none;width:100%}.attendance-row,.form-grid,.module-grid,.stats-grid{grid-template-columns:1fr}.segmented{grid-template-columns:repeat(2,1fr)}.top-actions .button.secondary,.top-actions .user-chip,.top-actions>div:first-child{display:none}.login-brand{align-items:flex-start}}