@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;color:#0c0f1f;background:radial-gradient(circle at 20% 20%,#ffe9db 0%,transparent 55%),radial-gradient(circle at 80% 0%,#e7efff 0%,transparent 55%),#f7f6f2;min-height:100vh;position:relative;overflow-x:hidden}#root{min-height:100vh}:root{color-scheme:light;--ink-900: #0c0f1f;--ink-700: #2b3047;--ink-500: #5a617a;--line-200: #d9dce7;--accent-500: #ff7a3d;--accent-600: #f05e1f;--accent-700: #c64810;--card: #ffffff;--wash: rgba(255, 255, 255, .6);--shadow: 0 24px 60px rgba(12, 15, 31, .18)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px 64px}.login-card{width:min(440px,100%);background:var(--card);border-radius:24px;padding:40px 36px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:24px;animation:fadeUp .6s ease-out}.login-card-header{display:flex;flex-direction:column;gap:8px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--accent-600);margin:0}.login-card h2{margin:0;font-size:1.8rem;color:var(--ink-900)}.subcopy{margin:0;color:var(--ink-500)}.login-form{display:flex;flex-direction:column;gap:18px}.login-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;font-size:.9rem}.field{display:flex;flex-direction:column;gap:8px;font-size:.95rem;color:var(--ink-700)}.field input{padding:12px 14px;border-radius:12px;border:1px solid var(--line-200);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus{outline:none;border-color:var(--accent-600);box-shadow:0 0 0 3px #f05e1f2e}.show-password{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;color:var(--ink-500)}.show-password input{width:auto}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--ink-500)}.checkbox{display:inline-flex;align-items:center;gap:8px}.link{color:var(--ink-700);text-decoration:none;font-weight:600}.link:hover{color:var(--accent-600)}.primary-button{padding:14px 16px;border:none;border-radius:14px;background:linear-gradient(120deg,var(--accent-500),var(--accent-700));color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #f05e1f47}.form-footer{display:flex;justify-content:center;gap:8px;font-size:.9rem;color:var(--ink-500)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@media (max-width: 480px){.login-card{padding:28px 22px}}@media (max-width: 600px){.login-card,.login-hero{padding:28px 22px}.form-row{flex-direction:column;align-items:flex-start}.hero-stats{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.login-card,.login-hero:before,.login-hero:after{animation:none}.primary-button:hover{transform:none}}.sidebar{width:260px;height:100vh;border-right:1px solid #edf2f7;display:flex;flex-direction:column;justify-content:space-between;padding:0 0 24px;background:#fff;position:sticky;top:0;align-self:flex-start;flex-shrink:0;transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:200}.logo-section{height:111px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fbfbfb;border-bottom:1px solid rgba(223,230,242,.9);margin-bottom:0;box-sizing:border-box}.menu-items{margin-top:20px}.logo-wrapper{display:flex;align-items:center;gap:10px}.sidebar-logo{width:44px;height:44px;object-fit:contain}.logo-text{font-size:24px;font-weight:800;color:#1a202c;margin:0;letter-spacing:-.03em}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#718096;cursor:pointer;transition:.2s;text-decoration:none}.menu-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:inherit}.menu-icon svg{width:20px;height:20px}.menu-badge{margin-left:auto;min-width:24px;padding:2px 8px;border-radius:999px;background-color:#e53e3e;color:#fff;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.menu-item.active{background-color:#f7fafc;color:#2d3748;border-left:4px solid #3182ce}.logout-btn{margin:0 16px;padding:12px;border:1px solid #edf2f7;border-radius:8px;display:flex;align-items:center;gap:10px;background:#f8d3ae;color:#000;cursor:pointer;width:calc(100% - 32px)}.logout-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.logout-icon svg{width:20px;height:20px}.sidebar-close{display:none;background:none;border:none;font-size:1.4rem;color:#718096;cursor:pointer;line-height:1;padding:0 4px}.sidebar-hamburger{display:none;position:fixed;top:14px;left:14px;z-index:300;background:#fffffff2;border:1px solid #e2e8f0;border-radius:10px;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:0 2px 8px #0000001a;padding:0}.sidebar-hamburger span{display:block;width:20px;height:2px;background:#4a5568;border-radius:2px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:190}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100dvh;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar--open{transform:translate(0)}.sidebar-close{display:block}.sidebar-hamburger{display:flex}.sidebar-overlay{display:block}}.top-navbar{padding:14px 40px;background:#ffffffdb;border-bottom:1px solid rgba(223,230,242,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.nav-content{display:flex;flex-direction:column;gap:4px}.page-title{font-size:21px;font-weight:700;color:#1a202c;margin-bottom:2px}.welcome-text{color:#718096;font-size:13px}.highlight{font-weight:700;color:#2d3748}@media (max-width: 768px){.top-navbar{padding:12px 16px 12px 70px}.page-title{font-size:18px}}.employee-panel{height:100vh;display:flex;background:radial-gradient(circle at 20% 20%,#ffe9db 0%,transparent 55%),radial-gradient(circle at 80% 0%,#e7efff 0%,transparent 55%),#f7f6f2;color:#1f2a44;overflow:hidden}.employee-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.employee-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}.employee-tabs{display:inline-flex;gap:10px;padding:6px;border-radius:999px;background:#fff;box-shadow:0 10px 20px #19213e0f;border:1px solid #e5e9f2;width:fit-content}.employee-tab{padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;color:#64748b;transition:.2s ease}.employee-tab.active{color:#1f2a44;background:#f3f6fb}.panel-button.primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.employee-panel{height:auto;min-height:100dvh;overflow:visible}.employee-content{height:auto;overflow-y:visible;padding-top:60px}.employee-body{padding:16px 16px 40px}.employee-tabs{width:100%;justify-content:space-between}.panel-card-header{flex-direction:column;align-items:flex-start}.panel-actions{flex-wrap:wrap;width:100%}}@media (max-width: 480px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.table-shell{width:100%;overflow-x:auto;border-radius:14px;border:1px solid #e5e9f2;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem;table-layout:auto;min-width:480px}.data-table thead{background:#f8fafc}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #eef2f7;color:#1f2a44;word-break:break-word;overflow-wrap:anywhere}@media (max-width: 768px){.data-table{font-size:.82rem}.data-table th,.data-table td{padding:10px;white-space:nowrap}}.data-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}.data-table tbody tr:last-child td{border-bottom:none}.table-empty{text-align:center;color:#94a3b8;font-size:.9rem;padding:28px 16px}.filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.filter-left{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.filter-left>*:first-child{max-width:240px;min-width:160px;flex-shrink:1}.filter-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:#475569}.form-label{font-size:.85rem;font-weight:600;color:#64748b}.form-input{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.form-input:disabled{background:#f8fafc;color:#94a3b8}.form-helper{font-size:.8rem;color:#94a3b8}.ui-button{border:1px solid transparent;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;transition:.2s ease}.ui-button.primary{background:#3b4a66;color:#fff}.ui-button.secondary{background:#fff;color:#475569;border-color:#dfe6f2}.ui-button.ghost{background:transparent;color:#475569;border-color:transparent}.ui-button.sm{padding:6px 12px;font-size:.85rem}.ui-button.md{font-size:.95rem}.ui-button.lg{padding:12px 20px;font-size:1rem}.ui-button:disabled{opacity:.6;cursor:not-allowed}.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination-summary{color:#334155;font-size:.9rem;font-weight:600}.pagination-button,.pagination-page{border:1px solid #dfe6f2;background:#fff;color:#475569;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.85rem;font-weight:600}.pagination-page.active{background:#3b4a66;color:#fff;border-color:transparent}.pagination-pages{display:flex;gap:6px;flex-wrap:wrap}.employee-task-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.employee-task-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.employee-task-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.status-pill{padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;min-width:110px;display:inline-flex;justify-content:center}.status-cell{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:180px}.status-select{border:1px solid #dce3f0;border-radius:999px;padding:6px 12px;font-size:.8rem;background:#fff;color:#1f2a44;min-width:160px;font-weight:600}.status-select.to-do{background:#fef3c7;border-color:#fde68a;color:#92400e}.status-select.in-progress{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.status-select.completed{background:#dcfce7;border-color:#bbf7d0;color:#15803d}.status-toggle{border:1px solid transparent;background:#fff;color:#475569;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:600;cursor:pointer;min-width:140px;text-align:center;white-space:nowrap}.status-toggle:hover{filter:brightness(.98)}.status-toggle:disabled{cursor:not-allowed;opacity:.7;filter:none}.status-toggle.to-do{background:#fef3c7;color:#92400e;border-color:#fde68a}.status-toggle.in-progress{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.status-toggle.completed{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.col-task{width:44%}.col-due{width:18%}.col-priority{width:14%}.col-status{width:24%}.status-pill.completed{background:#dcfce7;color:#15803d}.status-pill.in-progress{background:#e0f2fe;color:#0369a1}.status-pill.to-do{background:#fef3c7;color:#92400e}.panel-card-footer{margin-top:24px;display:flex;justify-content:center;border-top:1px solid #f1f5f9;padding-top:20px}.employee-task-error{grid-column:1 / -1;color:#dc2626;font-size:.85rem;padding:8px 12px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.employee-page{display:flex;flex-direction:column;gap:24px}.panel-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end}.panel-button{min-width:138px;padding:12px 18px;border-radius:12px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.panel-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #19213e14}.panel-button.primary:disabled{opacity:.65;cursor:not-allowed}.mark-notice{font-size:.75rem;color:#0f766e;font-weight:600}.attendance-select{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#475569}.attendance-select select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44;min-width:140px}.track-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#475569;min-width:160px}.track-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-pill{width:44px;height:24px;border-radius:999px;background:#e2e8f0;position:relative;transition:.2s ease;border:1px solid #d7deea}.toggle-pill:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s ease;box-shadow:0 2px 6px #0f172a33}.track-toggle input:checked+.toggle-pill{background:#3b4a66;border-color:#3b4a66}.track-toggle input:checked+.toggle-pill:after{transform:translate(20px)}.toggle-text{font-size:.9rem}.stat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background:#fff;border-radius:14px;padding:16px 18px;border:1px solid #e7ecf4}.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.stat-value{font-size:1.4rem;font-weight:700;margin-top:6px;color:#1f2a44}.attendance-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:12px}.month-controls{display:inline-flex;gap:10px;align-items:center}.attendance-day{border:1px solid #e7ecf4;border-radius:14px;padding:14px 16px;background:#fbfcfe;display:flex;flex-direction:column;gap:8px;min-height:120px;position:relative;overflow:hidden}.day-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:12px;flex-wrap:wrap;min-width:0}.day-number{min-width:0}.attendance-day.empty{background:transparent;border:1px dashed transparent;box-shadow:none}.attendance-day.present{background:#ecfdf3;border-color:#bbf7d0}.attendance-day.holiday{background:#fee2e2;border-color:#fecaca}.attendance-day.absent{background:#fef2f2;border-color:#fecaca}.attendance-day.rejected{background:#fee2e2;border-color:#fca5a5;box-shadow:inset 0 0 0 1px #f8717159}.attendance-day.leave{background:#fef9c3;border-color:#fde047}.attendance-day.leave-rejected{background:#fff1f2;border-color:#fda4af;box-shadow:inset 0 0 0 1px #fb718540}.attendance-day.work-from-home{background:#ecfdf3;border-color:#a78bfa;box-shadow:inset 0 0 0 1px #a78bfa59}.attendance-day.today{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.attendance-day.onsite{border-color:#10b981;box-shadow:0 0 0 1px #10b9812e}.day-number{font-size:1.1rem;font-weight:600;color:#1f2a44;margin-top:0}.status-pill{padding:2px 6px;border-radius:999px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;width:fit-content;white-space:nowrap;max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;position:absolute;top:10px;left:12px;right:44px;transform:none}.status-pill.present{background:#dcfce7;color:#15803d}.status-pill.absent{background:#fee2e2;color:#b91c1c}.status-pill.leave{background:#fde68a;color:#a16207}.status-pill.leave-rejected{background:#fecaca;color:#991b1b}.status-pill.pending{background:#fef3c7;color:#92400e}.status-pill.rejected{background:#fecaca;color:#991b1b}.status-pill.onsite{background:#d1fae5;color:#047857}.status-pill.work-from-home{background:#ede9fe;color:#5b21b6}.status-pill.holiday{background:#fecaca;color:#991b1b}.onsite-badge{position:absolute;top:38px;right:10px;padding:4px 8px;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#d1fae5;color:#047857}.day-dots{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.day-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.day-dot.to-do{background:#f59e0b}.day-dot.in-progress{background:#3b82f6}.day-dot.completed{background:#22c55e}.dot-empty{font-size:.75rem;color:#94a3b8}.day-events{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.day-event{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:999px;background:#e0f2fe;color:#0369a1}.day-event.more{background:#f1f5f9;color:#475569}.day-action{margin-top:0;display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;border:1px solid #dfe6f2;border-radius:999px;padding:3px;width:24px;height:24px;background:#fff;color:#475569;cursor:pointer;position:absolute;top:8px;right:10px}.day-action svg{width:12px;height:12px}.day-action:hover{background:#f8fafc}.leave-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.leave-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem;width:100%}.leave-field input,.leave-field select{width:100%;border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.leave-form button{min-width:0;width:100%}.leave-success{grid-column:1 / -1;justify-self:stretch;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#0f766e;border:1px solid #6ee7b7;font-weight:600}.leave-error{grid-column:1 / -1;justify-self:stretch;padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;font-weight:600;font-size:.85rem;line-height:1.3;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}.punch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.punch-form{margin-bottom:16px}.punch-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.punch-field input{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.punch-card{border:1px solid #e7ecf4;border-radius:14px;padding:14px 16px;background:#fbfcfe}.punch-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.punch-value{font-size:1.05rem;font-weight:600;color:#1f2a44;margin-top:6px}.punch-value.active{color:#15803d}.punch-meta{display:block;margin-top:6px;font-size:.85rem;color:#64748b}.punch-error{margin:12px 0 16px;padding:10px 12px;border-radius:12px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:.9rem}.punch-list-controls{display:flex;justify-content:flex-end;margin-bottom:14px}.punch-list{display:flex;flex-direction:column;gap:10px}.punch-list-header,.punch-row{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;align-items:center}.punch-list-header{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:700}.punch-row{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e5e9f2;color:#1f2a44;font-size:.9rem}.punch-empty{padding:16px;border-radius:12px;background:#f8fafc;border:1px dashed #e2e8f0;color:#94a3b8;text-align:center;font-size:.9rem}.punch-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid #e5e9f2;margin-top:12px}.pagination-summary{color:#475569;font-size:.9rem}.pagination-buttons{display:flex;gap:10px;align-items:center}.pagination-buttons button{border:1px solid #dce3f0;border-radius:10px;background:#fff;color:#1f2a44;padding:8px 12px;font-size:.9rem;cursor:pointer}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.pagination-page{font-size:.9rem;color:#475569}.task-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.task-modal{width:min(520px,100%);background:#fff;border-radius:16px;border:1px solid #e7ecf4;box-shadow:0 24px 60px #0f172a33;padding:20px 22px}.task-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.task-modal-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.task-modal-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.task-modal-list{display:flex;flex-direction:column;gap:10px}.task-modal-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;border:1px solid #e5e9f2;background:#f8fafc;font-size:.9rem;color:#1f2a44}.task-modal-status{padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.task-modal-status.to-do{background:#fef3c7;color:#92400e}.task-modal-status.in-progress{background:#e0f2fe;color:#0369a1}.task-modal-status.completed{background:#dcfce7;color:#15803d}.calendar-scroll{width:100%;overflow-x:auto;padding-bottom:10px}.calendar-scroll::-webkit-scrollbar{height:8px}.calendar-scroll::-webkit-scrollbar-thumb{background:#64748b4d;border-radius:999px}.calendar-header,.attendance-grid{width:100%}.calendar-header,.attendance-grid{grid-template-columns:repeat(7,minmax(140px,1fr))}@media (max-width: 900px){.calendar-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-header,.attendance-grid{min-width:650px;width:max-content}.calendar-header span,.attendance-day{min-width:90px}.panel-card-header{flex-direction:column;align-items:stretch}.panel-actions{justify-content:flex-start;width:100%}.month-controls{width:100%;flex-wrap:wrap;justify-content:flex-start}.attendance-select,.track-toggle,.panel-button.primary,.panel-button{width:100%;max-width:100%}.attendance-select select{width:100%}.track-toggle{justify-content:flex-start}.day-header{flex-direction:column;align-items:flex-start}.leave-form,.punch-grid{grid-template-columns:1fr}.leave-form,.leave-field,.leave-form button{width:100%}.punch-list-controls{justify-content:flex-start}.punch-list-header,.punch-row{grid-template-columns:1fr}}@media (max-width: 720px){.calendar-header,.attendance-grid{min-width:560px;width:max-content;grid-template-columns:repeat(7,minmax(70px,1fr))}.calendar-header{font-size:.7rem}.attendance-day{padding:8px 10px;min-height:80px}.status-pill{font-size:.65rem;padding:3px 5px}.day-action{right:8px;top:8px}}@media (max-width: 520px){.calendar-header{display:none}.calendar-scroll{padding-bottom:4px}.attendance-grid{min-width:100%;grid-template-columns:repeat(7,minmax(52px,1fr));gap:8px}.attendance-day{padding:6px 8px;min-height:60px;gap:4px;border-radius:12px}.day-number{font-size:.95rem;line-height:1.1}.status-pill{width:10px;min-width:10px;height:10px;padding:0;border-radius:50%;font-size:0;text-indent:-9999px;overflow:hidden}.day-action{display:none}.panel-actions,.month-controls{flex-direction:column;align-items:stretch}.panel-button,.panel-button.primary{width:100%}.attendance-select,.track-toggle{max-width:100%}}.setting-row .panel-button{min-width:90px}@media (max-width: 720px){.setting-row{flex-direction:column;align-items:stretch}.setting-row .panel-button{width:100%}}.employee-salary{display:flex;flex-direction:column;gap:20px}.employee-salary-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-end}.employee-salary-header h1{margin:0;font-size:1.75rem;color:#0f172a}.employee-salary-header p{margin:4px 0 0;color:#475569;max-width:600px}.employee-salary-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.employee-salary-body{display:flex;flex-direction:column;gap:20px}.salary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.salary-card-item{padding:18px;border-radius:16px;background:#fff;border:1px solid #e2e8f0;min-height:100px}.salary-card-label{color:#64748b;font-size:.95rem;margin-bottom:10px}.salary-card-value{color:#0f172a;font-weight:700;font-size:1.2rem}.salary-detail-section h2{margin:0 0 10px;font-size:1rem;color:#1e293b}.salary-chip-list{display:flex;flex-wrap:wrap;gap:10px}.salary-chip{padding:8px 12px;border-radius:9999px;font-size:.95rem;color:#0f172a;background:#e2e8f0}.salary-chip.late{background:#fee2e2;color:#991b1b}.salary-chip.ot{background:#dcfce7;color:#166534}.salary-error,.salary-loading,.salary-empty{padding:18px;border-radius:16px;background:#f8fafc;color:#334155;border:1px solid #cbd5e1}.admin-panel{height:100vh;display:flex;background:radial-gradient(circle at 20% 20%,#ffe9db 0%,transparent 55%),radial-gradient(circle at 80% 0%,#e7efff 0%,transparent 55%),#f7f6f2;color:#1f2a44;overflow:hidden}.admin-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.admin-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}.admin-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:20px 22px;box-shadow:0 12px 26px #19213e0f}.admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.admin-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}@media (max-width: 768px){.admin-panel{height:auto;min-height:100dvh;overflow:visible}.admin-content{height:auto;overflow-y:visible;padding-top:60px}.admin-body{padding:16px 16px 40px}.admin-card-header{flex-direction:column;align-items:flex-start}}.search-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid #e5e9f2;background:#fff;max-width:360px}.search-icon{width:18px;height:18px;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center}.search-icon svg{width:18px;height:18px}.search-input{border:none;outline:none;font-size:.95rem;color:#1f2a44;width:100%}.ui-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ui-badge.neutral{background:#e2e8f0;color:#475569}.ui-badge.success{background:#dcfce7;color:#15803d}.ui-badge.warning{background:#fef3c7;color:#92400e}.ui-badge.danger{background:#fee2e2;color:#b91c1c}.ui-badge.info{background:#e0f2fe;color:#0369a1}.admin-employees{display:flex;flex-direction:column;gap:24px}.employee-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.employee-form-actions{display:inline-flex;gap:10px;align-items:center}.employee-form-actions .ui-button{min-width:210px;padding:8px 18px}.employee-inline-error{max-width:320px;padding:6px 10px}.employee-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.employee-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.employee-cell{display:flex;flex-direction:column;gap:4px}.employee-name{font-weight:600;color:#1f2a44}.employee-meta{font-size:.85rem;color:#64748b}.employee-actions{display:flex;gap:8px}.employee-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.employee-modal{width:min(540px,100%);background:#fff;border-radius:16px;border:1px solid #e7ecf4;box-shadow:0 24px 60px #0f172a33;padding:20px 22px}.employee-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.employee-modal-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.employee-modal-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.employee-modal-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.employee-modal-actions{display:inline-flex;gap:10px;align-items:center}.employee-inline-error{background:#fef2f2;color:#b12b2b;padding:8px 12px;border-radius:8px;border:1px solid #fee2e2;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 2px #b91c1c0d;white-space:nowrap;max-width:none}.admin-employees .data-table{table-layout:auto;min-width:980px}.admin-employees .data-table th,.admin-employees .data-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.searchable-select{position:relative;width:100%;max-width:320px}.searchable-select-input-wrapper{position:relative;display:flex;align-items:center}.searchable-select-input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 36px 10px 12px;font-size:.95rem;color:#1a202c;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.searchable-select-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa26}.searchable-select-icon{position:absolute;right:12px;pointer-events:none;color:#94a3b8;display:flex;align-items:center}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 25px -5px #0000001a;z-index:100}.searchable-select-item{padding:10px 12px;cursor:pointer;font-size:.95rem;color:#4a5568;transition:background .15s ease}.searchable-select-item:hover{background:#f1f5f9}.searchable-select-item.selected{background:#eff6ff;color:#2563eb;font-weight:600}.searchable-select-item.active{background:#f1f5f9}.searchable-select-item.loading,.searchable-select-item.empty{color:#94a3b8;cursor:default;font-style:italic}.admin-tasks{display:flex;flex-direction:column;gap:24px}.task-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.task-form-error{grid-column:1 / -1;padding:10px 12px;border-radius:10px;background:#fef3f3;color:#981b1b;border:1px solid #fca5a5;font-size:.95rem;font-weight:600}.task-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.task-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.task-filter-field span{font-weight:600;white-space:nowrap}.table-wrap{margin-top:16px}.admin-tasks .data-table{table-layout:auto;min-width:820px}.admin-tasks .data-table th,.admin-tasks .data-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.attendance-heatmap{display:grid;gap:6px}.attendance-heatmap-row{display:grid;gap:4px;align-items:center}.attendance-heatmap-row.header{position:sticky;top:0;background:#fff;z-index:1}.attendance-heatmap-cell{font-size:.65rem;text-align:center;color:#475569}.attendance-heatmap-cell.name{text-align:left;font-weight:600;color:#1f2a44;display:flex;flex-direction:column;gap:2px}.attendance-heatmap-name{font-size:.75rem;font-weight:600}.attendance-heatmap-role{font-size:.65rem;color:#94a3b8}.attendance-heatmap-cell.day{font-size:.6rem;color:#94a3b8}.attendance-heatmap-cell.square{width:18px;height:18px;border-radius:4px;background:#e2e8f0;position:relative}.attendance-heatmap-cell.square:after{content:attr(data-tooltip);position:absolute;top:26px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:6px 8px;border-radius:8px;white-space:pre-line;font-size:.65rem;opacity:0;pointer-events:none;min-width:140px;text-align:left;box-shadow:0 10px 24px #0f172a33;transition:opacity .15s ease;z-index:10}.attendance-heatmap-cell.square:hover:after{opacity:1}.square.status-onsite,.attendance-heatmap-legend-swatch.status-onsite{background:#22c55e}.square.status-wfh,.attendance-heatmap-legend-swatch.status-wfh{background:#8b5cf6;border:1px solid #7c3aed;box-shadow:inset 0 0 0 1px #7c3aed66}.square.status-present,.attendance-heatmap-legend-swatch.status-present{background:#86efac}.square.status-holiday,.attendance-heatmap-legend-swatch.status-holiday{background:#fecaca}.square.status-leave,.attendance-heatmap-legend-swatch.status-leave{background:#fbbf24}.square.status-absent,.attendance-heatmap-legend-swatch.status-absent,.attendance-heatmap-legend-swatch.status-none,.square.status-none{background:#e2e8f0}@media (max-width: 768px){.attendance-heatmap-row{grid-template-columns:100px repeat(31,minmax(14px,1fr))}.attendance-heatmap-cell.square{width:14px;height:14px}}.attendance-heatmap-legend{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.attendance-heatmap-legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#334155}.attendance-heatmap-legend-swatch{width:16px;height:16px;border-radius:4px;border:1px solid #cbd5e1}.attendance-heatmap-cluster{margin-bottom:24px}.attendance-heatmap-cluster:last-child{margin-bottom:0}.attendance-heatmap-team-label{font-size:.8rem;font-weight:700;color:#1e40af;background:#eff6ff;border-left:3px solid #3b82f6;padding:6px 12px;border-radius:0 6px 6px 0;margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}.admin-attendance{display:flex;flex-direction:column;gap:24px}.admin-attendance .admin-card-header{flex-direction:column;align-items:flex-start;gap:14px}.admin-attendance-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.admin-select{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#475569}.admin-select select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff;color:#1f2a44}.admin-button{padding:8px 14px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;cursor:pointer}.admin-button.primary{background:#3b4a66;border-color:#3b4a66;color:#fff}.admin-button:disabled{opacity:.6;cursor:not-allowed}.admin-calendar-header{margin-bottom:12px;font-weight:600;color:#1f2a44}.admin-edit-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e7ecf4;border-radius:12px;background:#f8fafc;margin-bottom:16px}.admin-edit-title{font-weight:700;color:#1f2a44}.admin-edit-subtitle{font-size:.85rem;color:#64748b;margin-top:4px}.admin-edit-actions{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-edit-actions select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff;color:#1f2a44}.admin-heatmap{display:grid;gap:6px}.admin-heatmap-row{display:grid;grid-template-columns:130px repeat(31,minmax(18px,1fr));gap:4px;align-items:center}.admin-heatmap-row.header{position:sticky;top:0;background:#fff;z-index:1}.admin-heatmap-cell{font-size:.65rem;text-align:center;color:#475569}.admin-heatmap-cell.name{text-align:left;font-weight:600;color:#1f2a44;display:flex;flex-direction:column;gap:2px}.admin-heatmap-name{font-size:.75rem;font-weight:600}.admin-heatmap-role{font-size:.65rem;color:#94a3b8}.admin-heatmap-cell.day{font-size:.6rem;color:#94a3b8}.admin-heatmap-cell.square{width:18px;height:18px;border-radius:4px;background:#e2e8f0;position:relative}.admin-heatmap-cell.square:after{content:attr(data-tooltip);position:absolute;top:26px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:6px 8px;border-radius:8px;white-space:pre-line;font-size:.65rem;opacity:0;pointer-events:none;min-width:140px;text-align:left;box-shadow:0 10px 24px #0f172a33;transition:opacity .15s ease;z-index:10}.admin-heatmap-cell.square:hover:after{opacity:1}@media (max-width: 768px){.admin-attendance-actions{gap:6px}.admin-heatmap-row{grid-template-columns:100px repeat(31,minmax(14px,1fr))}.admin-heatmap-cell.square{width:14px;height:14px}}.tms-wrapper{position:relative;width:100%}.tms-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;font-size:.95rem;color:#1a202c;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s}.tms-trigger:hover,.tms-trigger--open{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26;outline:none}.tms-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.tms-arrow{font-size:10px;color:#94a3b8;margin-left:8px;flex-shrink:0}.tms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1a;z-index:100;overflow:hidden;max-height:260px;overflow-y:auto}.tms-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:.9rem;color:#374151;transition:background .15s}.tms-option:hover{background:#f8fafc}.tms-option input[type=checkbox]{width:16px;height:16px;accent-color:#1a73e8;cursor:pointer;flex-shrink:0}.tms-option--all{border-bottom:1px solid #f0f4f8;font-weight:600;color:#1a202c}.tms-hint{font-weight:400;color:#94a3b8;font-size:.85rem}.tms-empty{padding:12px 14px;color:#94a3b8;font-size:.9rem}.tms-footer{padding:8px 14px;font-size:.8rem;color:#94a3b8;border-top:1px solid #f0f4f8;background:#f8fafc}.admin-calendar{display:flex;flex-direction:column;gap:24px}.calendar-controls{display:inline-flex;gap:10px;align-items:center}.calendar-header{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:12px;margin-bottom:12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:12px}.calendar-day{border:1px solid #e7ecf4;border-radius:14px;padding:14px 16px;background:#fbfcfe;display:flex;flex-direction:column;gap:8px;min-height:120px}.calendar-day.holiday{background:#fef2f2;border-color:#fecaca}.calendar-day.empty{background:transparent;border:1px dashed transparent}.calendar-day-number{font-size:1.1rem;font-weight:600;color:#1f2a44}.calendar-event{margin-top:4px}.calendar-more{font-size:.75rem;color:#64748b;font-weight:600}.holiday-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.holiday-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.holiday-field input{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.holiday-error{grid-column:1 / -1;padding:12px 14px;border-radius:12px;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-weight:700;font-size:.95rem}.request-actions{display:flex;gap:8px}.request-date-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.request-date-input{border:1px solid #dce3f0;border-radius:10px;padding:7px 12px;font-size:.88rem;background:#fff;color:#1f2a44;cursor:pointer}.request-date-input:disabled{opacity:.45;cursor:not-allowed}.request-toggle-btn{padding:7px 14px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}@media (max-width: 768px){.calendar-controls{flex-wrap:wrap;gap:8px}.calendar-header,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-day{min-height:52px;padding:6px 4px;gap:4px;border-radius:8px}.calendar-header{font-size:.6rem;margin-bottom:4px}.calendar-day-number{font-size:.8rem}.calendar-event,.calendar-more{display:none}.request-actions{flex-direction:column}.request-date-controls{width:100%;justify-content:flex-start}}.panel-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:24px;box-shadow:0 12px 26px #19213e0a}.panel-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.panel-title{font-size:1.1rem;font-weight:600;color:#1f2a44}.panel-card-actions{display:flex;align-items:center;gap:12px}.admin-page{display:flex;flex-direction:column;gap:24px}.panel-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:20px 22px;box-shadow:0 12px 26px #19213e0f}.panel-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.panel-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.panel-actions{display:inline-flex;gap:12px;align-items:center}.panel-button{padding:10px 16px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;cursor:pointer}.panel-button.primary{border-color:transparent;background:#3b4a66;color:#fff}.settings-grid{display:flex;flex-direction:column;gap:18px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:12px;border:1px solid #e5e9f2;background:#fbfcfe}.setting-info{display:flex;flex-direction:column;gap:8px;flex:1}.setting-label{font-size:.85rem;font-weight:600;color:#64748b}.setting-input{font-size:.98rem;border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;background:#fff;color:#1f2a44}.setting-input:disabled{background:#f8fafc;color:#64748b}@media (max-width: 720px){.setting-row{flex-direction:column;align-items:stretch}}.organization-panel{height:100vh;display:flex;background:radial-gradient(circle at 20% 20%,#ffe9db 0%,transparent 55%),radial-gradient(circle at 80% 0%,#e7efff 0%,transparent 55%),#f7f6f2;color:#1f2a44;overflow:hidden}.organization-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.organization-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}.org-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:20px 22px;box-shadow:0 12px 26px #19213e0f}.org-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.org-title{font-size:1.05rem;font-weight:600;color:#1f2a44}@media (max-width: 768px){.organization-panel{height:auto;min-height:100dvh;overflow:visible}.organization-content{height:auto;overflow-y:visible;padding-top:60px}.organization-body{padding:16px 16px 40px}.org-card-header{flex-direction:column;align-items:flex-start}}.org-dashboard{display:flex;flex-direction:column;gap:24px}.org-overview{display:flex;align-items:center;justify-content:space-between;gap:16px}.org-overview-title{font-size:1.4rem;font-weight:700;color:#1f2a44}.org-overview-subtitle{color:#64748b;margin-top:6px}.org-overview-actions{display:inline-flex;gap:12px;align-items:center}.org-action-button{padding:10px 16px;border-radius:10px;border:1px solid transparent;background:#3b4a66;color:#fff;font-weight:600;cursor:pointer}.org-action-button.secondary{background:#fff;color:#475569;border-color:#dfe6f2}.org-stat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.org-stat-card{background:#fff;border-radius:14px;padding:16px 18px;border:1px solid #e7ecf4}.org-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.org-stat-value{font-size:1.4rem;font-weight:700;margin-top:6px;color:#1f2a44}.org-stat-foot{display:inline-flex;margin-top:6px;font-size:.8rem;color:#64748b}.org-dashboard-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.org-card-actions{display:inline-flex;gap:8px;align-items:center}.org-chip-button{padding:6px 12px;border-radius:999px;border:1px solid #dfe6f2;background:#fff;color:#64748b;font-weight:600;font-size:.8rem;cursor:pointer}.org-chip-button.active{background:#3b4a66;color:#fff;border-color:transparent}.org-link-button{border:none;background:transparent;color:#3b4a66;font-weight:600;cursor:pointer}.org-trend-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:12px;margin-top:16px;height:160px}.org-trend-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}.org-trend-fill{width:100%;max-width:34px;border-radius:10px 10px 6px 6px;background:linear-gradient(180deg,#6e7fb0,#3b4a66)}.org-trend-label{font-size:.7rem;color:#94a3b8}.org-activity-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.org-activity-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid #e5e9f2;background:#fbfcfe}.org-activity-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-weight:700;font-size:.75rem}.org-activity-info{flex:1}.org-activity-title{font-weight:600;color:#1f2a44}.org-activity-subtitle{color:#64748b;font-size:.85rem;margin-top:2px}.org-activity-time{font-size:.75rem;color:#94a3b8}.org-quick-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:8px}.org-quick-card{border-radius:14px;border:1px solid #e5e9f2;padding:16px;background:#fbfcfe}.org-quick-title{font-weight:600;color:#1f2a44}.org-quick-subtitle{margin-top:6px;font-size:.85rem;color:#64748b}.org-task-cell{display:flex;flex-direction:column;gap:4px}.org-task-title{font-weight:600;color:#1f2a44}.org-task-subtitle{font-size:.85rem;color:#64748b}.org-audit-list{display:flex;flex-direction:column;gap:12px}.org-audit-row{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #e5e9f2;background:#fbfcfe}.org-audit-action{font-weight:600;color:#1f2a44}.org-audit-detail{margin-top:4px;font-size:.8rem;color:#64748b}.org-audit-meta{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#94a3b8;text-align:right}.org-card-footer{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.org-activity-empty{padding:24px;text-align:center;color:#94a3b8;font-size:.9rem;background:#f8fafc;border-radius:12px;border:1px dashed #e2e8f0}@media (max-width: 1000px){.org-dashboard-grid{grid-template-columns:1fr}}.organization-employees{display:flex;flex-direction:column;gap:24px}.org-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.org-form-actions{display:inline-flex;gap:10px;align-items:center}.org-member-cell{display:flex;flex-direction:column;gap:4px}.org-member-name{font-weight:600;color:#1f2a44}.org-member-meta{font-size:.85rem;color:#64748b}.org-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.org-modal{width:min(540px,100%);background:#fff;border-radius:16px;border:1px solid #e7ecf4;box-shadow:0 24px 60px #0f172a33;padding:20px 22px}.org-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.org-modal-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.org-modal-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.org-modal-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.org-modal-actions{display:inline-flex;gap:10px;align-items:center}.org-inline-error{background:#fef2f2;color:#b12b2b;padding:8px 12px;border-radius:8px;border:1px solid #fee2e2;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 2px #b91c1c0d}.organization-employees .data-table{table-layout:auto;min-width:980px}.organization-employees .data-table th,.organization-employees .data-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.organization-tasks{display:flex;flex-direction:column;gap:24px}.org-task-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.org-task-error{grid-column:1 / -1;padding:10px 12px;border-radius:10px;background:#fef3f3;color:#981b1b;border:1px solid #fca5a5;font-size:.95rem;font-weight:600}.org-task-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.org-task-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.org-task-warning{grid-column:1 / -1;padding:10px 12px;border-radius:10px;background:#fff3f3;color:#b42318;font-size:.85rem;border:1px solid #f3b4b4}.task-cell{display:flex;flex-direction:column;gap:4px}.task-title{font-weight:600;color:#1f2a44}.task-subtitle{font-size:.85rem;color:#64748b}.assignee-cell{display:inline-flex;flex-direction:column;gap:4px}.assignee-name{font-weight:600;color:#1f2a44}.task-actions{display:flex;gap:8px}.task-status-select{border:1px solid #dce3f0;border-radius:8px;padding:6px 10px;font-size:.8rem;background:#fff;color:#1f2a44;font-weight:600}.task-status-select.to-do{background:#fef3c7;border-color:#fde68a;color:#92400e}.task-status-select.in-progress{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.task-status-select.completed{background:#dcfce7;border-color:#bbf7d0;color:#15803d}.task-actions .ui-button.compact{padding:4px 10px;font-size:.75rem}.task-filter-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:16px 0 12px}.task-filter-field{display:flex;flex-direction:column;gap:6px;min-width:160px;font-size:.9rem;color:#475569}.task-filter-field span{font-weight:600}.task-filter-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.org-table-wrap{margin-top:16px}.org-table-wrap .table-shell{overflow-x:auto}.organization-tasks .data-table{table-layout:auto;min-width:820px}.organization-tasks .data-table th,.organization-tasks .data-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.col-task{width:34%}.col-assignee{width:18%}.col-due{width:16%}.col-priority,.col-status{width:12%}.col-actions{width:14%}.organization-attendance{display:flex;flex-direction:column;gap:24px}.organization-attendance .org-card-header{flex-direction:column;align-items:flex-start;gap:14px}.org-attendance-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.org-select{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#475569}.org-select select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff;color:#1f2a44}.org-button{padding:8px 14px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;cursor:pointer}.org-button:disabled{opacity:.6;cursor:not-allowed}.org-calendar-header{margin-bottom:12px;font-weight:600;color:#1f2a44}.org-heatmap{display:grid;gap:6px}.org-heatmap-row{display:grid;grid-template-columns:130px repeat(31,minmax(18px,1fr));gap:4px;align-items:center}.org-heatmap-row.header{position:sticky;top:0;background:#fff;z-index:1}.org-heatmap-cell{font-size:.65rem;text-align:center;color:#475569}.org-heatmap-cell.name{text-align:left;font-weight:600;color:#1f2a44;display:flex;flex-direction:column;gap:2px}.org-heatmap-name{font-size:.75rem;font-weight:600}.org-heatmap-role{font-size:.65rem;color:#94a3b8}.org-heatmap-cell.day{font-size:.6rem;color:#94a3b8}.org-heatmap-cell.square{width:18px;height:18px;border-radius:4px;background:#e2e8f0;position:relative}.org-heatmap-cell.square:after{content:attr(data-tooltip);position:absolute;top:26px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:6px 8px;border-radius:8px;white-space:pre-line;font-size:.65rem;opacity:0;pointer-events:none;min-width:140px;text-align:left;box-shadow:0 10px 24px #0f172a33;transition:opacity .15s ease;z-index:10}.org-heatmap-cell.square:hover:after{opacity:1}.square.status-onsite{background:#22c55e}.square.status-wfh{background:#8b5cf6;border:1px solid #7c3aed;box-shadow:inset 0 0 0 1px #7c3aed66}.square.status-present{background:#86efac}.square.status-holiday{background:#fecaca}.square.status-leave{background:#fbbf24}.square.status-absent,.square.status-none{background:#e2e8f0}@media (max-width: 768px){.org-attendance-actions{gap:6px}.org-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.org-heatmap{min-width:600px}.org-heatmap-row{grid-template-columns:100px repeat(31,minmax(14px,1fr))}.org-heatmap-cell.square{width:14px;height:14px}}.organization-calendar{display:flex;flex-direction:column;gap:24px}.org-card{background:#fff;border:1px solid #e4e7ef;border-radius:16px;padding:20px 24px;box-shadow:0 10px 24px #121c2d14}.org-card-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.org-title{font-size:18px;font-weight:600;color:#1c2333}.org-subtitle{font-size:13px;color:#6b7280;margin-top:4px}.org-calendar-actions{display:flex;gap:8px}.org-calendar-select{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#475569;font-size:12px}.org-calendar-select select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:12px;background:#fff;color:#1f2a44}.org-calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:12px;color:#6b7280;margin-bottom:8px}.org-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.org-calendar-day{min-height:88px;border:1px solid #eef1f6;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;background:#f9fbff}.org-calendar-day.empty{border:none;background:transparent}.org-calendar-number{font-size:13px;font-weight:600;color:#1f2937}.org-calendar-badge{width:fit-content;padding:2px 8px;font-size:11px}.org-calendar-more{font-size:11px;color:#6b7280}.org-calendar-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.org-calendar-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#111827}.org-calendar-field select{height:40px;border-radius:10px;border:1px solid #d4dae6;padding:0 10px;background:#fff;color:#111827}.org-calendar-list{margin-top:16px;display:flex;flex-direction:column;gap:12px}.org-calendar-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border:1px solid #eef1f6;border-radius:12px;background:#fff}.org-calendar-title{font-weight:600;color:#1f2937}.org-calendar-meta{font-size:12px;color:#6b7280;margin-top:2px}.org-calendar-empty{font-size:13px;color:#6b7280;padding:12px 0}.org-calendar-error,.holiday-error{grid-column:1 / -1;padding:12px 14px;border-radius:12px;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-weight:700;font-size:.95rem}@media (max-width: 768px){.org-card-header{flex-direction:column;align-items:flex-start}.org-calendar-actions{flex-wrap:wrap;gap:8px}.org-calendar-header,.org-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.org-calendar-day{min-height:48px;padding:5px 3px;gap:3px;border-radius:8px}.org-calendar-header{font-size:.6rem;margin-bottom:4px;gap:4px}.org-calendar-number{font-size:.75rem}.org-calendar-badge,.org-calendar-more{display:none}.org-calendar-row{flex-direction:column;align-items:flex-start;gap:8px}}.org-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:24px;box-shadow:0 12px 26px #19213e0a}.org-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.org-title{font-size:1.1rem;font-weight:600;color:#1f2a44}.org-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.date-picker-input,.user-filter-select{border:1px solid #dce3f0;border-radius:10px;padding:8px 12px;font-size:.95rem;color:#1f2a44;background:#fff;cursor:pointer}.org-card-actions{display:flex;align-items:center;gap:12px}.pagination-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.pagination-summary{font-size:.95rem;color:#475569}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-button{border:1px solid #dce3f0;background:#fff;color:#1f2a44;padding:8px 14px;border-radius:10px;cursor:pointer;font-size:.9rem}.pagination-button:disabled{opacity:.5;cursor:default}.pagination-page{font-size:.95rem;color:#475569}.punches-table td,.punches-table th{font-size:.95rem}.punches-table th{line-height:1.4}.punches-table td{line-height:1.5}.punches-table-container{overflow-x:auto;border:1px solid #e7ecf4;border-radius:12px}.punches-table{width:100%;border-collapse:collapse;text-align:left}.punches-table th{background:#fbfcfe;padding:12px 16px;font-size:.8rem;font-weight:700;text-transform:uppercase;color:#64748b;border-bottom:1px solid #e7ecf4}.punches-table td{padding:14px 16px;font-size:.9rem;color:#1f2a44;border-bottom:1px solid #e7ecf4;vertical-align:middle}.punches-table tr:last-child td{border-bottom:none}.empty-state{padding:32px;text-align:center;color:#94a3b8;font-size:.9rem}.coords-link{font-family:Courier New,monospace;font-size:.82rem;color:#2563eb;text-decoration:none;white-space:nowrap}.coords-link:hover{text-decoration:underline;color:#1d4ed8}.organization-page{display:flex;flex-direction:column;gap:24px}.org-actions{display:inline-flex;gap:12px;align-items:center}.org-button{padding:10px 16px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;cursor:pointer}.org-button.primary{border-color:transparent;background:#3b4a66;color:#fff}.org-settings-grid{display:flex;flex-direction:column;gap:18px}.org-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:12px;border:1px solid #e5e9f2;background:#fbfcfe}.org-setting-info{display:flex;flex-direction:column;gap:8px;flex:1}.org-setting-label{font-size:.85rem;font-weight:600;color:#64748b}.org-setting-help{font-size:.8rem;color:#94a3b8}.org-setting-input{font-size:.98rem;border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;background:#fff;color:#1f2a44}.org-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#1f2a44}.org-toggle input{width:16px;height:16px}.org-setting-inline{display:flex;align-items:center;gap:16px}.org-setting-inline-field{display:inline-flex;flex-direction:column;gap:6px;font-size:.75rem;color:#64748b}.org-setting-input:disabled{background:#f8fafc;color:#64748b}@media (max-width: 720px){.org-setting-row{flex-direction:column;align-items:stretch}}.org-leave-table{width:100%;border-collapse:collapse;font-size:.9rem}.org-leave-table thead tr{background:#f8fafc;border-bottom:1px solid #e5e9f2}.org-leave-table th{text-align:left;padding:10px 14px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.org-leave-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.org-leave-table tbody tr:last-child td{border-bottom:none}.org-leave-team-name{font-weight:600;color:#1f2a44}.org-leave-input{width:80px;border:1px solid #dce3f0;border-radius:8px;padding:7px 10px;font-size:.9rem;color:#1f2a44;background:#fff;text-align:center}.org-leave-input:focus{outline:none;border-color:#3b82f6}.org-leave-save-btn{padding:7px 16px;border-radius:8px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s}.org-leave-save-btn:not(:disabled):hover{background:#f1f5f9}.org-leave-save-btn:disabled{opacity:.45;cursor:not-allowed}.organization-candidates{display:flex;flex-direction:column;gap:20px}.organization-candidates-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.organization-candidates-header h1{margin:0;font-size:1.6rem;color:#1f2a44}.organization-candidates-header p{margin:4px 0 0;color:#475569;max-width:680px}.organization-candidates-table{width:100%}.organization-candidates-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.candidate-filter-group{display:flex;flex-wrap:wrap;gap:12px}.candidate-filter-group label{display:flex;flex-direction:column;font-size:.95rem;color:#334155}.candidate-filter-group select{margin-top:6px;min-width:140px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}.candidate-row-cell{display:flex;flex-direction:column;gap:4px}.candidate-row-name{font-weight:600;color:#0f172a}.candidate-row-meta{font-size:.95rem;color:#64748b}.candidate-row-remarks{max-width:240px;white-space:pre-wrap;word-break:break-word;color:#475569;font-size:.95rem}.salary-calculator{padding:24px}.salary-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px #0f172a0d}.salary-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;flex-wrap:wrap}.salary-header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.salary-header-month{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;color:#2d3748;font-weight:600;font-size:.95rem}.salary-header-month input[type=month]{border:none;background:transparent;padding:4px 6px;min-width:160px;font-size:.95rem;color:#1a202c}.salary-title{font-size:1.375rem;font-weight:800;color:#0f172a}.salary-subtitle{margin-top:6px;color:#4a5568}.salary-note{color:#475569;margin-bottom:20px;font-size:.95rem;line-height:1.6}.salary-error{margin-bottom:16px;color:#c53030}.salary-table-wrap{overflow-x:auto;margin-bottom:18px}.salary-edit-form{max-width:760px;margin-bottom:24px}.salary-form-section{border:1px solid #e2e8f0;border-radius:14px;padding:20px 22px;background:#f8fafc}.salary-form-section legend{font-size:1rem;font-weight:700;color:#1a202c;margin-bottom:16px}.salary-select-row,.salary-form-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.salary-select-row{flex-direction:column}.salary-form-actions{flex-direction:row;align-items:center;gap:14px}.salary-select-row label{color:#4a5568;font-weight:600}.salary-select-row select,.salary-select-row input[type=month],.salary-search-input{width:100%;max-width:320px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:.95rem;color:#1a202c;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.salary-select-row select:focus,.salary-select-row input[type=month]:focus,.salary-header-month input[type=month]:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa26}.salary-current-summary{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.salary-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #f0f4f8;font-size:.95rem;color:#2d3748}.salary-summary-row:last-child{border-bottom:none}.salary-summary-row.divider{background:#f8fafc;padding:6px 16px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid #e2e8f0}.salary-summary-row.highlight{background:#eff6ff;border-top:1px solid #bfdbfe}.salary-summary-label{color:#64748b;font-weight:500}.salary-summary-value{font-weight:600;color:#1a202c;text-align:right}.salary-summary-value.green{color:#1f6e3b;font-size:1.05rem}.salary-summary-hint{font-size:.8rem;color:#94a3b8;font-weight:400;margin-left:6px}.salary-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px}.salary-form-actions{align-items:center;justify-content:flex-start}.salary-submit-message{color:#2f855a;font-size:.95rem}.salary-no-user{color:#4a5568;padding:14px 0}.salary-input-grid{display:grid;gap:18px}.salary-input-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:1px solid #edf2f7;padding-top:18px}.salary-input-title{grid-column:span 4;font-weight:600;color:#2d3748}@media (max-width: 980px){.salary-current-summary,.salary-form-grid,.salary-input-row{grid-template-columns:1fr}}.salary-import-summary{border:1px solid #dce3f0;border-radius:14px;background:#f8fafc;padding:16px;margin-bottom:18px}.salary-import-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700;color:#1f2a44}.salary-import-summary-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:16px}.salary-import-summary-list{display:grid;gap:12px}.salary-import-summary-item{border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;background:#fff}.salary-import-summary-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-weight:700}.salary-import-summary-item-body{display:flex;flex-wrap:wrap;gap:12px;color:#475569;font-size:.95rem}.salary-list-section{border:1px solid #dce3f0;border-radius:14px;background:#f8fafc;padding:18px;margin-top:20px}.salary-list-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.salary-list-header h3{margin:0;font-size:1.1rem;color:#1f2a44}.salary-list-header p{margin:4px 0 0;color:#475569;font-size:.95rem}.salary-list-empty{color:#475569;padding:16px 0}.salary-item-list{display:grid;gap:12px}.salary-list-item{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:16px}.salary-list-item-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;font-weight:700}.salary-list-item-name{color:#0f172a}.salary-list-item-inhand{color:#1f6e3b}.salary-list-item-meta{display:flex;flex-wrap:wrap;gap:12px;color:#475569;font-size:.95rem}.salary-import-summary-table{width:100%;border-collapse:collapse;font-size:.92rem}.salary-import-summary-table th,.salary-import-summary-table td{border:1px solid #e2e8f0;padding:10px 12px;text-align:left}.salary-import-summary-table th{background:#eef2ff;color:#334155}.salary-import-summary-table tbody tr:nth-child(2n){background:#fff}.salary-import-summary-table tbody tr:nth-child(odd){background:#f8fafc}@media (max-width: 640px){.salary-card{padding:18px}.salary-edit-form{max-width:100%}}.salary-missing-notice{padding:18px;background:#fff5f5;border:1px solid #feb2b2;border-radius:14px;color:#c53030;margin-top:10px}.salary-missing-notice p{margin:0;font-weight:700;font-size:1rem}.salary-missing-notice span{display:block;margin-top:6px;font-size:.95rem;color:#9b2c2c}.salary-date-detail{flex-direction:column;align-items:flex-start;gap:8px}.salary-date-chips{display:flex;flex-wrap:wrap;gap:6px}.salary-date-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.salary-date-chip.leave{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.salary-date-chip.absent{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.admin-requests{padding:24px}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-page-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:4px}.admin-page-subtitle{font-size:.95rem;color:#64748b}.leave-filter-panel{display:flex;gap:12px;align-items:center;margin:16px 0;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.request-date-input,.request-month-input{border:1px solid #dce3f0;border-radius:10px;padding:8px 14px;font-size:.9rem;background:#fff;color:#1f2a44;cursor:pointer}.request-toggle-btn{padding:8px 16px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.request-toggle-btn.active{background:#3b4a66;border-color:#3b4a66;color:#fff}.admin-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;margin-bottom:24px}.admin-card-header{padding:16px 24px;border-bottom:1px solid #f1f5f9}.admin-title{font-size:1.1rem;font-weight:600;color:#1e293b}.request-actions.confirm-mode .button.primary{background:var(--success)}.request-date-controls{display:flex;gap:12px;align-items:center}.requests-error{background:#fef2f2;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:24px;font-size:.9rem}@media (max-width: 768px){.admin-page-header{flex-direction:column;align-items:flex-start;gap:16px}}.organization-requests{padding:32px}.org-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.org-page-title{font-size:1.5rem;font-weight:700;color:#1f2a44;margin-bottom:4px}.org-page-subtitle{font-size:.95rem;color:#6a7181}.request-controls{display:flex;gap:12px;align-items:center}.leave-filter-panel{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.request-month-label{font-size:.95rem;color:#475569;font-weight:600}.request-date-input,.request-month-input{border:1px solid #dce3f0;border-radius:12px;padding:8px 16px;font-size:.9rem;background:#fff;color:#1f2a44;cursor:pointer}.request-toggle-btn{padding:8px 18px;border-radius:12px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.request-toggle-btn.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb33}.org-card{background:#fff;border:1px solid #f2f5f9;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d;margin-bottom:32px}.org-card-header{padding:24px 32px;border-bottom:1px solid #f2f5f9}.org-title{font-size:1.2rem;font-weight:600;color:#1f2a44}.request-actions{display:flex;gap:8px;align-items:center}.request-actions.confirm-mode{background:#00000008;padding:6px 10px;border-radius:12px;border:1px dashed #ced4da}.request-actions.confirm-mode .button.primary{background:#10b981}.request-actions.confirm-mode .button.danger{background:#dc2626;color:#fff;border:none}.request-actions.confirm-mode .button.danger:hover{background:#b91c1c}.requests-error{background:#fef2f2;color:#b91c1c;padding:16px;border-radius:12px;margin-bottom:24px;font-size:.9rem}@media (max-width: 768px){.org-page-header{flex-direction:column;align-items:flex-start;gap:20px}}.super-admin-panel{height:100vh;display:flex;background:radial-gradient(circle at 10% 20%,#f0f5ff 0%,transparent 55%),radial-gradient(circle at 90% 0%,#fff3e6 0%,transparent 55%),#f6f8fb;color:#1f2a44;overflow:hidden}.super-admin-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.super-admin-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}.super-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:20px 22px;box-shadow:0 12px 26px #19213e0f}.super-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.super-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.super-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}@media (max-width: 900px){.super-admin-panel{flex-direction:column}.super-admin-body{padding:0 24px 32px}}.super-admin-organizations{display:flex;flex-direction:column;gap:24px}.org-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:stretch}.org-field,.form-field{width:100%}.org-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.org-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.org-form-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.org-form-actions-left{display:flex;gap:10px;align-items:center}.org-form-actions-left .ui-button{margin-top:2px}.org-form-action-error{display:inline-flex;align-items:center;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;border-radius:10px;font-size:.9rem;max-width:100%}.org-cell{display:flex;flex-direction:column;gap:4px}.org-name{font-weight:600;color:#1f2a44}.org-domain{font-size:.85rem;color:#64748b}.org-actions{display:flex;gap:8px}.super-table-wrap .table-shell{overflow-x:auto}.super-admin-organizations .data-table{table-layout:auto;min-width:980px}.col-org,.col-owner{width:20%}.col-phone{width:15%}.col-plan,.col-status,.col-created{width:10%}.col-actions{width:15%}.org-password{font-family:Courier New,Courier,monospace;font-size:.85rem;color:#475569}.candidate-interview{display:flex;flex-direction:column;gap:24px}.candidate-form{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end}.candidate-form .form-field{width:100%}.candidate-form-actions{display:inline-flex;gap:10px;align-items:center}.candidate-form-actions .ui-button{min-width:210px;padding:8px 18px}.candidate-inline-error{max-width:320px;padding:6px 10px;background:#fef2f2;color:#b12b2b;border-radius:8px;border:1px solid #fee2e2;font-size:.85rem;font-weight:500}.candidate-field{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.9rem}.candidate-field select{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1f2a44}.candidate-cell{display:flex;flex-direction:column;gap:4px}.candidate-name{font-weight:600;color:#1f2a44}.candidate-meta{font-size:.85rem;color:#64748b}.remark-text{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;font-size:.9rem}.previous-remarks{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;font-size:.9rem;color:#475569;max-height:120px;overflow-y:auto;white-space:pre-wrap}.candidate-form-actions-wrap{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:2px}.candidate-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.candidate-modal{width:min(640px,100%);background:#fff;border-radius:16px;border:1px solid #e7ecf4;box-shadow:0 24px 60px #0f172a33;padding:20px 22px}.candidate-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.candidate-modal-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.candidate-modal-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.candidate-modal-form{display:grid;gap:20px;grid-template-columns:1fr 1fr}.candidate-modal-actions{display:flex;gap:12px;align-items:center;grid-column:1 / -1;margin-top:8px}.candidate-modal .ant-picker{display:flex!important}.candidate-modal .form-field{width:100%}.candidate-modal .form-label{display:block;margin-bottom:6px}.candidate-interview .data-table{table-layout:auto;min-width:900px}.table-wrap .table-shell{overflow-x:auto}.candidate-interview .data-table th,.candidate-interview .data-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.hr-panel{height:100vh;display:flex;background:radial-gradient(circle at 20% 20%,#ffe9db 0%,transparent 55%),radial-gradient(circle at 80% 0%,#e7efff 0%,transparent 55%),#f7f6f2;color:#1f2a44;overflow:hidden}.hr-content{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.hr-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}.hr-card{background:#fff;border-radius:16px;border:1px solid #e7ecf4;padding:20px 22px;box-shadow:0 12px 26px #19213e0f}.hr-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.hr-title{font-size:1.05rem;font-weight:600;color:#1f2a44}.hr-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}@media (max-width: 768px){.hr-panel{height:auto;min-height:100dvh;overflow:visible}.hr-content{height:auto;overflow-y:visible;padding-top:60px}.hr-body{padding:16px 16px 40px}.hr-card-header{flex-direction:column;align-items:flex-start}}.hr-tasks{display:flex;flex-direction:column;gap:24px}.hr-tasks .hr-card-header{flex-direction:column;align-items:flex-start;gap:14px}.task-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-form-error{grid-column:1 / -1;color:#dc2626;font-size:.85rem;padding:8px 12px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.task-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:#475569}.task-field select,.task-field input{border:1px solid #dce3f0;border-radius:10px;padding:10px 12px;font-size:.9rem;background:#fff;color:#1f2a44}.task-filter-field{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#475569}.task-filter-field select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff;color:#1f2a44}.task-cell{display:flex;flex-direction:column;gap:2px}.task-title{font-weight:600;color:#1f2a44;font-size:.85rem}.task-subtitle{font-size:.75rem;color:#94a3b8}.assignee-cell{display:flex;flex-direction:column;gap:2px}.assignee-name{font-weight:600;font-size:.85rem;color:#1f2a44}.assignee-role{font-size:.75rem;color:#94a3b8}.task-actions{display:flex;gap:8px;align-items:center}.task-status-select{border:1px solid #dce3f0;border-radius:8px;padding:5px 8px;font-size:.8rem;cursor:pointer;background:#f8fafc;color:#1f2a44}.table-wrap{overflow-x:auto}@media (max-width: 768px){.task-form{grid-template-columns:1fr}}.hr-attendance-matrix{display:flex;flex-direction:column;gap:24px}.hr-attendance-matrix .hr-card-header{flex-direction:column;align-items:flex-start;gap:14px}.hr-attendance-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.hr-select{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#475569;font-size:.85rem}.hr-select select{border:1px solid #dce3f0;border-radius:10px;padding:6px 10px;font-size:.85rem;background:#fff;color:#1f2a44}.hr-button{padding:8px 14px;border-radius:10px;border:1px solid #dfe6f2;background:#fff;color:#475569;font-weight:600;cursor:pointer;font-size:.85rem}.hr-calendar-header{margin-bottom:12px;font-weight:600;color:#1f2a44}.hr-attendance-info{font-size:.85rem;color:#94a3b8;margin-bottom:8px}@media (max-width: 768px){.hr-attendance-actions{gap:6px}}.hr-page{display:flex;flex-direction:column;gap:24px}
