@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYnYALZg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYDYALZg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYfYALZg.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYvYALZg.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:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYrYALZg.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:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYTYAA.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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.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:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.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:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.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(102, 126, 234, .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;--status-present: #059669;--status-absent: #dc2626;--status-late: #d97706;--status-leave: #7c3aed}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(102, 126, 234, .15);--tenant-badge-border: rgba(102, 126, 234, .3);--nav-active-bg: rgba(102, 126, 234, .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;--status-present: #34d399;--status-absent: #f87171;--status-late: #fbbf24;--status-leave: #a78bfa;color-scheme:dark}*{font-family:IBM Plex Sans,sans-serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"wdth" 100}.required{color:#e53e3e!important;margin-left:.25rem}body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;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,#667eea,#764ba2);color:#fff}.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.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:#667eea;border-color:#667eea}.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:#667eea;box-shadow:0 0 0 3px #667eea1a}.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:#667eea}.form-group .checkbox-field input[type=checkbox]{width:1.1rem;height:1.1rem;margin-top:.1rem;flex-shrink:0;accent-color:#667eea;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:#667eea;border-color:#667eea}.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}
