@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saF7T3Qec.woff2) format("woff2");unicode-range:U+02C7,U+02D8-02D9,U+02DB,U+0307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB0-11ABF}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saK7T3Qec.woff2) format("woff2");unicode-range:U+0300-0302,U+0304,U+030B-030C,U+0323-0324,U+0330-0331,U+13A0-13FF,U+AB70-ABBF}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saRLT3Qec.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saR7T3Qec.woff2) format("woff2");unicode-range:U+2003,U+3000,U+3002,U+4E00,U+FE12,U+16FE1,U+1B170-1B2FB}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saVrT3Qec.woff2) format("woff2");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saS7T3Qec.woff2) format("woff2");unicode-range:U+0303-0304,U+0307-0308,U+030A,U+0320,U+0323-0325,U+032D-032E,U+0330-0331,U+060C,U+061B-061C,U+061F,U+0621,U+0640,U+064B-0655,U+0660-066C,U+0670,U+0700-074F,U+0860-086A,U+1DF8,U+1DFA,U+200C-200F,U+25CC,U+2670-2671}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saGLT3Qec.woff2) format("woff2");unicode-range:U+02C7,U+0301-0302,U+0304,U+0306-0307,U+0309,U+0323,U+0331,U+200C-200D,U+202E,U+25CC,U+2D30-2D7F}@font-face{font-family:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saN7T3Qec.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:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saNrT3Qec.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:Google Sans Flex;font-style:oblique 0deg 10deg;font-weight:1 1000;font-stretch:25% 151%;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansflex/v22/t5tFIQcYNIWbFgDgAAzZ34auoVyXkJCOvp3SFWJbN5hF8Ju1x6sKCyp0l9sI40saOLT3.woff2) format("woff2");unicode-range:U+0000-00FF,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}:root{--bg-primary: #f7fafc;--bg-surface: #ffffff;--bg-hover: #f7fafc;--bg-input: #ffffff;--border-color: #e2e8f0;--text-primary: #2d3748;--text-secondary: #4a5568;--text-muted: #718096;--shadow-sm: rgba(0, 0, 0, .05);--shadow-md: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15);--tenant-badge-bg: #f0f4ff;--tenant-badge-border: #d0d9f5;--nav-active-bg: rgba(var(--primary-rgb), .1);--dropdown-bg: #ffffff;--modal-bg: #ffffff;--btn-secondary-bg: #e2e8f0;--btn-secondary-color: #4a5568;--btn-secondary-hover: #cbd5e0;--btn-icon-bg: #f7fafc;--input-bg: #ffffff;--primary: #4f46e5;--primary-strong: #4338ca;--primary-tint: #eef2ff;--primary-soft: #c7d2fe;--primary-rgb: 79, 70, 229;--primary-strong-rgb: 67, 56, 202;--status-present: #059669;--status-absent: #dc2626;--status-late: #d97706;--status-leave: #7c3aed;--sidenav-bg: #111827;--sidenav-border: rgba(255, 255, 255, .08);--sidenav-text: #94a3b8;--sidenav-text-hover: #f1f5f9;--sidenav-hover-bg: rgba(255, 255, 255, .06);--sidenav-active-bg: rgba(99, 102, 241, .2);--sidenav-active-text: #818cf8}body.dark-mode{--bg-primary: #0f172a;--bg-surface: #1e293b;--bg-hover: #334155;--bg-input: #1e293b;--border-color: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5);--tenant-badge-bg: rgba(var(--primary-rgb), .15);--tenant-badge-border: rgba(var(--primary-rgb), .3);--nav-active-bg: rgba(99, 102, 241, .2);--dropdown-bg: #1e293b;--modal-bg: #1e293b;--btn-secondary-bg: #334155;--btn-secondary-color: #cbd5e1;--btn-secondary-hover: #475569;--btn-icon-bg: #334155;--input-bg: #0f172a;--primary: #6366f1;--primary-strong: #818cf8;--primary-tint: rgba(99, 102, 241, .18);--primary-soft: rgba(99, 102, 241, .4);--primary-rgb: 99, 102, 241;--primary-strong-rgb: 129, 140, 248;--status-present: #34d399;--status-absent: #f87171;--status-late: #fbbf24;--status-leave: #a78bfa;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{font-family:Google Sans Flex,sans-serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0,"wdth" 90,"GRAD" 0,"ROND" 0}.required{color:#e53e3e!important;margin-left:.25rem}body{margin:0;background:var(--bg-primary);color:var(--text-primary);transition:background .25s ease,color .25s ease}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn svg{width:1.25rem;height:1.25rem}.btn.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff}.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(var(--primary-rgb),.3)}.btn.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-color)}.btn.btn-secondary:hover{background:var(--btn-secondary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--btn-icon-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-icon svg{width:1.25rem;height:1.25rem;color:var(--text-secondary)}.btn-icon:hover{background:var(--primary);border-color:var(--primary)}.btn-icon:hover svg{color:#fff}.btn-icon.btn-danger:hover{background:#f56565;border-color:#f56565}.btn-icon.btn-danger:hover svg{color:#fff}.btn-icon:disabled{opacity:.4;pointer-events:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:var(--modal-bg);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:0 20px 40px var(--shadow-lg);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header .modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.modal-header .modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.modal-header .modal-close svg{width:1.5rem;height:1.5rem;color:var(--text-muted)}.modal-header .modal-close:hover{background:var(--bg-hover)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.form-group .form-control{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--input-bg);color:var(--text-primary);transition:all .2s ease}.form-group .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-group textarea.form-control{resize:vertical;font-family:inherit}.form-group .error-text{display:block;color:#f56565;font-size:.875rem;margin-top:.5rem}.form-group .checkbox-field{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:0;padding:.75rem .85rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);cursor:pointer}.form-group .checkbox-field:hover{border-color:var(--primary)}.form-group .checkbox-field input[type=checkbox]{width:1.1rem;height:1.1rem;margin-top:.1rem;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.form-group .checkbox-field .checkbox-text{display:flex;flex-direction:column;gap:.15rem}.form-group .checkbox-field .checkbox-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.form-group .checkbox-field .checkbox-hint{font-size:.8rem;font-weight:400;color:var(--text-muted)}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--btn-icon-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-icon-sm svg{width:1rem;height:1rem;color:var(--text-secondary)}.btn-icon-sm:hover{background:var(--primary);border-color:var(--primary)}.btn-icon-sm:hover svg{color:#fff}.btn-icon-sm.btn-danger:hover{background:#f56565;border-color:#f56565}.btn-icon-sm.btn-danger:hover svg{color:#fff}.btn-icon-sm.btn-success:hover{background:#48bb78;border-color:#48bb78}.btn-icon-sm.btn-success:hover svg{color:#fff}input[readonly],textarea[readonly]{background:var(--bg-primary)!important;color:var(--text-secondary)!important;cursor:default!important;border-color:var(--border-color)!important;pointer-events:none}input[readonly]:focus,textarea[readonly]:focus{box-shadow:none!important;border-color:var(--border-color)!important}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header .header-actions{display:flex;gap:.75rem}.page-header .header-content .page-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0}.page-header .header-content p{color:var(--text-muted);font-size:.95rem;margin:0}.page-header .header-left{display:flex;align-items:baseline;gap:.75rem}.page-header .page-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0}.page-header .page-subtitle{font-size:.875rem;color:#6b7280}.m0{margin:0}.app-tooltip{position:fixed;z-index:10000;background:var(--text-primary);color:var(--bg-surface);font-size:.8rem;font-weight:400;line-height:1.4;padding:.5rem .75rem;border-radius:6px;white-space:normal;width:max-content;max-width:260px;box-shadow:0 4px 16px #0003;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease}.app-tooltip.app-tooltip-visible{opacity:1;transform:translateY(0)}.app-tooltip:after{content:"";position:absolute;border:5px solid transparent}.app-tooltip.app-tooltip-top:after{top:100%;left:50%;transform:translate(-50%);border-top-color:var(--text-primary)}.app-tooltip.app-tooltip-bottom:after{bottom:100%;left:50%;transform:translate(-50%);border-bottom-color:var(--text-primary)}.app-tooltip.app-tooltip-left:after{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--text-primary)}.app-tooltip.app-tooltip-right:after{right:100%;top:50%;transform:translateY(-50%);border-right-color:var(--text-primary)}.divider{height:1px;background:var(--border-color);margin:.75rem 0}.text-right{text-align:right}.full-width{width:100%}
