/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.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{--ink:#162323;--muted:#70807e;--line:#e5ecea;--paper:#fff;--wash:#f5f8f7;--green:#146b5a;--green2:#e8f4f0;--amber:#c98216;--red:#d45151}*{box-sizing:border-box}body{background:var(--wash);color:var(--ink);margin:0;font-family:Tahoma,Arial,sans-serif}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.mobile-signout,.mobile-bottom-nav,.mobile-more-backdrop{display:none}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:10;background:#123e37;flex-direction:column;width:244px;padding:27px 18px;display:flex;position:fixed;inset:0 0 0 auto}.brand{border-bottom:1px solid #ffffff20;align-items:center;gap:12px;padding:0 9px 27px;display:flex}.brand-mark{width:42px;height:42px;color:var(--green);background:#fff;border-radius:14px;place-items:center;font-size:23px;font-weight:900;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{color:#b9cec9;margin-top:3px;font-size:11px}.sidebar nav{gap:7px;margin-top:28px;display:grid}.nav-item{color:#c5d8d4;text-align:right;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:13px 14px;font-size:14px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff14}.nav-item.active{box-shadow:inset -3px 0 #75c5ae}.nav-icon{text-align:center;width:22px;font-size:20px}.nav-badge{color:#226555;background:#e7f5ef;border-radius:20px;margin-right:auto;padding:4px 7px;font-size:9px}.sidebar-foot{border-top:1px solid #ffffff20;align-items:center;gap:10px;margin-top:auto;padding:22px 4px 0;display:flex}.avatar{color:#fff;background:#d7a85f;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.sidebar-foot strong,.sidebar-foot span{display:block}.sidebar-foot strong{font-size:12px}.sidebar-foot span{color:#b9cec9;margin-top:4px;font-size:10px}.sidebar-foot button{color:#fff;background:0 0;border:0;margin-right:auto;font-size:20px}.workspace{width:calc(100% - 244px);min-height:100vh;margin-right:244px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:96px;padding:22px 34px;display:flex}.topbar h1{margin:0 0 6px;font-size:22px}.topbar p{color:var(--muted);margin:0;font-size:11px}.top-actions{align-items:center;gap:12px;display:flex}.saved-pill{color:var(--green);background:var(--green2);border-radius:20px;padding:8px 12px;font-size:11px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:12px;width:41px;height:41px;font-size:20px;position:relative}.icon-button i{background:var(--red);border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.content{max-width:1600px;margin:auto;padding:24px 28px 40px}.controls-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:end;gap:14px;padding:15px 17px;display:flex;box-shadow:0 4px 16px #173d3408}.controls-card label{color:#5c6f6b;gap:7px;font-size:10px;font-weight:700;display:grid}.controls-card select,.date-field{border:1px solid var(--line);min-width:170px;height:40px;color:var(--ink);text-align:right;background:#fbfcfc;border-radius:9px;padding:0 12px}.date-field{justify-content:space-between;align-items:center;display:flex}.control-spacer{flex:1}.outline-button{color:#b84d4d;background:#fff;border:1px solid #edc7c7;border-radius:9px;height:40px;padding:0 15px;font-size:11px}.summary-row{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;min-height:82px;padding:14px;display:flex}.metric-icon{border-radius:11px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.metric-icon.all{color:#456276;background:#edf1f5}.metric-icon.present{color:#158064;background:#e7f4ee}.metric-icon.late{color:#c27a13;background:#fff1dc}.metric-icon.absent{color:#d55555;background:#fdecec}.summary-card small,.summary-card b{display:block}.summary-card small{color:var(--muted);margin-bottom:5px;font-size:10px}.summary-card b{font-size:21px}.summary-card em{color:var(--green);background:var(--green2);border-radius:8px;margin-right:auto;padding:4px 7px;font-size:11px;font-style:normal}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.program-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #173d3406}.program-head{justify-content:space-between;align-items:center;padding:16px 16px 11px;display:flex}.program-head>div{align-items:center;gap:9px;display:flex}.program-head h2{margin:0;font-size:14px}.program-head>span{color:var(--muted);font-size:10px}.program-dot{background:#22745f;border-radius:50%;width:9px;height:9px}.program-dot.p1{background:#4f79b8}.program-dot.p2{background:#bd7e25}.program-meta{color:#8a9997;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 16px 12px;font-size:9px;display:flex}.people-list{padding:5px 12px}.person-row{border-bottom:1px solid #edf1f0;padding:11px 2px}.person-info{align-items:center;gap:8px;display:flex}.mini-avatar{color:#42645d;background:#eaf0ee;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:700;display:grid}.person-info strong,.person-info small{display:block}.person-info strong{font-size:11px}.person-info small{color:#8a9896;margin-top:4px;font-size:8px}.status-switch{background:#f5f7f6;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:9px;padding:3px;display:grid}.status-switch button{color:#84918f;background:0 0;border:0;border-radius:6px;padding:6px 2px;font-size:9px}.status-switch button.present{color:#137a5d;background:#e2f3ec;font-weight:700}.status-switch button.late{color:#b7710c;background:#fff0d7;font-weight:700}.status-switch button.absent{color:#ca4545;background:#fde6e6;font-weight:700}.program-card footer{color:#58736c;background:#f8fbfa;padding:11px 15px;font-size:9px}.ok-dot{background:#2e9e78;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.modal-backdrop{z-index:30;background:#102c2777;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.note-modal{background:#fff;border-radius:21px;width:min(430px,100%);padding:27px;position:relative;box-shadow:0 30px 80px #08231d44}.modal-close{color:#6f7c7a;background:#f2f5f4;border:0;border-radius:50%;width:31px;height:31px;font-size:19px;position:absolute;top:14px;left:15px}.modal-symbol{border-radius:13px;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.modal-symbol.late{color:var(--amber);background:#fff1da}.modal-symbol.absent{color:var(--red);background:#fde9e9}.note-modal h2{margin:15px 0 6px;font-size:19px}.note-modal>p{color:var(--muted);margin:0 0 20px;font-size:11px}.note-modal label{gap:7px;margin-top:14px;font-size:11px;font-weight:700;display:grid}.note-modal select,.note-modal textarea{border:1px solid var(--line);background:#fbfcfc;border-radius:10px;padding:11px}.note-modal textarea{resize:none;height:76px}.primary-button{background:var(--green);color:#fff;border:0;border-radius:10px;width:100%;margin-top:18px;padding:12px}.note-modal>small{text-align:center;color:#8a9896;margin-top:10px;font-size:9px;display:block}.placeholder{padding-top:55px}.placeholder-title span{color:var(--green);background:var(--green2);border-radius:20px;padding:6px 10px;font-size:10px}.placeholder-title h2{margin:17px 0 8px;font-size:34px}.placeholder-title p{color:var(--muted);margin:0}.placeholder-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px;display:grid}.placeholder-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;flex-direction:column;min-height:130px;padding:22px;display:flex}.placeholder-grid small{color:#9ba8a6}.placeholder-grid strong{margin-top:18px}.placeholder-grid span{color:var(--green);margin:auto 0 0}@media (width<=1100px){.program-grid{grid-template-columns:1fr}.summary-row{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.request-grid{grid-template-columns:1fr}.registration-page>.module-head{align-items:stretch}.registration-page>.module-head>select{width:100%;font-size:16px}.sidebar{width:72px;padding:22px 10px}.brand>div:not(.brand-mark),.nav-item{font-size:0}.brand-mark{width:40px}.nav-item{justify-content:center;padding:12px 7px}.nav-icon{font-size:20px}.nav-badge,.sidebar-foot>div:not(.avatar),.sidebar-foot button{display:none}.workspace{width:calc(100% - 72px);margin-right:72px}.topbar{height:82px;padding:17px 18px}.content{padding:16px}.controls-card{grid-template-columns:1fr 1fr;display:grid}.controls-card select,.date-field{width:100%;min-width:0}.control-spacer{display:none}.outline-button{grid-column:1/-1}.summary-row{grid-template-columns:1fr 1fr}.placeholder-grid{grid-template-columns:1fr}.saved-pill{display:none}}@media (width<=460px){.controls-card{grid-template-columns:1fr}.outline-button{grid-column:auto}.summary-row{grid-template-columns:1fr}.topbar h1{font-size:18px}}.module-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.module-head h2{margin:0 0 7px;font-size:23px}.module-head p{color:var(--muted);margin:0;font-size:11px}.primary-small{background:var(--green);color:#fff;border:0;border-radius:9px;padding:11px 16px;font-size:11px}.welcome{color:#fff;background:linear-gradient(110deg,#123e37,#1d6556);border-radius:18px;justify-content:space-between;align-items:center;padding:25px 27px;display:flex}.welcome small{color:#b9d8cf}.welcome h2{margin:9px 0 8px;font-size:24px}.welcome p{color:#d6e6e2;margin:0;font-size:11px}.health-badge{background:#ffffff17;border:1px solid #ffffff25;border-radius:20px;padding:9px 12px;font-size:10px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.kpi small,.kpi b,.kpi span{display:block}.kpi small{color:var(--muted);font-size:10px}.kpi b{margin:9px 0 7px;font-size:24px}.kpi span{color:#81908e;font-size:9px}.danger-text{color:var(--red)}.dashboard-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.panel h3,.panel-head h3{margin:0;font-size:13px}.panel-head p{color:var(--muted);margin:5px 0 0;font-size:9px}.panel-head button,.panel-head>button{color:var(--green);background:0 0;border:0;font-size:9px}.progress-row{grid-template-columns:48px 1fr 38px;align-items:center;gap:10px;margin:16px 0;font-size:10px;display:grid}.progress-row>div{background:#eef2f1;border-radius:10px;height:8px;overflow:hidden}.progress-row i{border-radius:10px;height:100%;display:block}.good{background:#319d76!important}.warn{background:#d8b243!important}.orange{background:#df823d!important}.bad{background:#d75252!important}.progress-row span{text-align:left;font-weight:700}.schedule-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.schedule-row b{background:var(--green2);width:29px;height:29px;color:var(--green);border-radius:9px;place-items:center;font-size:9px;display:grid}.schedule-row span{font-size:10px}.schedule-row em{color:var(--green);background:var(--green2);border-radius:8px;padding:4px 7px;font-size:8px;font-style:normal}.filterbar{border:1px solid var(--line);background:#fff;border-radius:13px 13px 0 0;gap:9px;padding:12px;display:flex}.filterbar input{flex:1}.filterbar input,.filterbar select,.filterbar button{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 12px;font-size:10px}.table-card{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 14px 14px;overflow:auto}.table-card table{border-collapse:collapse;width:100%;min-width:720px}.table-card th{text-align:right;color:var(--muted);background:#f8faf9;padding:12px 15px;font-size:9px;font-weight:400}.table-card td{border-top:1px solid var(--line);padding:13px 15px;font-size:10px}.table-card td:first-child{align-items:center;gap:9px;display:flex}.table-card td button{background:0 0;border:0}.table-card footer{border-top:1px solid var(--line);color:var(--muted);padding:13px 16px;font-size:9px}.table-avatar{width:28px;height:28px;color:var(--green);background:#e7f1ee;border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.registration-page>.module-head>select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:170px;height:40px;padding:0 12px}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.request-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:16px}.request-card header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:13px;display:grid}.request-card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:13px}.request-card time{color:var(--muted);font-size:9px;display:block}.request-status{color:#8a6100;background:#fff5d9;border-radius:999px;padding:5px 9px;font-size:9px}.request-status.approved{background:var(--green2);color:var(--green)}.request-status.rejected{color:#a4342c;background:#fdebea}.request-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0;display:grid}.request-card dl>div{min-width:0}.request-card dl .wide{grid-column:1/-1}.request-card dt{color:var(--muted);margin-bottom:3px;font-size:9px}.request-card dd{overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:600}.request-card footer{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:13px;display:grid}.request-card footer button{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:40px}.request-card footer .primary-small{border-color:var(--green);background:var(--green);color:#fff}.request-card footer .danger-button{color:#a4342c;background:#fff8f7;border-color:#f3cbc8}.active-chip,.inactive-chip{border-radius:8px;padding:5px 8px;font-size:8px}.active-chip{background:var(--green2);color:var(--green)}.inactive-chip{color:#7d8886;background:#f0f1f1}.team-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.team-card{border:1px solid var(--line);background:#fff;border-top:4px solid #287863;border-radius:15px;padding:16px}.team-card.team-1{border-top-color:#507db8}.team-card.team-2{border-top-color:#bf8434}.team-card.team-3{border-top-color:#8a69b1}.team-card>div{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.team-card button{background:0 0;border:0}.team-card h3{margin:12px 0 4px;font-size:24px}.team-card p{color:var(--muted);font-size:9px}.team-card footer{border-top:1px solid var(--line);grid-template-columns:32px 1fr;column-gap:8px;margin-top:18px;padding-top:12px;display:grid}.team-card footer .table-avatar{grid-row:1/3}.team-card footer small{color:var(--muted);font-size:8px}.team-card footer strong{font-size:9px}.standalone{margin-top:15px}.program-lines>div{border-top:1px solid var(--line);grid-template-columns:16px 1.3fr .8fr 1fr auto;align-items:center;gap:8px;padding:13px 0;font-size:10px;display:grid}.program-lines small,.program-lines em{color:var(--muted);font-size:9px;font-style:normal}.program-lines button{color:var(--green);background:0 0;border:0}.program-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.program-lines .danger-action,.danger-action{color:#b44343}.program-group-links{gap:8px;margin-top:16px;display:grid}.program-group-links label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:11px;font-size:10px;display:flex}.program-group-links input{accent-color:var(--green)}.program-orb{background:#4f79b8;border-radius:50%;width:9px;height:9px}.export-actions{gap:7px;display:flex}.export-actions button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;padding:9px 14px;font-size:10px}.report-filters{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:end;gap:12px;padding:15px;display:flex}.report-filters label{color:var(--muted);flex:1;gap:6px;font-size:9px;display:grid}.report-filters select{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 10px}.report-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;display:grid}.report-chart .panel-head>span{color:var(--muted);font-size:8px}.progress-row.large{grid-template-columns:65px 1fr 45px;margin:20px 0}.progress-row.large>div{height:13px}.settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.settings-grid .panel>h3{margin-bottom:15px}.settings-grid label{color:var(--muted);gap:7px;margin-bottom:12px;font-size:9px;display:grid}.settings-grid input{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 10px}.two-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.help-text{color:var(--muted);font-size:9px;line-height:1.7}.threshold{grid-template-columns:12px 1fr 100px;align-items:center;gap:9px;margin:9px 0;display:grid}.threshold i{border-radius:50%;width:9px;height:9px}.threshold strong{font-size:10px}.threshold input{text-align:center}.reason-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;font-size:10px;display:flex}.reason-row button{color:var(--muted);background:0 0;border:0}.permission-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr 25px;align-items:center;padding:10px 0;display:grid}.permission-row strong,.permission-row small{display:block}.permission-row strong{font-size:10px}.permission-row small{color:var(--muted);margin-top:4px;font-size:8px}.permission-row button{color:var(--green);background:0 0;border:0}@media (width<=1100px){.kpi-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.kpi-grid,.team-grid,.report-summary,.settings-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;gap:16px}.health-badge{display:none}.filterbar,.report-filters{grid-template-columns:1fr 1fr;display:grid}.filterbar input{grid-column:1/-1}.program-lines>div{grid-template-columns:14px 1fr 25px}.program-lines small,.program-lines em{display:none}}.auth-screen{background:linear-gradient(145deg,#0e3831,#17604f);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:#fff;border-radius:24px;width:min(430px,100%);padding:30px;box-shadow:0 30px 90px #06241e66}.auth-brand{align-items:center;gap:12px;margin-bottom:25px;display:flex}.auth-brand h1{margin:0;font-size:22px}.auth-brand p{color:var(--muted);margin:4px 0;font-size:10px}.auth-tabs{background:#f2f6f5;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:4px;display:grid}.auth-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:9px;font-size:10px}.auth-tabs button.active{color:var(--green);background:#fff;font-weight:700;box-shadow:0 2px 8px #173d3412}.auth-card form label{gap:7px;margin:13px 0;font-size:10px;font-weight:700;display:grid}.auth-card input,.person-modal input,.person-modal select{border:1px solid var(--line);background:#fbfcfc;border-radius:9px;height:42px;padding:0 11px}.auth-card>small{text-align:center;color:var(--muted);margin-top:12px;font-size:9px;display:block}.auth-message,.error-banner{color:#a85e1e;background:#fff0e3;border:1px solid #f2d5b9;border-radius:9px;padding:10px;font-size:10px}.error-banner{margin-bottom:10px}.person-modal .modal-error{margin:-7px 0 16px}.person-modal{background:#fff;border-radius:20px;width:min(650px,100%);max-height:90vh;padding:27px;position:relative;overflow:auto}.person-modal h2{margin:0 0 7px}.person-modal>p{color:var(--muted);margin:0 0 17px;font-size:10px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label{gap:6px;font-size:9px;font-weight:700;display:grid}.form-grid .wide{grid-column:1/-1}.weekday-field{border:1px solid var(--border);border-radius:12px;margin:0;padding:12px}.weekday-field legend{padding:0 5px;font-size:9px;font-weight:800}.weekday-actions{gap:7px;margin-bottom:10px;display:flex}.weekday-actions button{color:var(--green);cursor:pointer;background:#f7faf9;border:1px solid #cbd9d5;border-radius:8px;padding:7px 10px;font-size:9px}.weekday-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.weekday-grid label{cursor:pointer;background:#fff;border:1px solid #dce5e2;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-height:34px;display:flex}.weekday-grid label:has(input:checked){border-color:var(--green);color:var(--green);background:#eef8f4}.weekday-grid input{width:14px;height:14px;accent-color:var(--green)}.weekday-field small{color:var(--muted);margin-top:9px;font-size:9px;display:block}.date-add-row{gap:8px;display:flex}.date-add-row input{flex:1}.date-add-row button,.selected-dates button{color:var(--green);cursor:pointer;background:#f7faf9;border:1px solid #cbd9d5;border-radius:8px;padding:8px 11px}.selected-dates{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.supervisor-group-picks{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.supervisor-group-picks label{cursor:pointer;border:1px solid #dce5e2;border-radius:9px;align-items:center;gap:7px;padding:9px;display:flex}.supervisor-group-picks input{accent-color:var(--green)}.active-chip,.inactive-chip{cursor:pointer;border:0}@media (width<=520px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.auth-card{padding:22px}.weekday-grid{grid-template-columns:repeat(2,1fr)}}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed #cfdad7;border-radius:16px;padding:38px}.empty-state h3{color:var(--ink);margin:0 0 8px}.empty-state p{font-size:10px}.empty-line{color:var(--muted);text-align:center;padding:20px;font-size:10px}.floating-save{z-index:20;color:var(--green);background:#def1e9;border:1px solid #bedfd4;border-radius:20px;padding:9px 14px;font-size:10px;position:fixed;top:20px;left:24px;box-shadow:0 5px 20px #123e3720}.check-label{align-items:center;gap:8px!important;display:flex!important}.check-label input{width:17px;height:17px}.threshold>span{color:var(--muted);font-size:9px}@media print{.sidebar,.topbar,.report-filters,.export-actions{display:none!important}.workspace{width:100%;margin:0}.content{padding:0}.panel,.kpi{break-inside:avoid}}.settings-stack>.module.content{padding:0}.week-planner,.supervisor-groups-panel{margin-bottom:14px}.week-planner-form{grid-template-columns:1.2fr 1fr 1fr 1fr auto;align-items:end;gap:9px;display:grid}.week-planner-form label{gap:6px;font-size:9px;font-weight:700;display:grid}.week-planner-form input,.week-planner-form select{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 9px}.specific-leave-box{background:#f8fbfa;border:1px dashed #c9d9d4;border-radius:12px;grid-template-columns:1.3fr 1fr .8fr .8fr auto;align-items:end;gap:9px;margin-top:14px;padding:12px;display:grid}.specific-leave-box>div,.specific-leave-box label{gap:5px;display:grid}.specific-leave-box strong,.specific-leave-box label{font-size:9px}.specific-leave-box small{color:var(--muted);font-size:8px}.specific-leave-box input{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 9px}.specific-leave-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.specific-leave-list>div{background:#fff9eb;border:1px solid #edd49c;border-radius:999px;grid-template-columns:auto auto auto auto;align-items:center;gap:7px;padding:7px 10px;display:grid}.specific-leave-list strong{color:#8f621a;font-size:9px}.specific-leave-list small{color:var(--muted);font-size:8px}.specific-leave-list button{background:0 0;border:0;font-size:8px}.leave-dot{background:#dc9f32;border-radius:50%;width:7px;height:7px}.semester-weeks{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.semester-weeks>div{background:#f9fbfa;border:1px solid #dce5e2;border-radius:10px;gap:4px;min-height:108px;padding:10px;display:grid;position:relative;overflow:hidden}.week-card-content{z-index:1;align-content:start;gap:4px;display:grid;position:relative}.week-vacation-overlay{z-index:0;pointer-events:none;direction:rtl;grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0}.week-vacation-overlay i.off{background:#fff0c9;border-inline:1px solid #f2d79755}.semester-weeks strong{font-size:10px}.semester-weeks span{color:var(--muted);font-size:8px}.semester-weeks .break-week{color:#9b6818;background:#fff8e9;border-color:#edcf8f}.semester-weeks .has-program-leave{border-color:#e8cb87}.week-leave-summary{color:#8d6118;background:#fff8e7;border-radius:999px;width:fit-content;margin-top:5px;padding:4px 7px;font-size:8px;font-weight:700}.week-days{direction:rtl;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:7px;display:grid}.semester-weeks .week-days span{color:#687873;text-align:center;background:#eef3f1cc;border-radius:5px;padding:4px 1px;font-size:7px;font-weight:700}.semester-weeks .week-days span.off{color:#603f08;background:#e9b75c}.supervisor-groups-list{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.supervisor-groups-list article{border:1px solid var(--line);border-radius:12px;padding:12px}.supervisor-groups-list h4{margin:0 0 10px}.supervisor-groups-list article>div{gap:6px;max-height:250px;display:grid;overflow:auto}.supervisor-groups-list label{cursor:pointer;background:#f8faf9;border-radius:8px;align-items:center;gap:8px;padding:7px;font-size:9px;display:flex}.supervisor-groups-list label span,.supervisor-groups-list label small{display:block}.supervisor-groups-list label small{color:var(--muted);margin-top:3px;font-size:8px}.role-panel{margin-top:14px}.role-form{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.role-form select{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 8px;font-size:9px}.permission-row>span:last-child{color:var(--green);font-size:8px}@media (width<=760px){.role-form,.week-planner-form,.specific-leave-box,.semester-weeks,.supervisor-groups-list,.supervisor-group-picks{grid-template-columns:1fr 1fr}}@media (width<=520px){.week-planner-form,.specific-leave-box,.semester-weeks,.supervisor-groups-list,.supervisor-group-picks{grid-template-columns:1fr}.date-add-row{display:grid}}.program-card.cancelled{opacity:.7;border-color:#efcaca}.program-card.cancelled .status-switch{pointer-events:none}.cancelled-banner{color:#a64343;background:#fff1f1;border:1px solid #efcaca;border-radius:10px;margin:12px 0 0;padding:11px 14px;font-size:10px}.filter-live{color:var(--green);background:var(--green2);white-space:nowrap;border-radius:20px;align-self:center;padding:9px 12px;font-size:9px}.attendance-indicator{align-items:center;gap:6px;font-weight:700;display:inline-flex}.attendance-indicator i{border-radius:50%;width:9px;height:9px;display:inline-block}.report-bar{background:#4f79b8!important}@media (width<=760px){body{padding-bottom:env(safe-area-inset-bottom)}.app-shell{display:block}.sidebar,.sidebar .brand,.sidebar .sidebar-foot{display:none}.sidebar nav{scrollbar-width:none;grid-auto-columns:minmax(58px,1fr);grid-auto-flow:column;gap:2px;width:100%;height:65px;margin:0;display:grid;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{text-align:center;white-space:normal;border-radius:12px;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:7px 3px 5px;font-size:8px;line-height:1.15}.nav-item.active{background:#ffffff18;box-shadow:inset 0 -3px #75c5ae}.nav-icon{width:auto;font-size:20px;line-height:1}.nav-badge{display:none}.workspace{width:100%;min-width:0;margin:0}.mobile-bottom-nav{z-index:60;left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#123e37f5;border:1px solid #ffffff3d;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));height:66px;padding:5px;display:grid;position:fixed;box-shadow:0 10px 35px #0b302a40}.mobile-bottom-nav button{color:#c5d8d4;white-space:nowrap;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:4px 2px;font-size:9px;display:flex}.mobile-bottom-nav button span{font-size:19px;line-height:1}.mobile-bottom-nav button.active{color:#fff;background:#ffffff18;font-weight:700}.mobile-more-backdrop{z-index:55;background:#102c2766;align-items:flex-end;padding:14px 12px 88px;display:flex;position:fixed;inset:0}.mobile-more-menu{background:#fff;border-radius:20px;gap:8px;width:100%;padding:14px;display:grid;box-shadow:0 20px 60px #102c2740}.mobile-more-menu header{justify-content:space-between;align-items:center;padding:2px 4px 8px;display:flex}.mobile-more-menu header button{background:var(--wash);border:0;border-radius:12px;width:38px;height:38px;font-size:22px}.mobile-more-menu>button{border:1px solid var(--line);min-height:48px;color:var(--ink);text-align:right;background:#fff;border-radius:13px;align-items:center;gap:12px;padding:0 14px;display:flex}.mobile-more-menu>button.active{background:var(--green2);color:var(--green);border-color:#9bcdbf}.topbar{z-index:20;height:70px;padding:12px 14px;position:sticky;top:0;box-shadow:0 4px 14px #173d3408}.topbar h1{margin-bottom:4px;font-size:18px}.topbar p{font-size:9px}.mobile-signout{border:1px solid var(--line);width:42px;height:42px;color:var(--green);background:#fff;border-radius:12px;place-items:center;font-size:20px;display:grid}.content{width:100%;padding:14px 12px 104px;overflow-x:hidden}.module-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}.module-head h2{font-size:20px}.module-head>button,.module-head .primary-small,.export-actions,.export-actions button{width:100%}.welcome{border-radius:15px;padding:19px}.welcome h2{font-size:20px}.kpi-grid,.summary-row{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px}.kpi b{font-size:21px}.controls-card,.filterbar,.report-filters,.role-form{grid-template-columns:1fr 1fr;gap:9px}.controls-card .outline-button,.filter-live{grid-column:1/-1}.filterbar input,.outline-button{grid-column:auto}.controls-card,.filterbar,.report-filters,.panel,.team-card{padding:12px}input,select,textarea{max-width:100%;font-size:16px!important}button,.filterbar button,.primary-small,.export-actions button{min-height:42px}.table-card:not(.mobile-card-table){border-top:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto}.table-card:not(.mobile-card-table) table{min-width:620px}.mobile-card-table{background:0 0;border:0;overflow:visible}.mobile-card-table table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{width:100%;display:block}.mobile-card-table thead{display:none}.mobile-card-table tr{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:10px;padding:13px;box-shadow:0 4px 14px #173d3408}.mobile-card-table td{text-align:left;border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:7px 0;display:flex}.mobile-card-table td:first-child{text-align:right;justify-content:flex-start;min-height:44px;padding-top:0}.mobile-card-table td:last-child{border-bottom:0;padding-bottom:0}.mobile-card-table td[data-label]:before{content:attr(data-label);color:var(--muted);margin-left:auto;font-size:10px;font-weight:400}.program-lines>div{grid-template-columns:12px minmax(0,1fr);gap:8px}.program-lines>div>.program-actions,.program-lines>div>button{grid-column:1/-1}.program-actions{justify-content:stretch}.program-actions button{background:#f4f8f7;border-radius:8px;flex:1;padding:8px}.modal-backdrop{z-index:80;align-items:end;padding:0}.note-modal,.person-modal{width:100%;max-height:92dvh;padding:22px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.form-grid,.two-fields,.weekday-grid,.supervisor-group-picks,.week-planner-form,.specific-leave-box,.semester-weeks,.supervisor-groups-list{grid-template-columns:1fr}.group-add,.date-add-row{grid-template-columns:1fr;display:grid}.group-members label{flex-direction:column;align-items:stretch}.group-members select{width:100%;min-width:0}}@media (width<=390px){.controls-card,.filterbar,.report-filters,.role-form{grid-template-columns:1fr}}.absence-report{border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px}.person-table-actions{align-items:center;gap:7px;display:flex}.attendance-auto-note{color:var(--muted);margin:-2px 2px 14px;font-size:9px}.attendance-stage-list,.attendance-stage-group{gap:12px;display:grid}.attendance-stage-group+.attendance-stage-group{margin-top:6px}.attendance-stage-head{justify-content:space-between;align-items:center;padding:0 3px;display:flex}.attendance-stage-head h2{margin:0;font-size:14px}.attendance-stage-head span{color:var(--muted);font-size:9px}.attendance-person-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-person-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #173d3406}.attendance-person-card.supervisor{background:#fffcf2;border-color:#e4c982;box-shadow:0 5px 18px #9d74130d}.attendance-person-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.attendance-person-card.supervisor .attendance-person-head{background:#fff8df;border-bottom-color:#eadba9}.attendance-person-card.supervisor .mini-avatar{color:#795b11;background:#f6e8b6}.person-kind-badge{background:var(--green2);color:var(--green);border-radius:999px;flex:none;padding:5px 9px;font-size:8px;font-weight:800}.attendance-person-card.supervisor .person-kind-badge{color:#73550c;background:#f3dfa0}.person-program-attendance{display:grid}.attendance-program-row{grid-template-columns:minmax(120px,1fr) minmax(210px,.95fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.attendance-program-row+.attendance-program-row{border-top:1px solid var(--line)}.attendance-program-row.cancelled{opacity:.55}.attendance-program-name,.attendance-program-name strong,.attendance-program-name small{min-width:0;display:block}.attendance-program-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.attendance-program-name small{color:var(--muted);margin-top:4px;font-size:8px}.attendance-program-row .status-switch{margin-top:0}.people-status-tabs{border:1px solid var(--line);background:#f3f6f5;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:11px;padding:4px;display:inline-grid}.people-status-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:9px 14px;font-size:10px}.people-status-tabs button.active{color:var(--green);background:#fff;font-weight:800;box-shadow:0 2px 8px #173d3412}.people-status-tabs span{background:#e6ecea;border-radius:999px;place-items:center;min-width:20px;min-height:20px;margin-right:5px;font-size:8px;display:inline-grid}.people-status-tabs button.active span{background:var(--green2)}.auth-link{color:var(--green);text-underline-offset:3px;background:0 0;border:0;margin:12px auto 0;font-size:10px;font-weight:800;text-decoration:underline;display:block}.auth-recovery-head{background:var(--green2);border-radius:12px;margin-bottom:18px;padding:14px}.auth-recovery-head h2{margin:0 0 5px;font-size:15px}.auth-recovery-head p{color:var(--muted);margin:0;font-size:9px;line-height:1.7}@media (width<=760px){.attendance-person-grid{grid-template-columns:1fr}.attendance-person-card{box-shadow:none;border-radius:18px}.attendance-program-row{grid-template-columns:1fr;gap:9px}.attendance-program-name strong{font-size:11px}.attendance-program-row .status-switch button{min-height:42px}.people-status-tabs{width:100%}}.person-profile-modal{width:min(720px,100%)}.person-profile-head{align-items:center;gap:13px;margin-bottom:18px;display:flex}.person-profile-head h2,.person-profile-head p{margin:0}.person-profile-head p{color:var(--muted);margin-top:5px;font-size:10px}.profile-actions-row{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.profile-actions-row button{border:1px solid var(--line);min-height:40px;color:var(--green);background:#fff;border-radius:10px;padding:0 13px;font-weight:700}.profile-actions-row .danger-action{color:#bb3535;border-color:#f0cccc;margin-inline-start:auto}.person-programs-head{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:17px;display:flex}.person-programs-head h3,.person-programs-head p{margin:0}.person-programs-head h3,.add-person-program h3{font-size:13px}.person-programs-head p{color:var(--muted);margin-top:4px;font-size:9px}.person-programs-head>span{background:var(--green2);color:var(--green);border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.person-program-list{gap:8px;margin-top:12px;display:grid}.person-program-list article{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex}.person-program-list strong,.person-program-list small{display:block}.person-program-list strong{font-size:11px}.person-program-list small{color:var(--muted);margin-top:4px;font-size:9px}.person-program-list .danger-text{color:#bd3e3e;background:0 0;border:0;font-size:9px;font-weight:800}.add-person-program{background:var(--wash);border-radius:14px;margin-top:18px;padding:14px}.add-person-program h3{margin:0 0 10px}.add-person-program>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}.add-person-program select{width:100%}.empty-state.compact{min-height:auto;margin-top:12px;padding:18px;font-size:10px}.people-mobile-list{display:none}.desktop-people-table table{min-width:980px}.table-card td .record-action,.record-action{color:#fff;background:var(--green);border-radius:8px;padding:8px 10px}.person-record,.person-record-picker{gap:14px;display:grid}.person-record-head,.person-record-picker{border:1px solid var(--line);background:#fff;border-radius:17px;padding:17px}.person-record-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.person-record-head>button{border:1px solid var(--line);min-height:40px;color:var(--green);background:#fff;border-radius:10px;padding:0 14px}.person-record-identity{align-items:center;gap:13px;min-width:0;display:flex}.record-avatar{background:var(--green2);width:44px;height:44px;color:var(--green);border-radius:14px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.person-record-identity small,.person-record-identity h3,.person-record-identity p{margin:0;display:block}.person-record-identity>div>small{color:var(--green);font-size:9px;font-weight:700}.person-record-identity h3{margin:4px 0;font-size:18px}.person-record-identity p{color:var(--muted);font-size:9px;line-height:1.7}.person-record-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.record-status-tabs{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;display:grid}.record-status-tabs button{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:9px}.record-status-tabs button.active{background:var(--green2);color:var(--green);font-weight:700}.record-days{gap:10px;display:grid}.record-day{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.record-day>header{border-bottom:1px solid var(--line);background:#f8fbfa;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.record-day>header strong,.record-day>header small,.record-program-title strong,.record-program-title small{display:block}.record-day>header strong{font-size:12px}.record-day>header small,.record-program-title small{color:var(--muted);margin-top:4px;font-size:8px}.record-status{border-radius:20px;justify-content:center;align-items:center;min-width:62px;min-height:28px;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.record-status.present{color:#137a5d;background:#e2f3ec}.record-status.late{color:#b7710c;background:#fff0d7}.record-status.absent{color:#ca4545;background:#fde6e6}.record-programs{display:grid}.record-program{border-bottom:1px solid #edf1f0;padding:13px 15px}.record-program:last-child{border-bottom:0}.record-program-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-program-title strong{font-size:11px}.record-program-details{grid-template-columns:1fr 2fr;gap:9px;margin-top:10px;display:grid}.record-program-details span{background:var(--wash);border-radius:9px;padding:9px}.record-program-details small,.record-program-details b{display:block}.record-program-details small{color:var(--muted);margin-bottom:4px;font-size:8px}.record-program-details b{font-size:9px;line-height:1.6}.person-record-picker>div:first-child h3{margin:0 0 6px}.person-record-picker>div:first-child p{color:var(--muted);margin:0;font-size:10px}.person-record-picker>input{border:1px solid var(--line);background:#fbfcfc;border-radius:11px;width:100%;height:44px;padding:0 13px}.person-record-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.person-record-directory>button{border:1px solid var(--line);text-align:right;background:#fff;border-radius:13px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:68px;padding:10px;display:grid}.person-record-directory>button:hover{background:#fbfdfc;border-color:#9bcdbf}.person-record-directory strong,.person-record-directory small{display:block}.person-record-directory strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.person-record-directory small{color:var(--muted);margin-top:5px;font-size:8px}.person-record-directory>button>b{color:var(--green);white-space:nowrap;font-size:9px}.absence-report .panel-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.absence-report .panel-head h3{margin:0 0 5px}.absence-report .panel-head span{color:var(--muted);font-size:10px}.absence-report .panel-head>b{color:var(--red);white-space:nowrap;background:#fdecec;border-radius:20px;padding:8px 11px;font-size:10px}.absence-list{gap:10px;display:grid}.absence-list article{border:1px solid var(--line);background:#fbfcfc;border-radius:13px;padding:13px}.absence-list article header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.absence-list article header strong,.absence-list article header small{display:block}.absence-list article header small{color:var(--muted);margin-top:4px;font-size:9px}.absence-list article time{color:var(--red);font-size:10px;font-weight:700}.exception-heading{align-items:center;gap:8px;display:flex}.exception-heading time{color:var(--muted)}.comprehensive-report{gap:16px;display:grid}.report-section{gap:10px;display:grid}.report-section>.panel-head{margin:0;padding:0 4px}.absence-detail-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding-top:11px;display:grid}.absence-detail-grid span{min-width:0}.absence-detail-grid small,.absence-detail-grid b{display:block}.absence-detail-grid small{color:var(--muted);margin-bottom:5px;font-size:8px}.absence-detail-grid b{overflow-wrap:anywhere;font-size:10px;line-height:1.6}@media (width<=760px){.person-table-actions{width:100%}.person-table-actions button{flex:1}.person-record-head{flex-direction:column;align-items:stretch}.person-record-summary{grid-template-columns:1fr 1fr}.person-record-directory,.record-program-details{grid-template-columns:1fr}.absence-report{padding:12px}.absence-report .panel-head{align-items:flex-start}.absence-detail-grid{grid-template-columns:1fr;gap:9px}.absence-detail-grid span{background:#fff;border-radius:10px;padding:9px}.exception-heading{flex-direction:column;align-items:flex-end}}@media (width<=390px){.person-record-summary{grid-template-columns:1fr}.record-status-tabs{grid-template-columns:1fr 1fr}.person-record-directory>button{grid-template-columns:40px minmax(0,1fr)}.person-record-directory>button>b{grid-column:1/-1;padding-right:50px}}.settings-grid select{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;height:38px;padding:0 10px}.group-add{gap:8px;margin:16px 0;display:flex}.group-add input{flex:1}.group-manager-list{gap:7px;margin:0 0 16px;display:grid}.group-manager-list>div{border:1px solid var(--line);background:var(--wash);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-size:10px;font-weight:700;display:flex}.group-manager-list button{background:#fff1f1;border:0;border-radius:8px;padding:8px 10px;font-size:9px}.group-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-title-row h4{margin:0}.group-members{gap:8px;max-height:52vh;display:grid;overflow:auto}.group-members label{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:10px;display:flex}.group-members label span{min-width:0}.group-members strong,.group-members small{display:block}.group-members strong{font-size:10px}.group-members small{color:var(--muted);margin-top:4px;font-size:8px}.group-members select{border:1px solid var(--line);background:#fbfcfc;border-radius:8px;min-width:170px;height:38px;padding:0 9px}.schedule-override-list{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.schedule-override-list h3{margin:0 0 10px;font-size:13px}.schedule-override-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.schedule-override-list strong,.schedule-override-list small{display:block}.schedule-override-list strong{font-size:10px}.schedule-override-list small{color:var(--muted);margin-top:4px;font-size:9px}.schedule-override-list button{background:#fff1f1;border:0;border-radius:8px;padding:8px 10px}.nav-svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;display:block}.mobile-brand-mark,.attendance-context,.attendance-tools{display:none}.start-attendance{min-height:48px;color:var(--green);background:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-weight:800;display:inline-flex}.start-attendance .nav-svg{width:20px;height:20px}.today-panel .panel-head span{color:var(--green);background:var(--green2);border-radius:999px;padding:6px 10px;font-size:9px}.quick-summary-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-summary-row span{background:var(--wash);color:var(--muted);border-radius:12px;padding:14px;font-size:10px}.quick-summary-row b{color:var(--ink);margin-bottom:4px;font-size:18px;display:block}@media (width<=760px){:root{--wash:#f4f7f6;--line:#e2e9e7;--green:#176b59;--green2:#e7f3ef}body{background:var(--wash);-webkit-tap-highlight-color:transparent;min-width:320px}button,input,select,textarea{touch-action:manipulation}.app-shell,.workspace{min-height:100dvh}.workspace{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{height:68px;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #e8eeec;grid-template-columns:40px minmax(0,1fr) 40px;gap:10px;padding:10px 16px;display:grid}.mobile-brand-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid}.topbar h1{letter-spacing:-.2px;margin:0 0 3px;font-size:17px}.topbar p{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.mobile-signout{background:#f0f5f3;border:0;border-radius:12px;width:40px;height:40px;min-height:40px;font-size:18px}.content{padding:16px 14px 24px}.mobile-bottom-nav{height:calc(70px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;border-top:1px solid #dfe8e5;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;inset:auto 0 0;box-shadow:0 -10px 26px #18443a14}.mobile-bottom-nav button{color:#7a8986;border-radius:12px;gap:3px;min-height:54px;font-size:9px}.mobile-bottom-nav button>span{place-items:center;height:25px;display:grid}.mobile-bottom-nav button.active{background:var(--green2);color:var(--green);font-weight:800}.mobile-bottom-nav .nav-svg{width:22px;height:22px}.mobile-more-menu{padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.mobile-more-menu>button{border-radius:14px;min-height:54px;font-size:13px}.mobile-more-menu>button span{place-items:center;width:28px;display:grid}.daily-welcome{background:radial-gradient(circle at 10% 0,#ffffff2e,#0000 38%),linear-gradient(145deg,#174d42,#0e6955);border:0;border-radius:22px;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:190px;padding:22px;box-shadow:0 14px 34px #1350422e}.daily-welcome small{color:#b9ded4;font-size:10px}.daily-welcome h2{color:#fff;max-width:280px;margin-top:8px;font-size:24px;line-height:1.45}.daily-welcome p{color:#d6e9e4;margin:7px 0 0;font-size:11px}.start-attendance{border-radius:14px;width:100%;min-height:50px;font-size:13px;box-shadow:0 8px 20px #00000014}.mobile-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mobile-kpis .kpi{min-height:112px;box-shadow:none;border-radius:16px;padding:14px 11px}.mobile-kpis .kpi small{font-size:9px}.mobile-kpis .kpi b{margin:6px 0;font-size:24px}.mobile-kpis .kpi span{font-size:8px;line-height:1.55}.dashboard-grid{grid-template-columns:1fr;gap:10px}.dashboard-grid .panel{box-shadow:none;border-radius:18px;padding:16px}.schedule-row{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;min-height:55px}.quick-summary-row{gap:7px}.quick-summary-row span{text-align:center;padding:11px 8px;font-size:8px}.attendance-content{padding-top:12px}.attendance-context{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;min-height:82px;padding:15px 16px;display:flex}.attendance-context small,.attendance-context strong,.attendance-context span{display:block}.attendance-context small{color:var(--green);font-size:9px;font-weight:800}.attendance-context strong{margin:4px 0;font-size:15px}.attendance-context span{color:var(--muted);font-size:9px}.attendance-context button{background:var(--green2);min-height:40px;color:var(--green);border:0;border-radius:11px;padding:0 14px;font-size:10px;font-weight:800}.attendance-filters{box-shadow:none;border-radius:16px;margin-top:9px;padding:13px;display:none}.attendance-filters.is-open{grid-template-columns:1fr 1fr;animation:.18s ease-out reveal-panel;display:grid}.attendance-filters label:nth-child(3),.attendance-filters .outline-button{grid-column:1/-1}.attendance-filters select,.attendance-filters .date-field{width:100%;min-width:0;height:46px}.summary-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.summary-card{text-align:center;border-radius:14px;place-items:center;gap:4px;min-width:0;min-height:72px;padding:9px 4px;display:grid}.metric-icon{display:none}.summary-card small{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:8px;overflow:hidden}.summary-card b{font-size:19px}.attendance-tools{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:11px;display:grid}.attendance-search{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.attendance-search span{color:var(--muted);font-size:20px}.attendance-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:42px}.attendance-tools>button{border:1px solid var(--line);min-height:46px;color:var(--muted);background:#fff;border-radius:13px;padding:0 12px;font-size:9px;font-weight:700}.attendance-tools>button.active{background:var(--green2);color:var(--green);border-color:#9ac9bc}.attendance-tools .mark-all-button{background:var(--green);color:#fff;border:0;grid-column:1/-1;min-height:48px;font-size:11px}.program-grid{grid-template-columns:1fr;gap:11px}.program-card{box-shadow:none;border-radius:19px}.program-head{padding:17px 16px 10px}.program-head h2{font-size:14px}.program-head>span{background:var(--wash);min-width:48px;min-height:30px;color:var(--ink);border-radius:9px;place-items:center;font-weight:700;display:grid}.program-meta{padding-bottom:13px}.people-list{padding:4px 11px}.person-row{padding:13px 2px}.mini-avatar{border-radius:12px;width:38px;height:38px;font-size:13px}.person-info strong{font-size:12px}.person-info small{font-size:9px}.status-switch{border-radius:12px;gap:6px;margin-top:11px;padding:4px}.status-switch button{border-radius:9px;min-height:42px;padding:0 4px;font-size:10px}.note-modal,.person-modal{border-radius:26px 26px 0 0}.person-profile-modal{max-height:94vh;padding:22px 17px calc(22px + env(safe-area-inset-bottom))}.profile-actions-row{grid-template-columns:1fr 1fr;display:grid}.profile-actions-row .danger-action{grid-column:1/-1;margin:0}.add-person-program>div{grid-template-columns:1fr}.module-head{margin-bottom:12px}.module-head h2{font-size:20px}.module-head p{margin-top:5px;font-size:9px}.filterbar,.report-filters{box-shadow:none;border-radius:16px;gap:8px;padding:11px}.filterbar input{border-radius:12px;grid-column:1/-1;min-height:48px}.filterbar select,.filterbar button{min-height:44px}.desktop-people-table{display:none}.people-mobile-list{gap:10px;display:grid}.person-mobile-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px}.person-mobile-card>header,.person-mobile-identity,.person-mobile-actions,.person-mobile-detail{align-items:center;display:flex}.person-mobile-card>header{justify-content:space-between;gap:10px}.person-mobile-identity{gap:10px;min-width:0}.person-mobile-identity>div{min-width:0}.person-mobile-identity strong,.person-mobile-identity small{display:block}.person-mobile-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.person-mobile-identity small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.55}.person-mobile-card>header>button{flex:none;min-height:34px}.person-mobile-detail{background:var(--wash);color:var(--muted);border-radius:11px;justify-content:space-between;margin-top:12px;padding:10px 12px;font-size:9px}.person-mobile-detail b{color:var(--ink);font-size:10px}.person-mobile-sensitive{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 0;display:grid}.person-mobile-sensitive div{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:9px 10px}.person-mobile-sensitive dt{color:var(--muted);font-size:8px}.person-mobile-sensitive dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:10px;font-weight:800;overflow:hidden}.person-mobile-actions{gap:8px;margin-top:10px}.person-mobile-actions button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:11px;flex:1;font-size:10px;font-weight:800}.person-mobile-actions .record-action{border-color:var(--green);background:var(--green);color:#fff}.people-mobile-footer{color:var(--muted);text-align:center;padding:8px 4px 0;font-size:9px}.mobile-card-table tr{box-shadow:none;border-radius:17px;padding:14px}.people-table .mobile-card-table td,.people-table td{min-height:34px}.person-table-actions{gap:8px}.person-table-actions button{border-radius:11px;min-height:42px}.record-status-tabs{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;padding:4px;position:sticky;top:76px}.person-record-summary{grid-template-columns:repeat(2,1fr)}.auth-screen{background:radial-gradient(circle at 20% 12%,#5da79140,#0000 34%),linear-gradient(160deg,#123f36,#0d2f29);align-items:end;padding:0}.auth-card{width:100%;max-width:none;min-height:74dvh;padding:28px 22px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;box-shadow:0 -20px 50px #00000024}@keyframes reveal-panel{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}@media (width<=370px){.content{padding-left:10px;padding-right:10px}.mobile-kpis .kpi{padding:12px 7px}.mobile-kpis .kpi span{display:none}}@media (width<=760px){.schedule-override-list>div{flex-direction:column;align-items:stretch}.schedule-override-list button{width:100%}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
