body{color:#111827;background:#f4f6f8;margin:0;font-family:Arial,sans-serif}button,input{font:inherit}.login-page{background:#eef2ff;place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:22px;width:380px;padding:32px;box-shadow:0 24px 60px #0f172a1f}.login-card h1{margin:0;font-size:30px}.login-card p{color:#6b7280;margin:8px 0 24px}.login-card label{margin:14px 0 6px;font-weight:700;display:block}.login-card input{border:1px solid #d1d5db;border-radius:12px;width:100%;padding:13px}.login-card button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;width:100%;margin-top:22px;padding:13px;font-weight:800}.error-box{color:#991b1b;background:#fee2e2;border-radius:12px;margin-bottom:14px;padding:12px}.page-header h1{margin:0;font-size:34px}.page-header p{color:#6b7280;margin-top:8px}.cards{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;display:grid}.stat-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 14px 40px #0f172a0f}.stat-card span{color:#6b7280}.stat-card strong{margin-top:10px;font-size:36px;display:block}.panel-form{background:#fff;border-radius:18px;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:26px;padding:18px;display:grid;box-shadow:0 14px 40px #0f172a0f}.panel-form input,.panel-form select{border:1px solid #d1d5db;border-radius:12px;padding:13px}.panel-form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;font-weight:800}.table-card{background:#fff;border-radius:18px;margin-top:24px;padding:18px;box-shadow:0 14px 40px #0f172a0f}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:14px}th{color:#6b7280}.task-form{background:#fff;border-radius:18px;grid-template-columns:1.2fr 1.4fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:12px;margin-top:26px;padding:18px;display:grid;box-shadow:0 14px 40px #0f172a0f}.task-row-overdue{background:#fef2f2;border:2px solid #dc2626}.task-form input,.task-form select{border:1px solid #d1d5db;border-radius:12px;padding:13px}.task-form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;font-weight:800}.task-sections{gap:14px;margin-top:24px;display:grid}.task-row{background:#fff;border-radius:18px;justify-content:space-between;gap:18px;padding:18px;display:flex;box-shadow:0 14px 40px #0f172a0f}.task-row h3{margin:0}.task-row p{color:#6b7280;margin:8px 0}.task-actions{align-items:center;gap:8px;display:flex}.task-actions button{cursor:pointer;border:0;border-radius:10px;padding:10px 12px}.loading-page{place-items:center;min-height:100vh;font-size:20px;font-weight:700;display:grid}.task-board{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;display:grid}.task-section{background:#fff;border-radius:18px;padding:18px;box-shadow:0 14px 40px #0f172a0f}.task-section h2{margin:0 0 14px}.mini-task-card{border:1px solid #e5e7eb;border-radius:14px;margin-bottom:12px;padding:14px}.mini-task-card h3{margin:0;font-size:16px}.mini-task-card p{color:#6b7280;margin:6px 0}.mini-task-card span{color:#2563eb;font-size:12px;font-weight:800}.empty-text{color:#9ca3af}.warning-box{color:#991b1b;background:#fee2e2;border-radius:16px;margin-top:20px;padding:16px;font-weight:800}.tabs{gap:12px;margin-top:28px;margin-bottom:18px;display:flex}.tabs button{cursor:pointer;background:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:800}.tabs .active-tab{color:#fff;background:#2563eb}.overdue-row{color:#991b1b;background:#fef2f2}.row-actions{align-items:center;gap:8px;display:flex}.row-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;padding:9px 12px;font-weight:700}.row-actions .danger-light{color:#991b1b;background:#fee2e2}.status-pill{color:#92400e;background:#fef3c7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-block}.danger-text{color:#dc2626;font-weight:800}.task-title-button{color:#111827;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:800;display:inline}.detail-button,.secondary-button,.back-button{color:#3730a3;cursor:pointer;background:#eef2ff;border:0;border-radius:10px;padding:9px 13px;font-weight:800}.detail-page-header h1{margin:0}.detail-page-header p{color:#6b7280;margin:8px 0 0}.detail-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 14px 40px #0f172a0f}.detail-card h2{margin-top:0}.detail-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.detail-item{border:1px solid #e5e7eb;border-radius:14px;padding:15px}.detail-item span{color:#6b7280;margin-bottom:6px;font-size:12px;display:block}.detail-item strong{font-size:14px;display:block}.detail-actions{border-top:1px solid #e5e7eb;margin-top:22px;padding-top:22px}.task-timeline{gap:18px;display:grid;position:relative}.timeline-item{grid-template-columns:18px minmax(0,1fr);gap:12px;display:grid;position:relative}.timeline-dot{background:#2563eb;border-radius:50%;width:12px;height:12px;margin-top:5px}.timeline-content{border-bottom:1px solid #e5e7eb;padding-bottom:18px}.timeline-top{justify-content:space-between;gap:12px;display:flex}.timeline-top time{color:#9ca3af;font-size:12px}.timeline-content p{color:#4b5563;margin:8px 0 0}.timeline-note{color:#334155;white-space:pre-wrap;background:#f8fafc;border-radius:12px;margin-top:10px;padding:12px}@media (width<=1000px){.task-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.detail-page-header{flex-direction:column}.detail-info-grid{grid-template-columns:1fr}.timeline-top{flex-direction:column}}.rejected-row{background:#fff7ed;border-left:4px solid #f97316}.checkbox-column input{cursor:pointer;width:17px;height:17px}.bulk-action-bar{background:#eef2ff;border:1px solid #c7d2fe;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:14px 18px;display:flex}.bulk-action-buttons button{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;font-weight:800}.bulk-approve-button{color:#fff;background:#16a34a}.bulk-reject-button{color:#422006;background:#f59e0b}.bulk-delete-button,.delete-icon-button{color:#b91c1c;background:#fee2e2}.delete-icon-button{cursor:pointer;border:0;border-radius:9px;padding:8px 11px;font-weight:800}@media (width<=800px){.bulk-action-bar{flex-direction:column;align-items:flex-start}}.calendar-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:22px;margin-top:26px;display:grid}.calendar-card,.calendar-detail-card{background:#fff;border-radius:20px;box-shadow:0 14px 40px #0f172a0f}.calendar-card{padding:22px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.calendar-toolbar h2{margin:0}.calendar-toolbar-actions button{color:#3730a3;cursor:pointer;background:#eef2ff;border:0;border-radius:10px;padding:9px 13px;font-weight:800}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:#6b7280;text-align:center;margin-bottom:8px;font-size:12px;font-weight:800}.calendar-weekdays div{padding:10px}.calendar-grid{border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.calendar-day{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-top:0;border-left:0;min-height:125px;padding:9px}.calendar-day-selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #2563eb}.calendar-day-number{border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:inline-grid}.calendar-day-tasks{gap:5px;margin-top:7px;display:grid}.calendar-task-dot{color:#374151;text-overflow:ellipsis;white-space:nowrap;background:#f3f4f6;border-radius:6px;padding:4px 6px;font-size:10px;font-weight:700;display:block;overflow:hidden}.calendar-task-waiting_approval{color:#92400e;background:#fef3c7}.calendar-task-in_progress{color:#1d4ed8;background:#dbeafe}.calendar-more{color:#6b7280;font-size:10px;font-weight:700}.calendar-side-panel{align-content:start;gap:18px;display:grid}.calendar-detail-card h2{margin:0}.calendar-task-list,.calendar-routine-list{gap:12px;display:grid}.calendar-task-item{border:1px solid #e5e7eb;border-radius:14px;padding:14px}.calendar-task-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendar-task-item p{color:#6b7280;margin:9px 0;font-size:13px}.calendar-task-meta{color:#64748b;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;display:flex}.calendar-routine-item{border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.calendar-routine-item div{gap:4px;display:grid}.calendar-routine-item div span{color:#6b7280;font-size:11px}@media (width<=1150px){.calendar-layout{grid-template-columns:1fr}}@media (width<=760px){.calendar-card{overflow-x:auto}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-weekdays,.calendar-grid{min-width:760px}}.notification-wrapper{position:relative}.notification-button{cursor:pointer;background:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:22px;position:relative}.notification-count{color:#fff;background:red;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex;position:absolute;top:-5px;right:-5px}.notification-menu{z-index:1000;background:#fff;border-radius:12px;width:360px;max-height:500px;position:absolute;top:55px;right:0;overflow:auto;box-shadow:0 5px 20px #0003}.notification-item{cursor:pointer;border-bottom:1px solid #eee;padding:15px}.notification-item.unread{background:#eef6ff}.notification-item:hover{background:#f6f6f6}.comments-card{background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 14px 40px #0f172a0f}.comments-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.comments-header h2{margin:0}.comments-header p{color:#6b7280;margin:7px 0 0;line-height:1.55}.comments-count{color:#3730a3;background:#eef2ff;border-radius:999px;flex:none;padding:8px 12px;font-size:12px;font-weight:800}.comments-list{scroll-behavior:smooth;gap:14px;max-height:620px;padding:4px 4px 4px 0;display:grid;overflow-y:auto}.comments-loading{text-align:center;color:#6b7280;padding:24px;font-weight:700}.comments-empty-state{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;place-items:center;gap:8px;padding:42px 20px;display:grid}.comments-empty-state strong{color:#111827}.comments-empty-state span{color:#6b7280;font-size:14px}.comments-empty-icon{color:#3730a3;background:#e0e7ff;border-radius:16px;place-items:center;min-width:58px;min-height:58px;padding:10px;font-size:12px;font-weight:900;display:grid}.comment-item{grid-template-columns:44px minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.comment-avatar{color:#374151;letter-spacing:.3px;background:#e5e7eb;border-radius:50%;place-items:center;width:44px;height:44px;font-size:13px;font-weight:900;display:grid}.comment-main{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;min-width:0;padding:14px 15px}.comment-item-own .comment-main{background:#eff6ff;border-color:#bfdbfe}.comment-item-own .comment-avatar{color:#fff;background:#2563eb}.comment-item-deleted .comment-main{opacity:.8;background:#f9fafb;border-style:dashed}.comment-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.comment-user{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.comment-user strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment-owner-label{color:#1d4ed8;text-transform:uppercase;letter-spacing:.4px;background:#dbeafe;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.comment-top time{color:#9ca3af;white-space:nowrap;flex:none;font-size:11px}.comment-content{color:#374151;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;line-height:1.65}.comment-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.comment-meta{flex-wrap:wrap;gap:8px;display:flex}.comment-meta span{color:#9ca3af;font-size:11px;font-style:italic}.comment-actions,.comment-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.comment-actions button,.comment-edit-actions button{cursor:pointer;border:0;border-radius:9px;padding:8px 11px;font-weight:800}.comment-edit-button{color:#3730a3;background:#e0e7ff}.comment-delete-button{color:#b91c1c;background:#fee2e2}.comment-actions button:disabled,.comment-edit-actions button:disabled{cursor:not-allowed;opacity:.6}.comment-edit-area{margin-top:12px}.comment-edit-area textarea,.comment-create-form textarea{resize:vertical;color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:13px 14px;line-height:1.55}.comment-edit-area textarea{min-height:110px}.comment-edit-area textarea:focus,.comment-create-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.comment-edit-area textarea:disabled,.comment-create-form textarea:disabled{cursor:not-allowed;background:#f3f4f6}.comment-edit-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.comment-edit-footer>span{color:#9ca3af;font-size:11px}.comment-cancel-button{color:#4b5563;background:#f3f4f6}.comment-save-button{color:#fff;background:#2563eb}.comment-create-form{border-top:1px solid #e5e7eb;margin-top:22px;padding-top:20px}.comment-create-form label{color:#111827;margin-bottom:8px;font-size:14px;font-weight:800;display:block}.comment-create-form textarea{min-height:120px}.comment-form-footer{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:12px;display:flex}.comment-form-info{gap:4px;display:grid}.comment-form-info span{color:#6b7280;font-size:12px;font-weight:800}.comment-form-info small{color:#9ca3af}.comment-submit-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:11px;flex:none;padding:11px 16px;font-weight:900}.comment-submit-button:hover:not(:disabled),.comment-save-button:hover:not(:disabled){background:#1d4ed8}.comment-edit-button:hover:not(:disabled){background:#c7d2fe}.comment-delete-button:hover:not(:disabled){background:#fecaca}.comment-cancel-button:hover:not(:disabled){background:#e5e7eb}.comment-submit-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=700px){.comments-card{padding:18px}.comments-header{flex-direction:column}.comments-count{align-self:flex-start}.comment-item{grid-template-columns:36px minmax(0,1fr);gap:9px}.comment-avatar{width:36px;height:36px;font-size:11px}.comment-main{padding:12px}.comment-top{flex-direction:column;gap:5px}.comment-bottom,.comment-edit-footer,.comment-form-footer{flex-direction:column;align-items:flex-start}.comment-actions,.comment-edit-actions,.comment-actions button,.comment-edit-actions button,.comment-submit-button{width:100%}.comment-submit-button{margin-top:4px}}:root{--sidebar-width:276px;--sidebar-background:#0f172a;--sidebar-background-soft:#111827;--sidebar-panel:#ffffff12;--sidebar-border:#ffffff1a;--sidebar-text:#f9fafb;--sidebar-muted:#9ca3af;--menu-active:#2563eb}.app-layout{background:#f4f6f8;min-height:100vh;display:flex}.sidebar{z-index:1100;flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:radial-gradient(circle at 10% 0%, #2563eb3d, transparent 34%), linear-gradient(180deg, var(--sidebar-background-soft) 0%, var(--sidebar-background) 100%);height:100vh;color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;padding:22px 18px;transition:transform .24s,width .24s,flex-basis .24s,padding .24s;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:12px 0 35px #0f172a14}.sidebar.sidebar-hidden-desktop{border-right:0;flex-basis:0;width:0;min-width:0;padding-left:0;padding-right:0;overflow:hidden;transform:translate(-100%)}.sidebar.sidebar-hidden-desktop>*{opacity:0;pointer-events:none}.sidebar-header{justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-bottom:20px;display:flex}.sidebar-brand{align-items:center;gap:12px;min-width:0;display:flex}.sidebar-logo{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:17px;font-weight:900;display:grid;box-shadow:0 10px 24px #2563eb4d}.sidebar-brand-text{min-width:0}.sidebar-brand-text strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.2;display:block;overflow:hidden}.sidebar-brand-text span{color:var(--sidebar-muted);letter-spacing:.3px;margin-top:3px;font-size:11px;display:block}.sidebar .sidebar-close-button{border:1px solid var(--sidebar-border);background:var(--sidebar-panel);color:#fff;text-align:center;cursor:pointer;border-radius:8px;flex:0 0 30px;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;margin:0;padding:0;font-size:20px;line-height:1;display:grid}.sidebar .sidebar-close-button:hover{background:#ffffff24}.user-box{border:1px solid var(--sidebar-border);background:var(--sidebar-panel);border-radius:15px;align-items:center;gap:11px;margin-bottom:22px;padding:13px;display:flex}.user-avatar{color:#3730a3;background:#e0e7ff;border-radius:50%;flex:none;place-items:center;width:39px;height:39px;font-size:12px;font-weight:900;display:grid}.user-box-content{min-width:0}.user-box strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.user-box span{color:var(--sidebar-muted);margin-top:4px;font-size:11px;display:block}.sidebar-nav{gap:6px;display:grid}.sidebar-section-label{color:#6b7280;letter-spacing:1px;text-transform:uppercase;margin:5px 10px 8px;font-size:10px;font-weight:900}.sidebar-link{color:#d1d5db;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:46px;padding:11px 13px;font-size:14px;font-weight:700;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s;display:flex}.sidebar-link:hover{border-color:var(--sidebar-border);color:#fff;background:#ffffff12;transform:translate(2px)}.sidebar-link.active{color:#fff;background:linear-gradient(90deg,#2563ebf2,#3b82f6b8);border-color:#60a5fa52;box-shadow:0 9px 20px #2563eb38}.sidebar-link-icon{flex:none;place-items:center;width:23px;font-size:16px;display:grid}.sidebar-link-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer{margin-top:auto;padding-top:22px}.sidebar .logout-button{color:#fecaca;text-align:left;cursor:pointer;background:#7f1d1d5c;border:1px solid #f871712e;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:46px;margin:0;padding:11px 13px;font-weight:800;display:flex}.sidebar .logout-button:hover{color:#fff;background:#b91c1c94}.content{flex:1;min-width:0;padding:0 34px 34px}.topbar{z-index:900;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f6f8eb;justify-content:flex-end;align-items:center;gap:12px;min-height:74px;margin-bottom:22px;padding:14px 0;display:flex;position:sticky;top:0}.desktop-menu-open-button,.mobile-menu-button{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;place-items:center;width:44px;height:44px;margin-right:auto;padding:0;font-size:21px;box-shadow:0 8px 20px #0f172a0f}.desktop-menu-open-button{display:grid}.desktop-menu-open-button.hidden,.mobile-menu-button,.sidebar-overlay{display:none}@media (width<=900px){body.sidebar-open{overflow:hidden}.app-layout{display:block}.sidebar,.sidebar.sidebar-hidden-desktop{border-right:1px solid var(--sidebar-border);width:min(86vw,300px);min-width:0;height:100dvh;padding:22px 18px;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.sidebar-open,.sidebar.sidebar-hidden-desktop.sidebar-open{transform:translate(0)}.sidebar.sidebar-hidden-desktop>*{opacity:1;pointer-events:auto}.content{width:100%;padding:0 18px 28px}.topbar{min-height:68px;margin-bottom:16px}.desktop-menu-open-button{display:none}.mobile-menu-button{display:grid}.sidebar-overlay{z-index:1050;opacity:0;pointer-events:none;background:#0f172a8c;border:0;transition:opacity .24s;display:block;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}}@media (width<=520px){.content{padding-left:12px;padding-right:12px}.topbar{padding-top:10px}.notification-menu{width:auto;max-height:calc(100dvh - 82px);position:fixed;top:66px;left:12px;right:12px}}.desktop-sidebar-close-button,.mobile-sidebar-close-button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;margin:0;padding:0;font-size:18px;line-height:1}.desktop-sidebar-close-button{display:grid}.mobile-sidebar-close-button{display:none}.desktop-sidebar-open-button{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;place-items:center;width:44px;height:44px;margin-right:auto;padding:0;font-size:21px;display:none;box-shadow:0 8px 20px #0f172a0f}@media (width>=901px){.app-layout.desktop-menu-is-closed .sidebar{display:none!important}.app-layout.desktop-menu-is-closed .content{flex:100%!important;width:100%!important}.app-layout.desktop-menu-is-closed .desktop-sidebar-open-button{display:grid!important}.app-layout.desktop-menu-is-open .desktop-sidebar-open-button{display:none!important}}@media (width<=900px){.desktop-sidebar-close-button,.desktop-sidebar-open-button{display:none!important}.mobile-sidebar-close-button{display:grid}.app-layout.desktop-menu-is-closed .sidebar,.app-layout.desktop-menu-is-open .sidebar{display:flex!important}}.dashboard-section-header h2,.admin-task-list-header h2{margin:0}.dashboard-section-header p,.admin-task-list-header p{color:#6b7280;margin:7px 0 0}.dashboard-tabs{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dashboard-tab{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:9px;padding:11px 15px;font-weight:800;display:inline-flex}.dashboard-tab.active-tab{color:#fff;background:#2563eb;border-color:#2563eb}.tab-count{background:#ffffff2e;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;display:inline-grid}.dashboard-filter-section{margin-top:18px}.dashboard-filter-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-toggle-button,.scope-button,.clear-filter-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:11px;padding:10px 14px;font-weight:800}.filter-toggle-button{align-items:center;gap:8px;display:inline-flex}.filter-toggle-active,.scope-button-active{color:#fff;background:#2563eb;border-color:#2563eb}.task-scope-buttons{flex-wrap:wrap;gap:8px;display:flex}.filter-result-count{color:#6b7280;margin-left:auto;font-size:13px;font-weight:700}.dashboard-filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(160px,1fr)) auto;gap:12px;margin-top:15px;padding:16px;display:grid}.dashboard-filter-panel input,.dashboard-filter-panel select{border:1px solid #d1d5db;border-radius:11px;width:100%;height:44px;padding:10px 12px}.clear-filter-button{background:#f3f4f6}.user-task-list{gap:14px;margin-top:20px;display:grid}.user-task-item{background:#fff;border:1px solid #e5e7eb;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px 18px 24px;display:flex;position:relative;box-shadow:0 12px 30px #0f172a0d}.user-task-item:before{content:"";width:6px;position:absolute;top:0;bottom:0;left:0}.user-task-priority-low:before{background:#22c55e}.user-task-priority-normal:before{background:#3b82f6}.user-task-priority-high:before{background:#ef4444}.user-task-main{gap:6px;display:grid}.user-task-priority-label{color:#6b7280;text-transform:uppercase;font-size:11px;font-weight:800}.user-task-title{font-size:16px;font-weight:800}.user-task-buttons{align-items:center;gap:10px;display:flex}.complete-task-button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;padding:10px 16px;font-weight:800}.complete-task-button:hover{background:#15803d}.user-task-state{background:#f3f4f6;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.user-task-state-approved{color:#166534;background:#dcfce7}.user-task-state-waiting_approval{color:#92400e;background:#fef3c7}.user-task-state-missed{color:#991b1b;background:#fee2e2}.user-task-missed{background:#fff7f7;border-color:#fecaca}.missed-row,.task-row-missed{background:#fff1f2;border-left:5px solid #991b1b}.missed-warning-box{color:#9f1239;background:#fff1f2;border-radius:16px;margin-top:14px;padding:16px;font-weight:800}.priority-badge,.task-status{border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.task-status-missed{color:#991b1b;background:#fee2e2}.dashboard-stats-below-table{margin-top:24px}.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.dashboard-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px}.stat-card-top{justify-content:space-between;display:flex}.stat-card-content{gap:8px;display:grid}.stat-card-label{color:#6b7280;font-size:13px}.stat-card-value{font-size:30px}.stat-card-icon{background:#f3f4f6;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.stat-card-description{color:#9ca3af;margin-top:12px;font-size:12px}.task-form-new{grid-template-columns:repeat(3,1fr);align-items:start}.task-form-field{gap:8px;display:grid}.task-form-field>span{font-size:13px;font-weight:700}.task-form-field textarea{resize:vertical;width:100%;min-height:120px;font:inherit;border:1px solid #d1d5db;border-radius:12px;padding:12px}.task-description-field{grid-column:span 2}.task-form-submit-area{align-items:end;display:flex}.task-form-submit-area button{height:46px;padding:0 20px}.admin-task-list-header{justify-content:space-between;align-items:center;margin-top:30px;display:flex}.report-missed-card{background:#fff7f7;border-color:#fecaca}.missed-count{color:#991b1b;background:#fee2e2}@media (width<=1100px){.dashboard-filter-panel,.dashboard-stats,.task-form-new{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.dashboard-filter-toolbar,.admin-task-list-header,.user-task-item{flex-direction:column;align-items:stretch}.task-scope-buttons,.user-task-buttons{width:100%}.dashboard-filter-panel,.dashboard-stats,.task-form-new{grid-template-columns:1fr}.task-description-field{grid-column:auto}.user-task-buttons{grid-template-columns:repeat(2,1fr);display:grid}.filter-result-count{margin-left:0}}.group-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 16px 40px #0f172a0f}.group-form-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.group-form-header h2{color:#111827;margin:0;font-size:21px}.group-form-header p{color:#6b7280;margin:7px 0 0;font-size:13px;line-height:1.6}.group-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.group-form-field{gap:8px;display:grid}.group-form-field>span{color:#374151;font-size:13px;font-weight:800}.group-form-field input,.group-form-field select,.group-form-field textarea{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:12px;outline:none;padding:12px 13px;transition:border-color .18s,box-shadow .18s}.group-form-field input,.group-form-field select{min-height:46px}.group-form-field textarea{resize:vertical;min-height:105px}.group-form-field input:focus,.group-form-field select:focus,.group-form-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.group-description-field{grid-column:1/-1}.group-member-selector{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-top:22px;padding:18px}.group-member-selector-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.group-member-selector-header h3{color:#111827;margin:0;font-size:16px}.group-member-selector-header p{color:#6b7280;margin:5px 0 0;font-size:12px}.group-member-selector-header>span{color:#1d4ed8;background:#dbeafe;border-radius:999px;flex:none;padding:7px 11px;font-size:12px;font-weight:800}.group-user-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.group-user-option{cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:14px;align-items:center;gap:11px;min-width:0;padding:13px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.group-user-option:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a0d}.group-user-option.selected{background:#eff6ff;border-color:#2563eb}.group-user-option.leader-option{background:#fffbeb;border-color:#f59e0b}.group-user-option input{accent-color:#2563eb;flex:none;width:17px;height:17px}.group-user-option>div{gap:3px;min-width:0;display:grid}.group-user-option strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.group-user-option span{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.group-user-option em{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:10px;font-style:normal;font-weight:900}.group-form-actions{justify-content:flex-end;margin-top:20px;display:flex}.group-form-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;min-height:46px;padding:0 20px;font-weight:900;transition:background .18s,transform .18s}.group-form-actions button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.group-form-actions button:disabled{opacity:.6;cursor:not-allowed}.groups-list-section{margin-top:30px}.groups-list-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.groups-list-header h2{color:#111827;margin:0;font-size:21px}.groups-list-header p{color:#6b7280;margin:6px 0 0;font-size:13px}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.group-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;min-width:0;padding:20px;box-shadow:0 14px 34px #0f172a0d}.group-card-passive{opacity:.72;background:#f9fafb}.group-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.group-card-header>div:first-child{min-width:0}.group-card-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.group-card-title-row h3{overflow-wrap:anywhere;color:#111827;margin:0;font-size:18px}.group-card-header p{color:#6b7280;margin:8px 0 0;font-size:12px;line-height:1.6}.group-status-active,.group-status-passive{border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.group-status-active{color:#166534;background:#dcfce7}.group-status-passive{color:#4b5563;background:#e5e7eb}.group-card-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.group-card-actions button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:9px;min-height:34px;padding:7px 10px;font-size:11px;font-weight:800}.group-card-actions button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.group-card-actions .danger-light{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.group-card-actions .danger-light:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.group-card-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.group-card-summary>div{background:#f8fafc;border:1px solid #eef0f3;border-radius:13px;padding:13px}.group-card-summary span{color:#6b7280;letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.group-card-summary strong{overflow-wrap:anywhere;color:#111827;margin-top:6px;font-size:13px;display:block}.group-members-toggle{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:11px;width:100%;min-height:40px;margin-top:15px;font-weight:800}.group-members-toggle:hover{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.group-members-list{border-top:1px solid #eef0f3;gap:9px;margin-top:13px;padding-top:13px;display:grid}.group-member-row{background:#f9fafb;border:1px solid #eef0f3;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.group-member-row>div{gap:3px;min-width:0;display:grid}.group-member-row strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.group-member-row span{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.leader-badge{background:#fef3c7;border-radius:999px;flex:none;padding:6px 9px;font-weight:900;color:#92400e!important;font-size:10px!important}.remove-member-button{color:#b91c1c;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;flex:none;min-height:32px;padding:6px 9px;font-size:10px;font-weight:800}.remove-member-button:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}@media (width<=1100px){.group-user-options{grid-template-columns:repeat(2,minmax(0,1fr))}.groups-grid{grid-template-columns:1fr}}@media (width<=700px){.group-form-card{border-radius:16px;padding:17px}.group-form-header,.group-member-selector-header,.groups-list-header,.group-card-header{flex-direction:column;align-items:stretch}.group-form-grid,.group-user-options,.group-card-summary{grid-template-columns:1fr}.group-description-field{grid-column:auto}.group-member-selector-header>span{align-self:flex-start}.group-card-actions{justify-content:stretch;width:100%}.group-card-actions button{flex:1}.group-member-row{align-items:flex-start}.remove-member-button{max-width:110px}.group-form-actions button{width:100%}}.multi-task-form{background:#fff;border:1px solid #e5e7eb;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 16px 40px #0f172a0f}.multi-task-form-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.multi-task-form-header h2{color:#111827;margin:0;font-size:22px}.multi-task-form-header p{color:#6b7280;margin:7px 0 0;font-size:13px;line-height:1.6}.selected-assignee-count{color:#1d4ed8;background:#dbeafe;border-radius:999px;flex:none;padding:8px 12px;font-size:12px;font-weight:900}.multi-task-basic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.multi-task-basic-grid .task-form-field{gap:8px;min-width:0;display:grid}.multi-task-basic-grid .task-form-field>span{color:#374151;font-size:13px;font-weight:800}.multi-task-basic-grid .task-form-field input,.multi-task-basic-grid .task-form-field select,.multi-task-basic-grid .task-form-field textarea{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:12px;outline:none;padding:12px 13px;transition:border-color .18s,box-shadow .18s}.multi-task-basic-grid .task-form-field input,.multi-task-basic-grid .task-form-field select{min-height:46px}.multi-task-basic-grid .task-form-field textarea{resize:vertical;min-height:125px}.multi-task-basic-grid .task-form-field input:focus,.multi-task-basic-grid .task-form-field select:focus,.multi-task-basic-grid .task-form-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.multi-task-basic-grid .task-form-field small{color:#9ca3af;text-align:right;font-size:11px}.multi-task-basic-grid .task-description-field{grid-column:1/-1}.task-assignment-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:17px;margin-top:24px;padding:19px}.assignment-section-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.assignment-section-header h3{color:#111827;margin:0;font-size:17px}.assignment-section-header p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.assignment-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.assignment-header-actions button,.clear-selection-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:10px;min-height:36px;padding:8px 11px;font-size:11px;font-weight:800}.assignment-header-actions button:hover,.clear-selection-button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.clear-selection-button{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.clear-selection-button:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.assignment-options-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.assignment-option-card{cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:14px;align-items:flex-start;gap:11px;min-width:0;padding:14px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.assignment-option-card:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 22px #0f172a0d}.assignment-option-card.selected{background:#eff6ff;border-color:#2563eb}.assignment-option-card.included-by-group{background:#fffbeb;border-color:#f59e0b}.assignment-option-card.selected.included-by-group{background:#f5f3ff;border-color:#7c3aed}.assignment-option-card input{accent-color:#2563eb;flex:none;width:17px;height:17px;margin-top:2px}.assignment-option-content{gap:4px;min-width:0;display:grid}.assignment-option-content strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.assignment-option-content span{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.assignment-option-content small{color:#92400e;font-size:10px;font-weight:700;line-height:1.4}.group-assignment-option .assignment-option-content small{color:#6b7280}.assignment-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin-top:22px;padding:18px}.assignment-summary-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.assignment-summary-header h3{color:#1e3a8a;margin:0;font-size:16px}.assignment-summary-header p{color:#1d4ed8;margin:5px 0 0;font-size:11px}.assignment-summary-header>strong{color:#fff;background:#2563eb;border-radius:12px;place-items:center;min-width:38px;height:38px;font-size:17px;display:grid}.assignment-summary-users{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.assignment-summary-users span{color:#1e3a8a;background:#fff;border-radius:999px;align-items:center;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #2563eb14}.multi-task-submit-area{justify-content:flex-end;margin-top:22px;display:flex}.multi-task-submit-area button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;min-height:48px;padding:0 22px;font-size:13px;font-weight:900;transition:background .18s,transform .18s}.multi-task-submit-area button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.multi-task-submit-area button:disabled{opacity:.6;cursor:not-allowed}.admin-task-list-section{margin-top:32px}.multi-task-filter-panel{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(150px,1fr)) auto}.multi-task-list{gap:15px;margin-top:18px;display:grid}.multi-task-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px 20px 20px 25px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px #0f172a0d}.multi-task-card:before{content:"";width:6px;position:absolute;inset:0 auto 0 0}.multi-task-card.task-priority-low:before{background:#22c55e}.multi-task-card.task-priority-normal:before{background:#3b82f6}.multi-task-card.task-priority-high:before{background:#ef4444}.multi-task-card-main{min-width:0}.multi-task-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.multi-task-card-header>div:first-child{min-width:0}.multi-task-card-header h3{overflow-wrap:anywhere;color:#111827;margin:0;font-size:17px}.multi-task-card-header p{color:#6b7280;margin:7px 0 0;font-size:12px;line-height:1.6}.multi-task-card-badges{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.multi-task-card-meta{flex-wrap:wrap;gap:8px 14px;margin-top:13px;display:flex}.multi-task-card-meta span{color:#6b7280;font-size:11px;font-weight:700}.assignment-progress-summary{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.assignment-progress-summary span{color:#4b5563;background:#f3f4f6;border-radius:10px;padding:7px 10px;font-size:11px}.assignment-progress-summary strong{color:#111827}.task-assignee-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.task-assignee-chip{color:#374151;background:#f3f4f6;border-radius:10px;gap:2px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-grid}.task-assignee-chip small{font-size:9px;font-weight:700}.assignment-chip-in_progress,.assignment-chip-pending{color:#1d4ed8;background:#dbeafe}.assignment-chip-waiting_approval{color:#92400e;background:#fef3c7}.assignment-chip-approved{color:#166534;background:#dcfce7}.assignment-chip-rejected{color:#c2410c;background:#ffedd5}.assignment-chip-overdue{color:#9d174d;background:#fce7f3}.assignment-chip-missed{color:#991b1b;background:#fee2e2}.multi-task-card-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:9px;min-width:150px;display:flex}.multi-task-card-actions button,.multi-task-card-actions .detail-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:8px 11px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.multi-task-card-actions button:hover,.multi-task-card-actions .detail-button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.multi-task-card-actions .danger-light{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.multi-task-card-actions .danger-light:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.multi-task-card-actions .delete-icon-button{color:#b91c1c;border-color:#fecaca}@media (width<=1150px){.multi-task-basic-grid,.assignment-options-grid,.multi-task-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.multi-task-form{border-radius:16px;padding:17px}.multi-task-form-header,.assignment-section-header,.assignment-summary-header,.multi-task-card-header{flex-direction:column;align-items:stretch}.selected-assignee-count{align-self:flex-start}.multi-task-basic-grid,.assignment-options-grid,.multi-task-filter-panel{grid-template-columns:1fr}.multi-task-basic-grid .task-description-field{grid-column:auto}.assignment-header-actions{justify-content:stretch}.assignment-header-actions button,.clear-selection-button{flex:1}.multi-task-submit-area button{width:100%}.multi-task-card{grid-template-columns:1fr;padding:18px 16px 18px 21px}.multi-task-card-badges{justify-content:flex-start}.multi-task-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.multi-task-card-actions>:last-child:nth-child(odd){grid-column:1/-1}}.table-assignee-list{flex-wrap:wrap;gap:7px;min-width:180px;display:flex}.table-assignee-chip{color:#374151;background:#f3f4f6;border-radius:10px;gap:2px;max-width:190px;padding:7px 9px;display:inline-grid}.table-assignee-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.table-assignee-chip small{font-size:9px;font-weight:700}.table-assignee-chip.assignment-chip-in_progress,.table-assignee-chip.assignment-chip-pending{color:#1d4ed8;background:#dbeafe}.table-assignee-chip.assignment-chip-waiting_approval{color:#92400e;background:#fef3c7}.table-assignee-chip.assignment-chip-approved{color:#166534;background:#dcfce7}.table-assignee-chip.assignment-chip-rejected{color:#c2410c;background:#ffedd5}.table-assignee-chip.assignment-chip-overdue{color:#9d174d;background:#fce7f3}.table-assignee-chip.assignment-chip-missed{color:#991b1b;background:#fee2e2}@media (width<=700px){.table-assignee-list{min-width:150px}.table-assignee-chip{max-width:150px}}.sidebar-menu-group{gap:4px;display:grid}.sidebar-group-button{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;transition:background .18s,color .18s;display:flex}.sidebar-group-button:hover,.sidebar-group-button.active{background:#ffffff1a}.sidebar-group-button .sidebar-link-text{flex:1}.sidebar-group-arrow{flex:none;font-size:22px;line-height:1;transition:transform .2s;display:inline-block;transform:rotate(0)}.sidebar-group-arrow.open{transform:rotate(90deg)}.sidebar-submenu{border-left:1px solid #ffffff29;gap:3px;margin:0 0 5px 38px;padding-left:10px;display:grid}.sidebar-submenu-link{color:#ffffffb3;border-radius:8px;align-items:center;min-height:34px;padding:7px 10px;font-size:11px;font-weight:700;text-decoration:none;transition:background .18s,color .18s;display:flex}.sidebar-submenu-link:hover{color:#fff;background:#ffffff14}.sidebar-submenu-link.active{color:#fff;background:#ffffff24}.desktop-menu-is-closed .sidebar-submenu,.desktop-menu-is-closed .sidebar-group-arrow{display:none}.desktop-menu-is-closed .sidebar-group-button{justify-content:center}@media (width<=700px){.sidebar-submenu{margin-left:34px}.desktop-menu-is-closed .sidebar-submenu{display:grid}}.extra-time-placeholder{text-align:center;background:#f8fbff;border:1px dashed #bfdbfe;border-radius:18px;align-content:center;place-items:center;gap:10px;min-height:300px;margin-top:18px;padding:32px;display:grid}.extra-time-placeholder-icon{color:#1d4ed8;background:#dbeafe;border-radius:18px;place-items:center;width:58px;height:58px;font-size:27px;display:grid}.extra-time-placeholder h3{color:#111827;margin:5px 0 0;font-size:19px}.extra-time-placeholder p{color:#6b7280;max-width:520px;margin:0;font-size:13px;line-height:1.7}.extra-time-placeholder>span{color:#92400e;background:#fef3c7;border-radius:999px;margin-top:5px;padding:7px 11px;font-size:11px;font-weight:800}.extra-time-request-card{background:#fff;border:1px solid #dbeafe;border-radius:18px;margin-top:22px;padding:22px;box-shadow:0 14px 34px #0f172a0d}.extra-time-request-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.extra-time-request-header h2{color:#111827;margin:0;font-size:19px}.extra-time-request-header p{color:#6b7280;max-width:650px;margin:7px 0 0;font-size:12px;line-height:1.65}.extra-time-open-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:11px;flex:none;min-height:42px;padding:9px 14px;font-size:12px;font-weight:900}.extra-time-open-button:hover{background:#1d4ed8}.extra-time-pending-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:16px;padding:12px 14px;font-size:12px;font-weight:800}.extra-time-request-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;padding:18px;display:grid}.extra-time-field{gap:8px;min-width:0;display:grid}.extra-time-field>span{color:#374151;font-size:12px;font-weight:800}.extra-time-field textarea,.extra-time-field select{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:11px;outline:none;padding:11px 12px}.extra-time-field textarea:focus,.extra-time-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.extra-time-field small{color:#9ca3af;text-align:right;font-size:10px}.extra-time-reason-field{grid-column:1/-1}.extra-time-form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.extra-time-form-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;min-height:40px;padding:8px 14px;font-size:11px;font-weight:900}.extra-time-form-actions button:disabled{opacity:.6;cursor:not-allowed}.extra-time-history{border-top:1px solid #eef0f3;gap:12px;margin-top:22px;padding-top:18px;display:grid}.extra-time-history-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.extra-time-history-header h3{color:#111827;margin:0;font-size:16px}.extra-time-history-header>span{color:#4b5563;background:#f3f4f6;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.extra-time-history-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:15px}.extra-time-status-pending{background:#fffbeb;border-color:#fde68a}.extra-time-status-approved{background:#f0fdf4;border-color:#bbf7d0}.extra-time-status-rejected{background:#fff7f7;border-color:#fecaca}.extra-time-history-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.extra-time-history-top>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.extra-time-history-top strong{color:#111827;font-size:12px}.extra-time-history-top time{color:#6b7280;font-size:10px}.extra-time-history-item>p{color:#374151;margin:12px 0 0;font-size:12px;line-height:1.65}.extra-time-urgency{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.extra-time-urgency-low{color:#166534;background:#dcfce7}.extra-time-urgency-medium{color:#1d4ed8;background:#dbeafe}.extra-time-urgency-high{color:#c2410c;background:#ffedd5}.extra-time-urgency-critical{color:#991b1b;background:#fee2e2}.extra-time-history-meta{flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.extra-time-history-meta span{color:#6b7280;font-size:10px}.extra-time-history-meta strong{color:#111827}.extra-time-review-note{background:#ffffffb8;border-radius:10px;margin-top:12px;padding:11px}.extra-time-review-note strong{color:#374151;font-size:10px}.extra-time-review-note p{color:#4b5563;margin:5px 0 0;font-size:11px}.extra-time-cancel-button{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:9px;min-height:34px;margin-top:12px;padding:7px 10px;font-size:10px;font-weight:800}.detail-assignees-item{grid-column:1/-1}.detail-assignee-list{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.detail-assignee-chip{background:#f3f4f6;border-radius:9px;gap:2px;padding:7px 9px;display:inline-grid}.detail-assignee-chip strong{font-size:11px}.detail-assignee-chip small{font-size:9px}@media (width<=700px){.extra-time-request-header{flex-direction:column}.extra-time-open-button{width:100%}.extra-time-request-form{grid-template-columns:1fr}.extra-time-reason-field,.extra-time-form-actions{grid-column:auto}.extra-time-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.extra-time-history-top{flex-direction:column}}.extra-time-admin-panel{gap:20px;margin-top:18px;display:grid}.extra-time-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.extra-time-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:15px;gap:8px;padding:18px;display:grid}.extra-time-summary-card span{color:#6b7280;font-size:11px;font-weight:800}.extra-time-summary-card strong{color:#111827;font-size:25px}.extra-time-summary-pending{background:#fffbeb;border-color:#fde68a}.extra-time-summary-approved{background:#f0fdf4;border-color:#bbf7d0}.extra-time-summary-rejected{background:#fff7f7;border-color:#fecaca}.extra-time-admin-filters{background:#fff;border:1px solid #e5e7eb;border-radius:14px;grid-template-columns:minmax(220px,1fr) minmax(150px,.6fr) minmax(150px,.6fr) auto auto;gap:10px;padding:15px;display:grid}.extra-time-admin-filters input,.extra-time-admin-filters select{width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px}.extra-time-admin-list{gap:14px;display:grid}.extra-time-admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;grid-template-columns:minmax(0,1fr) 190px;gap:20px;padding:20px;display:grid;box-shadow:0 12px 28px #0f172a0d}.extra-time-admin-card-pending{border-left:5px solid #f59e0b}.extra-time-admin-card-approved{border-left:5px solid #22c55e}.extra-time-admin-card-rejected{border-left:5px solid #ef4444}.extra-time-admin-card-cancelled{border-left:5px solid #9ca3af}.extra-time-admin-card-main{min-width:0}.extra-time-admin-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.extra-time-card-labels{flex-wrap:wrap;gap:7px;margin-bottom:9px;display:flex}.extra-time-request-status{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.extra-time-request-status-pending{color:#92400e;background:#fef3c7}.extra-time-request-status-approved{color:#166534;background:#dcfce7}.extra-time-request-status-rejected{color:#991b1b;background:#fee2e2}.extra-time-request-status-cancelled{color:#4b5563;background:#f3f4f6}.extra-time-admin-card-header h3{color:#111827;margin:0;font-size:17px}.extra-time-admin-card-header p{color:#4b5563;margin:8px 0 0;font-size:12px;line-height:1.65}.extra-time-admin-card-header time{color:#6b7280;flex:none;font-size:10px}.extra-time-admin-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px;display:grid}.extra-time-admin-meta-item{background:#f8fafc;border-radius:10px;gap:4px;padding:10px;display:grid}.extra-time-admin-meta-item span{color:#6b7280;font-size:9px;font-weight:800}.extra-time-admin-meta-item strong{color:#111827;font-size:11px}.extra-time-admin-review-note{background:#f8fafc;border-radius:10px;margin:14px 0;padding:11px}.extra-time-admin-review-note strong{color:#374151;font-size:10px}.extra-time-admin-review-note p{color:#4b5563;margin:5px 0 0;font-size:11px}.extra-time-admin-card-main>.detail-button{margin-top:14px}.extra-time-admin-actions{flex-direction:column;justify-content:center;gap:9px;display:flex}.extra-time-admin-actions label{gap:6px;display:grid}.extra-time-admin-actions label span{color:#374151;font-size:10px;font-weight:800}.extra-time-admin-actions select{background:#fff;border:1px solid #d1d5db;border-radius:9px;min-height:40px;padding:8px 10px}.extra-time-admin-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;min-height:40px;padding:8px 11px;font-size:11px;font-weight:900}.extra-time-admin-actions button:disabled{opacity:.6;cursor:not-allowed}.extra-time-admin-actions .danger-light{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca}@media (width<=1000px){.extra-time-summary-grid,.extra-time-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-time-admin-card{grid-template-columns:1fr}.extra-time-admin-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.extra-time-admin-actions label{grid-column:1/-1}}@media (width<=650px){.extra-time-summary-grid,.extra-time-admin-filters,.extra-time-admin-meta-grid{grid-template-columns:1fr}.extra-time-admin-card-header{flex-direction:column}.extra-time-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-time-admin-actions label{grid-column:1/-1}}.statistics-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin-top:22px;padding:20px;box-shadow:0 14px 34px #0f172a0d}.statistics-filter-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.statistics-filter-header h2{color:#111827;margin:0;font-size:19px}.statistics-filter-header p{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.6}.statistics-quick-filters{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.statistics-quick-filters button{color:#374151;cursor:pointer;background:#f8fafc;border:1px solid #dbe2ea;border-radius:9px;min-height:35px;padding:7px 10px;font-size:10px;font-weight:800}.statistics-quick-filters button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.statistics-filter-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.statistics-filter-form label{gap:7px;min-width:0;display:grid}.statistics-filter-form label>span{color:#374151;font-size:10px;font-weight:800}.statistics-filter-form input,.statistics-filter-form select{color:#111827;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;padding:9px 11px}.statistics-filter-form input:focus,.statistics-filter-form select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.statistics-filter-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.statistics-filter-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;min-height:42px;padding:9px 15px;font-size:11px;font-weight:900}.statistics-filter-actions button:disabled{opacity:.6;cursor:not-allowed}.statistics-filter-actions .secondary-button{color:#374151;background:#fff;border:1px solid #d1d5db}.statistics-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px;display:grid}.statistics-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;gap:7px;min-height:128px;padding:18px;display:grid;box-shadow:0 10px 26px #0f172a0a}.statistics-summary-card>span{color:#6b7280;font-size:11px;font-weight:800}.statistics-summary-card>strong{color:#111827;font-size:27px}.statistics-summary-card>p{color:#9ca3af;margin:0;font-size:10px;line-height:1.5}.statistics-summary-approved{background:#f0fdf4;border-color:#bbf7d0}.statistics-summary-missed{background:#fff7f7;border-color:#fecaca}.statistics-summary-active{background:#eff6ff;border-color:#bfdbfe}.statistics-summary-waiting{background:#fffbeb;border-color:#fde68a}.statistics-summary-rejected{background:#fff7ed;border-color:#fed7aa}.statistics-summary-overdue{background:#fdf2f8;border-color:#fbcfe8}.statistics-summary-success{background:#f5f3ff;border-color:#c4b5fd}.statistics-type-section,.statistics-priority-section{margin-top:28px}.statistics-section-header{margin-bottom:14px}.statistics-section-header h2{color:#111827;margin:0;font-size:20px}.statistics-section-header p{color:#6b7280;margin:6px 0 0;font-size:11px}.statistics-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.statistics-type-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;padding:18px;position:relative;overflow:hidden;box-shadow:0 12px 28px #0f172a0d}.statistics-type-card:before{content:"";height:4px;position:absolute;inset:0 0 auto}.statistics-type-daily:before{background:#2563eb}.statistics-type-extra:before{background:#8b5cf6}.statistics-type-dated:before{background:#f59e0b}.statistics-type-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.statistics-type-card-header span{color:#9ca3af;font-size:9px;font-weight:800}.statistics-type-card-header h3{color:#111827;margin:5px 0 0;font-size:16px}.statistics-type-rate{justify-items:end;gap:2px;display:grid}.statistics-type-rate strong{color:#1d4ed8;font-size:18px}.statistics-type-rate span{color:#6b7280;font-size:8px}.statistics-type-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px;display:grid}.statistics-metric{background:#f8fafc;border-radius:10px;gap:4px;padding:9px;display:grid}.statistics-metric span{color:#6b7280;font-size:8px;font-weight:800}.statistics-metric strong{color:#111827;font-size:14px}.statistics-metric-approved{background:#f0fdf4}.statistics-metric-missed{background:#fff7f7}.statistics-metric-active{background:#eff6ff}.statistics-type-progress{background:#e5e7eb;border-radius:999px;height:7px;margin-top:14px;overflow:hidden}.statistics-type-progress-bar{border-radius:inherit;background:#2563eb;height:100%;transition:width .3s}.priority-statistics-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;gap:17px;padding:20px;display:grid;box-shadow:0 12px 28px #0f172a0d}.priority-statistics-row{gap:8px;display:grid}.priority-statistics-label{justify-content:space-between;align-items:center;gap:14px;display:flex}.priority-statistics-label strong{color:#111827;font-size:13px}.priority-statistics-track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.priority-statistics-bar{border-radius:inherit;min-width:0;height:100%;transition:width .3s}.priority-statistics-low{background:#22c55e}.priority-statistics-normal{background:#3b82f6}.priority-statistics-high{background:#ef4444}.statistics-ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.statistics-ranking-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;padding:18px;box-shadow:0 12px 28px #0f172a0d}.statistics-ranking-approved{border-top:4px solid #22c55e}.statistics-ranking-missed{border-top:4px solid #ef4444}.statistics-ranking-extra-time{border-top:4px solid #f59e0b}.statistics-ranking-header h3{color:#111827;margin:0;font-size:15px}.statistics-ranking-header p{color:#6b7280;margin:6px 0 0;font-size:10px;line-height:1.55}.statistics-ranking-list{gap:14px;margin-top:17px;display:grid}.statistics-ranking-item{gap:7px;display:grid}.statistics-ranking-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.statistics-ranking-top>div{align-items:center;gap:8px;min-width:0;display:flex}.statistics-ranking-number{color:#4b5563;background:#f3f4f6;border-radius:8px;flex:none;place-items:center;width:23px;height:23px;font-size:9px;font-weight:900;display:grid}.statistics-ranking-top strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.statistics-ranking-top>span{color:#4b5563;flex:none;font-size:9px;font-weight:800}.statistics-ranking-track{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.statistics-ranking-bar{border-radius:inherit;background:#2563eb;height:100%}.statistics-ranking-item small{color:#9ca3af;font-size:8px}@media (width<=1150px){.statistics-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-ranking-card:last-child{grid-column:1/-1}}@media (width<=850px){.statistics-filter-header{flex-direction:column}.statistics-quick-filters{justify-content:flex-start}.statistics-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-type-grid{grid-template-columns:1fr}}@media (width<=650px){.statistics-filter-form,.statistics-summary-grid,.statistics-ranking-grid{grid-template-columns:1fr}.statistics-ranking-card:last-child{grid-column:auto}.statistics-filter-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.statistics-type-card-metrics{grid-template-columns:1fr}}:root{--dashboard-bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--text-primary:#172033;--text-secondary:#667085;--text-muted:#98a2b3;--border-color:#e4e7ec;--border-soft:#eef1f5;--primary:#405cf5;--primary-dark:#3148d8;--primary-soft:#eef1ff;--success:#159455;--success-soft:#e9f8f0;--warning:#d98b16;--warning-soft:#fff6e5;--danger:#d64545;--danger-soft:#fff0f0;--purple:#7a5af8;--purple-soft:#f2efff;--shadow-sm:0 1px 3px #1018280d, 0 1px 2px #1018280a;--shadow-md:0 8px 24px #10182814}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-header{margin-bottom:24px}.page-header h1{color:var(--text-primary);letter-spacing:-.6px;margin:0;font-size:30px;font-weight:750}.page-header p{color:var(--text-secondary);margin:8px 0 0;font-size:15px;line-height:1.6}.loading-page,.loading-content{min-height:240px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:15px;display:flex}.error-box{color:#b42318;background:#fef3f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:20px;padding:14px 16px}.warning-box{color:#93370d;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;align-items:center;gap:10px;margin-bottom:22px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.warning-box:before{content:"!";color:#fff;background:var(--warning);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:inline-flex}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.dashboard-stat-card{border:1px solid var(--border-color);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.dashboard-stat-card:before{content:"";background:var(--primary);border-radius:16px 0 0 16px;width:4px;position:absolute;inset:0 auto 0 0}.dashboard-stat-card:hover{box-shadow:var(--shadow-md);border-color:#d0d5dd;transform:translateY(-2px)}.stat-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.stat-card-content{flex-direction:column;min-width:0;display:flex}.stat-card-label{color:var(--text-secondary);font-size:14px;font-weight:650}.stat-card-value{color:var(--text-primary);letter-spacing:-1px;margin-top:8px;font-size:34px;font-weight:780;line-height:1}.stat-card-icon{width:44px;height:44px;color:var(--primary);background:var(--primary-soft);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:inline-flex}.stat-card-description{color:var(--text-muted);margin:16px 0 0;font-size:12px;line-height:1.5}.stat-card-progress:before{background:#3478f6}.stat-card-progress .stat-card-icon{color:#3478f6;background:#edf4ff}.stat-card-waiting:before{background:var(--warning)}.stat-card-waiting .stat-card-icon{color:var(--warning);background:var(--warning-soft)}.stat-card-overdue:before{background:var(--danger)}.stat-card-overdue .stat-card-icon{color:var(--danger);background:var(--danger-soft)}.stat-card-approved:before{background:var(--success)}.stat-card-approved .stat-card-icon{color:var(--success);background:var(--success-soft)}.stat-card-rejected:before{background:var(--purple)}.stat-card-rejected .stat-card-icon{color:var(--purple);background:var(--purple-soft)}.dashboard-task-section{margin-top:4px}.dashboard-section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dashboard-section-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:720}.dashboard-section-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.dashboard-tabs{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:13px;gap:8px;margin-bottom:18px;padding:5px;display:flex;overflow-x:auto}.dashboard-tab{white-space:nowrap;min-height:42px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:9px;padding:9px 16px;font-size:14px;font-weight:650;transition:color .16s,background .16s,box-shadow .16s;display:inline-flex}.dashboard-tab:hover{color:var(--text-primary);background:var(--surface-soft)}.dashboard-tab.active-tab{color:#fff;background:var(--primary);box-shadow:0 4px 12px #405cf53b}.tab-count{min-width:24px;height:24px;color:var(--text-secondary);background:#edf0f5;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:750;display:inline-flex}.dashboard-tab.active-tab .tab-count{color:var(--primary);background:#fff}.bulk-action-bar{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:13px 15px;display:flex}.bulk-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.bulk-action-buttons button{color:#fff;border:0;border-radius:8px;min-height:36px;padding:7px 13px;font-size:12px;font-weight:700}.bulk-approve-button{background:var(--success)}.bulk-reject-button{background:var(--warning)}.bulk-delete-button{background:var(--danger)}.bulk-action-buttons button:hover{filter:brightness(.94)}.table-card{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;overflow:hidden}.table-wrapper{width:100%;overflow-x:auto}.table-card table{border-collapse:collapse;width:100%;min-width:980px}.table-card th{border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:var(--surface-soft);text-align:left;text-transform:uppercase;letter-spacing:.45px;padding:13px 15px;font-size:11px;font-weight:750}.table-card td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);vertical-align:middle;padding:15px;font-size:13px}.table-card tbody tr{transition:background .15s}.table-card tbody tr:hover{background:#fafbff}.table-card tbody tr:last-child td{border-bottom:0}.checkbox-column{text-align:center;width:44px}.checkbox-column input{width:16px;height:16px;accent-color:var(--primary)}.task-title-button{max-width:280px;color:var(--text-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;display:block;overflow:hidden}.task-title-button:hover{color:var(--primary)}.task-description{max-width:290px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;line-height:1.45;overflow:hidden}.overdue-row{background:#fff8f8}.overdue-row:hover{background:#fff1f1!important}.rejected-row{background:#faf8ff}.rejected-row:hover{background:#f5f0ff!important}.priority-badge{border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.priority-low{color:#475467;background:#f2f4f7}.priority-normal{color:#175cd3;background:#eff8ff}.priority-high{color:#b42318;background:#fef3f2}.task-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:720;display:inline-flex}.task-status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.task-status-pending{color:#475467;background:#f2f4f7}.task-status-in_progress{color:#175cd3;background:#eff8ff}.task-status-waiting_approval{color:#b54708;background:#fffaeb}.task-status-approved{color:#067647;background:#ecfdf3}.task-status-rejected{color:#6941c6;background:#f4f3ff}.task-status-overdue{color:#b42318;background:#fef3f2}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.row-actions button,.detail-button,.delete-icon-button{border-radius:7px;min-height:32px;padding:6px 10px;font-size:11px;font-weight:700;transition:transform .14s,filter .14s}.row-actions button{color:#fff;background:var(--primary);border:0}.row-actions button:hover,.detail-button:hover,.delete-icon-button:hover{filter:brightness(.95);transform:translateY(-1px)}.row-actions .danger-light{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca}.detail-button{color:var(--primary);background:var(--primary-soft);border:1px solid #c7d2fe}.delete-icon-button{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca}.status-pill{color:#b54708;background:#fffaeb;border-radius:999px;align-items:center;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.success{color:#067647;background:#ecfdf3}.muted-text{color:var(--text-muted);font-size:12px}.empty-text{color:var(--text-muted);text-align:center;margin:0;padding:48px 20px}.topbar{justify-content:flex-end;align-items:center;min-height:48px;margin-bottom:16px;display:flex}@media (width<=1200px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.page-header h1{font-size:25px}.dashboard-stats{grid-template-columns:1fr;gap:12px}.dashboard-stat-card{padding:17px}.stat-card-value{font-size:29px}.dashboard-section-header{align-items:flex-start}.dashboard-tabs{justify-content:flex-start}.dashboard-tab{flex:none;min-width:max-content}.bulk-action-bar{flex-direction:column;align-items:flex-start}.bulk-action-buttons{width:100%}.bulk-action-buttons button{flex:1}}@media (width<=480px){.dashboard-stat-card{border-radius:13px}.stat-card-icon{width:40px;height:40px}.bulk-action-buttons{flex-direction:column}.bulk-action-buttons button{width:100%}}.dashboard-filter-card{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:18px;padding:18px}.dashboard-filter-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.dashboard-filter-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:720}.dashboard-filter-header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.5}.filter-result-count{min-height:30px;color:var(--primary);background:var(--primary-soft);border-radius:999px;flex-shrink:0;align-items:center;padding:5px 11px;font-size:12px;font-weight:750;display:inline-flex}.dashboard-filter-grid{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;display:grid}.dashboard-filter-field{flex-direction:column;gap:7px;min-width:0;display:flex}.dashboard-filter-field label{color:var(--text-secondary);font-size:12px;font-weight:700}.dashboard-filter-field input,.dashboard-filter-field select{border:1px solid var(--border-color);width:100%;height:42px;color:var(--text-primary);background:var(--surface);border-radius:10px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s}.dashboard-filter-field input:focus,.dashboard-filter-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #405cf51f}.dashboard-filter-field select{cursor:pointer;padding:0 12px}.search-input-wrapper{position:relative}.search-input-wrapper input{padding:0 12px 0 40px}.search-input-icon{z-index:1;color:var(--text-muted);pointer-events:none;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dashboard-filter-actions{align-items:flex-end;display:flex}.clear-filter-button{white-space:nowrap;border:1px solid var(--border-color);min-height:42px;color:var(--text-secondary);background:var(--surface-soft);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:700;transition:border-color .15s,color .15s,background .15s}.clear-filter-button:hover{color:var(--primary);background:var(--primary-soft);border-color:#c7d2fe}@media (width<=1180px){.dashboard-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-filter-field{grid-column:1/-1}.dashboard-filter-actions{align-items:stretch}.clear-filter-button{width:100%}}@media (width<=650px){.dashboard-filter-header{flex-direction:column;gap:10px}.dashboard-filter-grid{grid-template-columns:1fr}.search-filter-field{grid-column:auto}.filter-result-count{align-self:flex-start}}.reports-page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.report-refresh-button{border:1px solid var(--border-color);min-height:40px;color:var(--primary);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:700}.report-refresh-button:hover{background:var(--primary-soft);border-color:#c7d2fe}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.report-summary-card{border:1px solid var(--border-color);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;align-items:flex-start;gap:14px;padding:19px;transition:transform .16s,box-shadow .16s;display:flex}.report-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-summary-icon{width:44px;height:44px;color:var(--primary);background:var(--primary-soft);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.report-summary-card>div:last-child{flex-direction:column;min-width:0;display:flex}.report-summary-card span{color:var(--text-secondary);font-size:13px;font-weight:700}.report-summary-card strong{color:var(--text-primary);margin-top:5px;font-size:29px;line-height:1}.report-summary-card small{color:var(--text-muted);margin-top:9px;font-size:11px;line-height:1.45}.report-success-card .report-summary-icon{color:var(--success);background:var(--success-soft)}.report-waiting-card .report-summary-icon{color:var(--warning);background:var(--warning-soft)}.report-danger-card .report-summary-icon{color:var(--danger);background:var(--danger-soft)}.report-rate-card .report-summary-icon{color:var(--purple);background:var(--purple-soft)}.report-overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px;margin-bottom:18px;display:grid}.report-panel{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;padding:20px}.report-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.report-panel-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:750}.report-panel-header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.task-distribution-list{flex-direction:column;gap:21px;display:flex}.task-distribution-item{position:relative}.distribution-row{justify-content:space-between;align-items:center;gap:15px;margin-bottom:9px;display:flex}.distribution-row span{color:var(--text-primary);font-size:13px;font-weight:650}.distribution-row strong{color:var(--text-primary);font-size:14px}.distribution-track{background:#eef1f5;border-radius:999px;width:100%;height:9px;overflow:hidden}.distribution-progress{border-radius:inherit;height:100%;transition:width .3s}.distribution-daily{background:var(--primary)}.distribution-extra{background:var(--purple)}.distribution-dated{background:var(--warning)}.task-distribution-item small{color:var(--text-muted);text-align:right;margin-top:7px;font-size:11px;display:block}.top-performer-panel{background:linear-gradient(145deg,#fffaebe6,#fff)}.top-performer-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:235px;display:flex}.top-performer-crown{margin-bottom:8px;font-size:29px}.report-avatar{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.report-avatar-large{border-radius:17px;width:58px;height:58px;font-size:17px}.top-performer-content h3{color:var(--text-primary);margin:12px 0 0;font-size:17px}.top-performer-rate{color:var(--success);margin-top:8px;font-size:27px}.top-performer-content p{color:var(--text-secondary);margin:8px 0 0;font-size:11px}.ranking-panel{margin-bottom:18px}.report-ranking-list{flex-direction:column;gap:9px;display:flex}.report-ranking-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:12px;grid-template-columns:32px 40px minmax(160px,1fr) minmax(130px,1.5fr) 50px;align-items:center;gap:12px;padding:11px 13px;display:grid}.ranking-first{background:#fffaeb;border-color:#fedf89}.ranking-second{border-color:#d0d5dd}.ranking-third{background:#fff8f3;border-color:#f5c2a5}.ranking-position{width:28px;height:28px;color:var(--text-secondary);background:#fff;border-radius:9px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.ranking-person{flex-direction:column;min-width:0;display:flex}.ranking-person strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ranking-person span{color:var(--text-muted);margin-top:3px;font-size:10px}.ranking-progress-track{background:#e8ebf0;border-radius:999px;height:8px;overflow:hidden}.ranking-progress{border-radius:inherit;background:var(--primary);height:100%}.ranking-rate{color:var(--text-primary);text-align:right;font-size:13px}.report-table-panel{padding:0;overflow:hidden}.report-table-panel .report-panel-header{border-bottom:1px solid var(--border-soft);margin:0;padding:20px}.report-record-count{min-height:29px;color:var(--primary);background:var(--primary-soft);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:750;display:inline-flex}.report-table{border-collapse:collapse;width:100%;min-width:1150px}.report-table th{border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:var(--surface-soft);text-align:left;text-transform:uppercase;letter-spacing:.4px;padding:12px 14px;font-size:10px;font-weight:750}.report-table td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);vertical-align:middle;padding:14px;font-size:12px}.report-table tbody tr:last-child td{border-bottom:0}.report-table tbody tr:hover{background:#fafbff}.table-ranking-number{width:27px;height:27px;color:var(--text-secondary);background:var(--surface-soft);border-radius:8px;justify-content:center;align-items:center;font-size:11px;font-weight:750;display:inline-flex}.report-person-cell{align-items:center;gap:10px;min-width:170px;display:flex}.report-person-cell>div:last-child{flex-direction:column;min-width:0;display:flex}.report-person-cell strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-person-cell span{color:var(--text-muted);margin-top:3px;font-size:10px}.report-status-count{min-width:27px;height:27px;color:var(--text-secondary);background:var(--surface-soft);border-radius:8px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:750;display:inline-flex}.waiting-count{color:#b54708;background:#fffaeb}.approved-count{color:#067647;background:#ecfdf3}.rejected-count{color:#6941c6;background:#f4f3ff}.overdue-count{color:#b42318;background:#fef3f2}.success-rate-cell{width:105px}.success-rate-header{justify-content:flex-end;margin-bottom:6px;display:flex}.success-rate-header strong{color:var(--text-primary);font-size:11px}.success-rate-track{background:#e8ebf0;border-radius:999px;height:7px;overflow:hidden}.success-rate-progress{border-radius:inherit;height:100%}.success-high{background:var(--success)}.success-medium{background:var(--warning)}.success-low{background:var(--danger)}.report-empty-state{color:var(--text-muted);text-align:center;margin:0;padding:38px 15px;font-size:12px}@media (width<=1180px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-overview-grid{grid-template-columns:1fr}}@media (width<=760px){.reports-page-header{flex-direction:column}.report-refresh-button{width:100%}.report-summary-grid{grid-template-columns:1fr;gap:11px}.report-ranking-item{grid-template-columns:30px 38px minmax(120px,1fr) 45px}.ranking-progress-area{display:none}}@media (width<=480px){.report-panel{padding:16px}.report-ranking-item{grid-template-columns:28px minmax(110px,1fr) 45px}.report-ranking-item .report-avatar{display:none}}html,body,#root{width:100%;min-height:100%}body{overflow-x:hidden}.app-layout{width:100%;min-height:100vh}.content{min-width:0;overflow-x:hidden}.content>*,img,video,canvas,svg,input,select,textarea,button{max-width:100%}textarea{resize:vertical}.panel-form,.task-form{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:22px;padding:20px;display:grid}.panel-form input,.panel-form select,.panel-form textarea,.task-form input,.task-form select,.task-form textarea{border:1px solid var(--border-color);width:100%;min-width:0;min-height:44px;color:var(--text-primary);background:var(--surface);border-radius:10px;outline:none;padding:10px 13px;font-size:13px;transition:border-color .15s,box-shadow .15s}.panel-form textarea,.task-form textarea{min-height:110px}.panel-form input:focus,.panel-form select:focus,.panel-form textarea:focus,.task-form input:focus,.task-form select:focus,.task-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #405cf51f}.panel-form button,.task-form button{color:#fff;background:var(--primary);border:0;border-radius:10px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:750}.panel-form button:hover,.task-form button:hover{background:var(--primary-dark)}.panel-form button:disabled,.task-form button:disabled{cursor:not-allowed;opacity:.6}.success-box{color:#067647;background:#ecfdf3;border:1px solid #a6f4c5;border-radius:12px;margin-bottom:20px;padding:14px 16px;font-size:13px;font-weight:650}.user-role-badge{border-radius:999px;align-items:center;min-height:27px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.user-role-user{color:#175cd3;background:#eff8ff}.user-role-admin{color:#6941c6;background:#f4f3ff}.user-role-super_admin{color:#b54708;background:#fffaeb}.user-status-badge{border-radius:999px;align-items:center;min-height:27px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.user-status-active{color:#067647;background:#ecfdf3}.user-status-passive{color:#b42318;background:#fef3f2}.task-sections{flex-direction:column;gap:13px;display:flex}.task-row{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px;display:flex}.task-row>div:first-child{flex:1;min-width:0}.task-row h3{color:var(--text-primary);margin:0;font-size:16px}.task-row p{color:var(--text-secondary);overflow-wrap:anywhere;margin:7px 0;font-size:13px;line-height:1.6}.task-row small{color:var(--text-muted);font-size:11px}.task-row-overdue{background:#fff8f8;border-color:#fecaca}.task-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.task-actions button{color:#fff;background:var(--primary);border:0;border-radius:8px;min-height:35px;padding:7px 11px;font-size:11px;font-weight:700}.detail-page-header{align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.detail-page-header>div{min-width:0}.detail-page-header h1{color:var(--text-primary);letter-spacing:-.5px;overflow-wrap:anywhere;margin:0;font-size:29px}.detail-page-header p{color:var(--text-secondary);overflow-wrap:anywhere;margin:8px 0 0;line-height:1.6}.back-button,.secondary-button{border:1px solid var(--border-color);min-height:39px;color:var(--text-secondary);background:var(--surface);border-radius:9px;flex-shrink:0;padding:8px 13px;font-size:12px;font-weight:700}.task-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;display:grid}.detail-card{border:1px solid var(--border-color);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;padding:20px}.detail-card h2{color:var(--text-primary);margin:0;font-size:18px}.detail-card-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:13px;display:flex}.detail-item span{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.detail-item strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:13px}.detail-actions{margin-top:18px}.task-timeline{flex-direction:column;display:flex}.timeline-item{grid-template-columns:20px minmax(0,1fr);gap:10px;padding-bottom:20px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--border-color);width:2px;position:absolute;top:14px;bottom:0;left:5px}.timeline-item:last-child:before{display:none}.timeline-dot{z-index:1;border:3px solid var(--primary-soft);background:var(--primary);border-radius:50%;width:12px;height:12px;margin-top:5px;position:relative}.timeline-content{min-width:0;padding-bottom:3px}.timeline-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.timeline-top strong{color:var(--text-primary);font-size:13px}.timeline-top time{color:var(--text-muted);flex-shrink:0;font-size:10px}.timeline-content p{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.timeline-note{color:var(--text-secondary);background:var(--surface-soft);overflow-wrap:anywhere;border-radius:9px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.55}.calendar-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}.calendar-card,.calendar-detail-card{border:1px solid var(--border-color);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px}.calendar-card{overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:15px;padding:18px;display:flex}.calendar-toolbar h2{color:var(--text-primary);margin:0;font-size:18px}.calendar-toolbar-actions{gap:7px;display:flex}.calendar-toolbar-actions button{border:1px solid var(--border-color);min-width:38px;min-height:36px;color:var(--text-secondary);background:var(--surface);border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700}.calendar-weekdays,.calendar-grid{min-width:700px}.calendar-weekdays{border-bottom:1px solid var(--border-soft);background:var(--surface-soft);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays div{color:var(--text-secondary);text-align:center;padding:10px 8px;font-size:11px;font-weight:750}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{border:0;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);min-width:0;min-height:112px;color:var(--text-primary);background:var(--surface);text-align:left;padding:8px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#fafbff}.calendar-day-number{border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:750;display:inline-flex}.calendar-day-muted{color:var(--text-muted);background:#fbfcfd}.calendar-day-selected{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-today .calendar-day-number{color:#fff;background:var(--primary)}.calendar-day-overdue{background:#fff8f8}.calendar-day-tasks{flex-direction:column;gap:4px;min-width:0;margin-top:7px;display:flex}.calendar-task-dot{color:#175cd3;text-overflow:ellipsis;white-space:nowrap;background:#eff8ff;border-radius:6px;width:100%;padding:4px 6px;font-size:9px;font-weight:700;display:block;overflow:hidden}.calendar-task-overdue{color:#b42318;background:#fef3f2}.calendar-task-approved{color:#067647;background:#ecfdf3}.calendar-task-rejected{color:#6941c6;background:#f4f3ff}.calendar-more{color:var(--text-muted);font-size:9px}.calendar-side-panel{flex-direction:column;gap:16px;min-width:0;display:flex}.calendar-detail-card{padding:18px}.calendar-detail-card h2{color:var(--text-primary);margin:0;font-size:17px}.calendar-panel-description{color:var(--text-secondary);margin:6px 0 16px;font-size:11px}.calendar-task-list,.calendar-routine-list{flex-direction:column;gap:10px;display:flex}.calendar-task-item,.calendar-routine-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;min-width:0;padding:12px}.calendar-task-item-overdue{background:#fff8f8;border-color:#fecaca}.calendar-task-item-rejected{background:#faf8ff;border-color:#ddd6fe}.calendar-task-item-top,.calendar-routine-item{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendar-task-item-top strong,.calendar-routine-item strong{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-size:12px}.calendar-task-item p{color:var(--text-secondary);overflow-wrap:anywhere;margin:8px 0;font-size:11px;line-height:1.5}.calendar-task-meta{color:var(--text-muted);justify-content:space-between;gap:9px;font-size:9px;display:flex}.calendar-routine-item>div{flex-direction:column;gap:4px;min-width:0;display:flex}.calendar-routine-item>div span{color:var(--text-muted);font-size:10px}.attachment-card{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;margin-top:18px;padding:18px}.attachment-upload-form{align-items:center;gap:10px;margin-bottom:15px;display:flex}.attachment-upload-form input[type=file]{border:1px dashed var(--border-color);background:var(--surface-soft);border-radius:9px;flex:1;min-width:0;padding:9px}.attachment-upload-form button{color:#fff;background:var(--primary);border:0;border-radius:9px;flex-shrink:0;min-height:40px;padding:8px 13px;font-size:12px;font-weight:700}.attachment-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.attachment-item-info{flex-direction:column;gap:3px;min-width:0;display:flex}@media (width<=1100px){.panel-form,.task-form{grid-template-columns:repeat(2,minmax(0,1fr))}.task-detail-grid,.calendar-layout{grid-template-columns:1fr}.calendar-card{overflow-x:auto}.calendar-side-panel{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=760px){.content{padding-left:14px;padding-right:14px}.page-header{margin-bottom:18px}.page-header h1,.detail-page-header h1{font-size:24px}.page-header p{font-size:13px}.topbar{min-height:42px;margin-bottom:10px}.panel-form,.task-form{border-radius:13px;grid-template-columns:1fr;gap:11px;padding:15px}.panel-form button,.task-form button{width:100%}.table-card{border-radius:13px;overflow-x:auto}.table-card table{min-width:760px}.table-card th{padding:11px 12px}.table-card td{padding:12px}.task-row{flex-direction:column;gap:14px;padding:15px}.task-actions{width:100%}.task-actions button{flex:1}.detail-page-header{flex-direction:column;gap:12px}.back-button{width:100%}.detail-card{border-radius:13px;padding:15px}.detail-card-header{flex-direction:column}.detail-info-grid{grid-template-columns:1fr}.timeline-top{flex-direction:column;gap:4px}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-toolbar-actions{width:100%}.calendar-toolbar-actions button{flex:1}.calendar-card{width:100%;overflow-x:auto}.calendar-side-panel{display:flex}.calendar-task-meta,.attachment-header{flex-direction:column}.attachment-upload-form{flex-direction:column;align-items:stretch}.attachment-upload-form button{width:100%}.attachment-item{flex-direction:column;align-items:flex-start}.attachment-item-actions{width:100%}.attachment-item-actions button,.attachment-item-actions a{flex:1}}@media (width<=480px){.content{padding-left:10px;padding-right:10px}.page-header h1,.detail-page-header h1{font-size:22px}.dashboard-filter-card,.report-panel,.detail-card,.calendar-detail-card,.attachment-card{border-radius:12px}.task-actions{flex-direction:column}.task-actions button{width:100%}.report-panel-header{flex-direction:column}.report-record-count{align-self:flex-start}.calendar-day{min-height:95px}}.attachment-card{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;margin-top:20px;padding:20px}.attachment-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.attachment-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:750}.attachment-header p{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.attachment-count{min-height:30px;color:var(--primary);background:var(--primary-soft);border-radius:999px;flex-shrink:0;align-items:center;padding:5px 11px;font-size:11px;font-weight:750;display:inline-flex}.attachment-upload-section{flex-direction:column;gap:13px;margin-bottom:20px;display:flex}.attachment-hidden-input{display:none}.attachment-drop-zone{border:2px dashed var(--border-color);min-height:185px;color:var(--text-secondary);background:var(--surface-soft);text-align:center;cursor:pointer;border-radius:14px;outline:none;flex-direction:column;justify-content:center;align-items:center;padding:24px;transition:border-color .16s,background .16s,transform .16s;display:flex}.attachment-drop-zone:hover,.attachment-drop-zone:focus{border-color:var(--primary);background:var(--primary-soft)}.attachment-drop-zone-active{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.005)}.attachment-drop-icon{width:46px;height:46px;color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;font-size:23px;font-weight:800;display:inline-flex}.attachment-drop-zone strong{color:var(--text-primary);font-size:14px}.attachment-drop-zone span{margin-top:5px;font-size:12px}.attachment-drop-zone small{color:var(--text-muted);margin-top:10px;font-size:10px}.selected-file-card{background:#f8f9ff;border:1px solid #c7d2fe;border-radius:11px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.attachment-file-icon{width:44px;height:44px;color:var(--primary);background:var(--primary-soft);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:850;display:inline-flex}.selected-file-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.selected-file-info strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.selected-file-info span{color:var(--text-muted);font-size:10px}.attachment-remove-selection{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca;border-radius:8px;flex-shrink:0;padding:7px 10px;font-size:10px;font-weight:700}.upload-progress-area{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;padding:12px}.upload-progress-header{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.upload-progress-header strong{color:var(--primary)}.upload-progress-track{background:#e4e7ec;border-radius:999px;height:8px;overflow:hidden}.upload-progress-bar{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s}.attachment-upload-button{color:#fff;background:var(--primary);border:0;border-radius:9px;align-self:flex-end;min-height:42px;padding:8px 18px;font-size:12px;font-weight:750}.attachment-upload-button:hover:not(:disabled){background:var(--primary-dark)}.attachment-upload-button:disabled{cursor:not-allowed;opacity:.55}.attachment-list{flex-direction:column;gap:9px;display:flex}.attachment-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:11px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.attachment-item-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.attachment-item-info strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attachment-item-info span{color:var(--text-secondary);font-size:10px}.attachment-item-info small{color:var(--text-muted);font-size:9px}.attachment-item-actions{flex-shrink:0;gap:7px;display:flex}.attachment-item-actions button{border-radius:8px;min-height:34px;padding:6px 11px;font-size:10px;font-weight:700}.attachment-download-button{color:var(--primary);background:var(--primary-soft);border:1px solid #c7d2fe}.attachment-delete-button{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca}.attachment-item-actions button:disabled{cursor:not-allowed;opacity:.55}.attachment-empty-state{border:1px dashed var(--border-color);min-height:170px;color:var(--text-muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex}.attachment-empty-state>div{width:46px;height:46px;color:var(--primary);background:var(--primary-soft);border-radius:13px;justify-content:center;align-items:center;margin-bottom:11px;font-size:10px;font-weight:800;display:inline-flex}.attachment-empty-state strong{color:var(--text-primary);font-size:13px}.attachment-empty-state span{margin-top:5px;font-size:11px}@media (width<=760px){.attachment-card{border-radius:13px;padding:15px}.attachment-header{flex-direction:column}.attachment-count{align-self:flex-start}.attachment-drop-zone{min-height:160px;padding:19px 14px}.attachment-upload-button{align-self:stretch;width:100%}.attachment-item{flex-wrap:wrap;align-items:flex-start}.attachment-item-info{width:calc(100% - 56px)}.attachment-item-actions{width:100%;margin-top:4px}.attachment-item-actions button{flex:1}}@media (width<=480px){.selected-file-card{flex-wrap:wrap;align-items:flex-start}.selected-file-info{width:calc(100% - 56px)}.attachment-remove-selection{width:100%}}.performance-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin-top:22px;padding:20px;box-shadow:0 14px 34px #0f172a0d}.performance-filter-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.performance-filter-header h2{color:#111827;margin:0;font-size:19px}.performance-filter-header p{color:#6b7280;margin:6px 0 0;font-size:12px;line-height:1.6}.performance-quick-filters{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.performance-quick-filters button{color:#374151;cursor:pointer;background:#f8fafc;border:1px solid #dbe2ea;border-radius:9px;min-height:35px;padding:7px 10px;font-size:10px;font-weight:800}.performance-quick-filters button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.performance-filter-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.performance-filter-form label{gap:7px;min-width:0;display:grid}.performance-filter-form label>span{color:#374151;font-size:10px;font-weight:800}.performance-filter-form input,.performance-filter-form select{color:#111827;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;padding:9px 11px}.performance-filter-form input:focus,.performance-filter-form select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.performance-filter-actions{gap:8px;display:flex}.performance-filter-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;min-height:42px;padding:9px 14px;font-size:11px;font-weight:900}.performance-filter-actions button:disabled{opacity:.6;cursor:not-allowed}.performance-filter-actions .secondary-button{color:#374151;background:#fff;border:1px solid #d1d5db}.performance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px;display:grid}.performance-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;gap:7px;min-height:130px;padding:18px;display:grid;box-shadow:0 10px 26px #0f172a0a}.performance-summary-card>span{color:#6b7280;font-size:11px;font-weight:800}.performance-summary-card>strong{color:#111827;font-size:27px}.performance-summary-card>p{color:#9ca3af;margin:0;font-size:10px;line-height:1.5}.performance-summary-approved{background:#f0fdf4;border-color:#bbf7d0}.performance-summary-missed{background:#fff7f7;border-color:#fecaca}.performance-summary-active{background:#eff6ff;border-color:#bfdbfe}.performance-summary-extra-time{background:#fffbeb;border-color:#fde68a}.performance-summary-success{background:#f5f3ff;border-color:#c4b5fd}.performance-personnel-section{margin-top:28px}.performance-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px;display:flex}.performance-section-header h2{color:#111827;margin:0;font-size:20px}.performance-section-header p{color:#6b7280;margin:6px 0 0;font-size:11px}.performance-section-header>span{color:#4b5563;background:#f3f4f6;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.performance-personnel-list{gap:14px;display:grid}.performance-person-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:19px;display:grid;box-shadow:0 12px 28px #0f172a0d}.performance-person-main{min-width:0}.performance-person-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.performance-person-identity{align-items:center;gap:12px;min-width:0;display:flex}.performance-person-avatar{color:#1d4ed8;background:#dbeafe;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:14px;font-weight:900;display:grid}.performance-person-identity h3{color:#111827;margin:0;font-size:16px}.performance-person-identity span{color:#6b7280;margin-top:4px;font-size:10px;display:block}.performance-rate-badge{border-radius:12px;flex:none;justify-items:center;gap:2px;min-width:84px;padding:9px 11px;display:grid}.performance-rate-badge strong{font-size:17px}.performance-rate-badge span{font-size:8px;font-weight:800}.performance-rate-excellent{color:#166534;background:#dcfce7}.performance-rate-good{color:#1d4ed8;background:#dbeafe}.performance-rate-medium{color:#92400e;background:#fef3c7}.performance-rate-low{color:#991b1b;background:#fee2e2}.performance-person-metrics,.performance-detail-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:15px;display:grid}.performance-metric-item{background:#f8fafc;border-radius:10px;gap:4px;min-width:0;padding:9px;display:grid}.performance-metric-item span{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:800;overflow:hidden}.performance-metric-item strong{color:#111827;font-size:14px}.performance-metric-approved{background:#f0fdf4}.performance-metric-missed{background:#fff7f7}.performance-metric-active{background:#eff6ff}.performance-metric-rejected{background:#fff7ed}.performance-metric-extra-time{background:#fffbeb}.performance-progress-area{margin-top:15px}.performance-progress-header{justify-content:space-between;gap:12px;margin-bottom:7px;display:flex}.performance-progress-header span,.performance-progress-header strong{color:#4b5563;font-size:9px;font-weight:800}.performance-progress-track{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.performance-progress-bar{border-radius:inherit;background:#2563eb;height:100%;transition:width .3s}.performance-person-actions{align-items:center;display:flex}.performance-person-actions button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:10px;min-width:120px;min-height:40px;padding:8px 11px;font-size:10px;font-weight:800}.performance-person-actions button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.performance-person-detail{border-top:1px solid #eef0f3;grid-column:1/-1;gap:18px;padding-top:17px;display:grid}.performance-person-detail h4{color:#111827;margin:0 0 10px;font-size:13px}.performance-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.performance-type-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:13px}.performance-type-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.performance-type-header h5{color:#111827;margin:0;font-size:11px}.performance-type-header>strong{color:#1d4ed8;font-size:13px}.performance-type-stats{gap:5px;margin-top:11px;display:grid}.performance-type-stats span{color:#6b7280;font-size:9px}.performance-type-stats strong{color:#111827}.performance-detail-metrics{margin-top:0}@media (width<=1150px){.performance-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-filter-actions{grid-column:1/-1;justify-content:flex-end}.performance-summary-grid,.performance-person-metrics,.performance-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.performance-filter-header,.performance-person-header,.performance-section-header{flex-direction:column}.performance-quick-filters{justify-content:flex-start}.performance-filter-form,.performance-summary-grid,.performance-type-grid{grid-template-columns:1fr}.performance-filter-actions{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.performance-person-card{grid-template-columns:1fr}.performance-person-actions button{width:100%}.performance-person-metrics,.performance-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
