:root{--dot-pending: #6b7280;--dot-done: #10b981;--dot-overdue: #ef4444;--dot-size: 12px;--dot-size-lg: 16px;--dot-size-xl: 20px}.dot{display:inline-block;width:var(--dot-size);height:var(--dot-size);border-radius:50%;transition:all .2s ease;cursor:pointer}.dot:hover{transform:scale(1.2);box-shadow:0 2px 8px #00000026}.dot.dot-lg{width:var(--dot-size-lg);height:var(--dot-size-lg)}.dot.dot-xl{width:var(--dot-size-xl);height:var(--dot-size-xl)}.dot-pending{background-color:var(--dot-pending)}.dot-done{background-color:var(--dot-done)}.dot-overdue{background-color:var(--dot-overdue)}.task-list .task-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;transition:background-color .15s ease}.task-list .task-item:hover{background-color:#00000005}.task-list .task-item .task-content{flex:1;min-width:0}.task-list .task-item .task-content .task-title{font-weight:500;color:#1f2937;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-list .task-item .task-content .task-meta{font-size:.75rem;color:#6b7280}.task-list .task-item .task-content .task-meta .task-due.overdue{color:var(--dot-overdue)}.minimal-layout{background:#fff;min-height:100vh}.minimal-layout .sidebar{background:#fafafa;border-right:1px solid #e5e7eb}.minimal-layout .sidebar .nav-item{color:#6b7280;padding:8px 16px;border-radius:4px;text-decoration:none;transition:all .15s ease}.minimal-layout .sidebar .nav-item:hover{background:#0000000d;color:#374151}.minimal-layout .sidebar .nav-item.active{background:#f3f4f6;color:#1f2937;font-weight:500}.minimal-layout .main-content{background:#fff}.minimal-layout .main-content .page-header{border-bottom:1px solid #e5e7eb;padding:24px 32px;background:#fff}.minimal-layout .main-content .page-header h1{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.minimal-layout .main-content .page-content{padding:32px}.dots-form .form-group{margin-bottom:20px}.dots-form .form-group label{display:block;font-weight:500;color:#374151;margin-bottom:6px;font-size:.875rem}.dots-form .form-group input[type=text],.dots-form .form-group input[type=email],.dots-form .form-group input[type=date],.dots-form .form-group textarea,.dots-form .form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .15s ease}.dots-form .form-group input[type=text]:focus,.dots-form .form-group input[type=email]:focus,.dots-form .form-group input[type=date]:focus,.dots-form .form-group textarea:focus,.dots-form .form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dots-form .form-group textarea{resize:vertical;min-height:80px}.dots-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:3px;font-size:.875rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.btn.btn-primary{background:#3b82f6;color:#fff}.btn.btn-primary:hover{background:#2563eb}.btn.btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.btn.btn-secondary:hover{background:#e5e7eb}.btn.btn-ghost{background:transparent;color:#6b7280}.btn.btn-ghost:hover{background:#f3f4f6;color:#374151}.btn.btn-sm{padding:6px 12px;font-size:.75rem}.btn.btn-action{background:#0d6efd;color:#fff;border-color:#0d6efd}.btn.btn-action:hover{background:#0b5ed7;border-color:#0a58ca}.btn.btn-action:active{background:#0a58ca;border-color:#084298}.btn.btn-navigate{background:#6c757d;color:#fff;border-color:#6c757d}.btn.btn-navigate:hover{background:#5c636a;border-color:#565e64}.btn.btn-navigate:active{background:#565e64;border-color:#51585e}.btn.btn-delete{background:#dc3545;color:#fff;border-color:#dc3545}.btn.btn-delete:hover{background:#c82333;border-color:#bd2130}.btn.btn-delete:active{background:#bd2130;border-color:#b21e2d}.btn.btn-warning{background:#ffc107;color:#212529;border-color:#ffc107}.btn.btn-warning:hover{background:#e0a800;border-color:#d39e00;color:#212529}.btn.btn-warning:active{background:#d39e00;border-color:#c69500}.btn.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn.btn-danger:hover{background:#c82333;border-color:#bd2130}.btn.btn-danger:active{background:#bd2130;border-color:#b21e2d}.btn.btn-showdetails{background:#17a2b8;color:#fff;border-color:#17a2b8}.btn.btn-showdetails:hover{background:#138496;border-color:#117a8b}.btn.btn-showdetails:active{background:#117a8b;border-color:#10707f}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.analytics-grid .stat-card{background:#fff;border:1px solid #f6f6f6;border-radius:8px;padding:20px}.analytics-grid .stat-card .stat-value{font-size:2rem;font-weight:700;color:#1f2937}.analytics-grid .stat-card .stat-label{color:#6b7280;font-size:.875rem;margin-top:4px}.loading{display:inline-block;width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.minimal-layout .sidebar{display:none}.minimal-layout .sidebar.mobile-open{display:block;position:fixed;top:0;left:0;width:250px;height:100vh;z-index:50;box-shadow:2px 0 10px #0000001a}.minimal-layout .main-content .page-header{padding:16px 20px}.minimal-layout .main-content .page-content{padding:20px}.analytics-grid{grid-template-columns:1fr}}.admin-nav{border-left:3px solid transparent;background:linear-gradient(135deg,#4f46e51a,#6366f11a)}.admin-nav:hover{border-left-color:#4f46e5;background:linear-gradient(135deg,#4f46e533,#6366f133)}.admin-nav.active{border-left-color:#4f46e5;background:linear-gradient(135deg,#4f46e526,#6366f126);color:#4f46e5;font-weight:600}.admin-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.users-table .user-row:hover{background:#f8fafc;transform:scale(1.001);box-shadow:0 2px 8px #0000000d}.users-table .action-btn:hover{transform:scale(1.1)}.plan-badge,.role-badge,.status-badge{transition:all .2s ease}.plan-badge:hover,.role-badge:hover,.status-badge:hover{transform:scale(1.05)}
