@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_next/static/media/dm-sans-latin-ext-wght-normal.076198e1.woff2) format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_next/static/media/dm-sans-latin-wght-normal.09c66476.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-ext-wght-normal.08e5f2ba.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-wght-normal.b515a53c.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-greek-wght-normal.a5a64f6d.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-vietnamese-wght-normal.41320caf.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-ext-wght-normal.22a8837b.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-wght-normal.f754fc25.woff2) format("woff2-variations");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}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:"DM Sans Variable",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--container-sm:24rem;--default-font-family:"DM Sans Variable",sans-serif;--default-mono-font-family:var(--font-mono);--font-heading:"Manrope Variable",sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.hidden{display:none}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.overline{text-decoration-line:overline}}:root{--forest:#233d33;--lime:#d2ef6a;--paper:#f8f9f4;--muted:#63705f;--line:#e2e6db;--sidebar-width:242px}body{color:var(--forest);background:var(--paper);font:14px var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.brand,.stat strong,h1,h2,h3{font-family:var(--font-heading)}a,button,input,select{outline-offset:4px}:focus-visible{outline:2px solid #62874a}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}::selection{color:var(--forest);background:var(--lime)}.skip-link{z-index:40;background:var(--lime);border-radius:7px;padding:12px 16px;position:fixed;top:-110px;left:16px}.skip-link:focus{top:12px}.app-shell{min-height:100dvh}.sidebar{z-index:10;width:var(--sidebar-width);background:var(--forest);color:#d8e2d4;flex-direction:column;padding:31px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{width:fit-content;padding:0 10px}.brand{letter-spacing:-1.9px;color:#fff;align-items:center;gap:10px;font-size:34px;font-weight:800;line-height:1;display:inline-flex}.brand-icon{background:var(--lime);width:38px;height:38px;color:var(--forest);border-radius:10px 10px 15px;place-items:center;display:grid}.brand-dot{color:var(--lime)}.workspace{border:1px solid #ffffff24;border-radius:9px;align-items:center;gap:10px;margin:36px 0 23px;padding:10px;display:flex}.workspace-icon{width:34px;height:34px;color:var(--lime);background:#ffffff13;border-radius:7px;place-items:center;display:grid}.workspace small,.workspace strong{display:block}.workspace strong{color:#f6f8f3;font-size:12px}.workspace small{color:#b4c2b0;margin-top:2px;font-size:11px}.sidebar nav{gap:5px;display:grid}.sidebar nav a,.sidebar-footer button{white-space:nowrap;border-radius:7px;align-items:center;gap:11px;padding:12px 13px;font-size:13px;display:flex}.sidebar nav a:hover,.sidebar-footer button:hover{color:#fff;background:#ffffff12}.sidebar nav a.active{background:var(--lime);color:var(--forest);font-weight:700}.sidebar-footer{margin-top:auto;padding-top:18px}.sidebar-footer button{text-align:left;border-top:1px solid #ffffff20;border-radius:0;width:100%}.workarea{margin-left:var(--sidebar-width);flex-direction:column;min-height:100dvh;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fcfdf9;justify-content:space-between;align-items:center;gap:12px;height:71px;padding:0 40px;display:flex}.breadcrumb,.topbar-user{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.breadcrumb strong,.person{color:var(--forest)}.person{width:34px;height:34px;background:#eaf0dd;border:1px solid #dce6cc;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.main{flex:1;width:100%;max-width:1550px;margin-inline:auto;padding:37px 40px 48px}.footer{border-top:1px solid var(--line);color:var(--muted);margin:0 40px;padding:16px 0;font-size:11px}.footer,.page-heading,.panel-heading,.period-row{justify-content:space-between;gap:16px;display:flex}.page-heading,.panel-heading,.period-row{align-items:center}.page-heading{margin-bottom:30px}.page-heading h1{letter-spacing:-.045em;font-size:clamp(28px,3vw,39px);font-weight:750;line-height:1.15}.subtitle{color:var(--muted);line-height:1.6}.page-heading p{margin-top:9px}.overline{letter-spacing:1.35px;align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.overline i{background:currentColor;width:18px;height:1px}.period-row{margin-bottom:13px}.week-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.current-week{text-underline-offset:3px;font-size:12px;font-weight:700;text-decoration:underline}.date-control,.week-nav{border:1px solid var(--line);color:var(--forest);white-space:nowrap;background:#fff;border-radius:7px;align-items:center;font-size:12px;display:inline-flex}.week-nav a{border-radius:6px;place-items:center;width:34px;height:35px;display:grid}.date-control:hover,.week-nav a:hover{background:#edf3e5}.week-nav span{align-items:center;gap:7px;padding:0 9px;font-weight:650;display:inline-flex}.date-control{gap:7px;padding:8px 10px;position:relative}.date-control input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.date-control input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.date-control:focus-within{outline-offset:2px;outline:2px solid #62874a}.btn{border:1px solid var(--forest);background:var(--forest);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.btn:hover{background:#345644}.btn.secondary{color:var(--forest);background:#fff;border-color:#d7dfcf}.btn.secondary:hover{background:#eef3e5}.btn.small{min-height:34px;padding:5px 10px;font-size:12px}.icon-btn{border-radius:7px;place-items:center;padding:7px;display:grid}.icon-btn:hover{background:#eef3e5}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.panel,.stat,.week-card{border-radius:11px;min-width:0}.stat{border:1px solid var(--line);background:#fff;padding:19px 21px}.stat.accent{background:var(--lime);border-color:#c6df6d}.stat>span{justify-content:space-between;align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.stat>span svg{color:#60794c;flex-shrink:0}.stat strong{letter-spacing:-.05em;overflow-wrap:anywhere;margin:13px 0 5px;font-size:clamp(23px,2.6vw,34px);font-weight:750;line-height:1.15;display:block}.stat small{color:#536449;font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(225px,29%);align-items:start;gap:20px;display:grid}.panel{border:1px solid var(--line);background:#fff;overflow:hidden}.panel-heading{padding:21px 23px}.dialog h2,.panel-heading h2{letter-spacing:-.45px;font-size:18px;font-weight:750}.panel-heading p{color:var(--muted);margin-top:5px;font-size:12px}.table-wrap{overflow-x:auto}table{text-align:left;width:100%;font-size:13px}td,th{border-top:1px solid var(--line);padding:13px 18px}thead th{color:#50624a;white-space:nowrap;background:#f7f9f3;font-size:11px;font-weight:650}th span{align-items:center;gap:4px;display:inline-flex}.attendance-table{min-width:420px}.attendance-table td:nth-child(2),.attendance-table td:nth-child(3),.attendance-table th:nth-child(2),.attendance-table th:nth-child(3){text-align:center}.attendance-table th:last-child,.payments-table th:last-child{text-align:right}.payments-table tfoot th:first-child{text-align:left}.payments-table{min-width:440px}.money-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:750}.person-cell{align-items:center;gap:9px;display:flex}.person-cell strong,.registry-list strong{overflow-wrap:anywhere}.person-cell small,.registry-list small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.shift-toggle{color:#617357;background:#fff;border:1px solid #dbe2d3;border-radius:7px;place-items:center;width:36px;height:34px;display:inline-grid}.shift-toggle:hover{background:#eef3e5}.shift-toggle[aria-pressed=true]{color:#3a5e34;background:#e9f5d4;border-color:#cce2ab}.empty{text-align:center;border-top:1px solid var(--line);justify-items:center;gap:9px;padding:36px 18px 41px;display:grid}.empty h3{font-size:15px;font-weight:750}.empty p{color:var(--muted);max-width:32ch;font-size:13px}.empty .btn{margin-top:4px}.feature-icon{color:#4f6c43;background:#edf3e3;border-radius:9px;flex-shrink:0;place-items:center;width:41px;height:41px;display:inline-grid}.week-card{background:var(--forest);color:#f3f7ed;padding:23px}.week-card-icon{width:38px;height:38px;color:var(--lime);background:#ffffff13;border-radius:9px;place-items:center;display:grid}.week-card h2{letter-spacing:-.6px;margin:15px 0 6px;font-size:21px;font-weight:700;line-height:1.25}.week-empty,.week-range{color:#c0cdb8;font-size:12px;line-height:1.5}.week-empty{margin:18px 0}.week-card ul{margin-top:13px}.week-card li{border-top:1px solid #ffffff1b;justify-content:space-between;align-items:baseline;gap:7px;padding:10px 0;font-size:12px;display:flex}.week-card li span{overflow-wrap:anywhere}.week-card li strong{white-space:nowrap}.week-card>a{color:var(--lime);border-top:1px solid #ffffff28;justify-content:space-between;align-items:center;gap:10px;margin-top:5px;padding-top:14px;font-size:12px;font-weight:650;display:flex}.week-card>a:hover{text-decoration:underline}.registry-list li{border-top:1px solid var(--line);align-items:center;gap:13px;padding:14px 23px;display:flex}.dialog{border:1px solid var(--line);width:min(440px,100% - 28px);max-height:calc(100dvh - 32px);color:var(--forest);border-radius:12px;margin:auto;padding:24px}.dialog::backdrop{background:#16271fb3}.dialog-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.dialog h2{font-size:22px}.form-grid{gap:14px;margin-top:18px;display:grid}.field{gap:6px;font-size:13px;font-weight:650;display:grid}.field input,.field select{min-height:41px;color:var(--forest);background:#fbfcf8;border:1px solid #cdd7c6;border-radius:7px;padding:8px 10px;font-weight:450}.field input::placeholder{color:#687563}.check-field{align-items:center;gap:8px;display:flex}.check-field input{accent-color:var(--forest)}.form-error{color:#9c2b2b;font-size:13px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.login-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.login-brand{background:var(--forest);color:#f1f6ea;flex-direction:column;gap:40px;padding:clamp(28px,6vw,82px);display:flex}.login-copy{margin-block:auto}.login-copy .overline{color:var(--lime)}.login-copy h1{letter-spacing:-.055em;max-width:14ch;margin-top:18px;font-size:clamp(32px,4.5vw,67px);font-weight:750;line-height:1.12}.login-form{place-items:center;padding:28px;display:grid}.login-form h2{letter-spacing:-.6px;margin:16px 0 10px;font-size:26px;font-weight:750}.login-form .btn{justify-self:start}@media (max-width:1150px){:root{--sidebar-width:210px}.main,.topbar{padding-inline:26px}.footer{margin-inline:26px}}@media (max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:720px){.sidebar{grid-template-columns:1fr auto;align-items:center;gap:12px;width:auto;padding:15px 16px 0;display:grid;position:relative;overflow:visible}.sidebar-brand{padding:0}.brand{font-size:29px}.brand-icon{width:33px;height:33px}.workspace{display:none}.sidebar nav{grid-area:2/1/auto/-1;margin-inline:-4px;padding:3px 4px 11px;display:flex;overflow-x:auto}.sidebar nav a,.sidebar-footer button{gap:6px;padding:9px;font-size:12px}.sidebar-footer{margin:0;padding:0}.sidebar-footer button{border:0}.workarea{min-height:calc(100dvh - 106px);margin:0}.main,.topbar{padding-inline:17px}.footer{margin-inline:17px}.main{padding-top:24px}.topbar{height:52px}.page-heading{flex-wrap:wrap;align-items:flex-start}.panel-heading{padding:17px}.stats-grid{gap:9px}.stat{padding:13px 10px}.stat strong{font-size:21px}.stat>span svg{width:15px;height:15px}}@media (max-width:440px){.period-row{flex-direction:column;align-items:flex-start;gap:9px}.week-controls{justify-content:flex-start}.stats-grid{grid-template-columns:1fr 1fr}.stat.accent{grid-column:1/-1}.stat.accent strong{font-size:30px}.panel-heading{flex-wrap:wrap}.login-layout{grid-template-columns:1fr;min-height:0}.login-brand{gap:28px}.login-form{min-height:300px}}