@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";
:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-secondary:#60a5fa;--color-accent:#f97316;--color-accent-hover:#ea580c;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-success:#22c55e;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#ef4444;--color-danger-light:#fee2e2;--color-info:#3b82f6;--color-info-light:#dbeafe;--sidebar-width:260px;--sidebar-collapsed:72px;--sidebar-bg:#1e293b;--sidebar-text:#cbd5e1;--sidebar-active:#3b82f6;--sidebar-hover:#334155;--font-heading:"Poppins", sans-serif;--font-body:"Open Sans", sans-serif;--font-mono:"Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-toast:60;--bottom-nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:600;line-height:1.3}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}img{max-width:100%;height:auto;display:block}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);align-items:flex-start;gap:var(--space-4);transition:box-shadow var(--transition-base), transform var(--transition-base);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.primary{background:var(--color-primary-light);color:var(--color-primary)}.stat-icon.success{background:var(--color-success-light);color:var(--color-success)}.stat-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.stat-icon.danger{background:var(--color-danger-light);color:var(--color-danger)}.stat-icon.info{background:var(--color-info-light);color:var(--color-info)}.stat-content{flex:1;min-width:0}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.stat-value{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-text);font-weight:700;line-height:1.2}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;min-width:44px;min-height:44px;font-weight:600;line-height:1.5;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:#fff}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}.btn-secondary{color:var(--color-text);background:#e2e8f0;border-color:#0000}.btn-secondary:hover:not(:disabled){color:var(--color-text);background:#cbd5e1}.btn-outline{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-hover);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){color:#fff;background:#dc2626}.btn-ghost{color:var(--color-text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:36px}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--text-base);min-height:52px}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600;display:block}.form-label .required{color:var(--color-danger);margin-left:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:44px;line-height:1.5}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #3b82f626}.form-input::placeholder{color:var(--color-text-light)}.form-input.error,.form-select.error{border-color:var(--color-danger)}.form-error{font-size:var(--text-sm);color:var(--color-danger);margin-top:var(--space-1)}.form-textarea{resize:vertical;min-height:80px}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-full);font-weight:600;line-height:1.6;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:#16a34a}.badge-warning{background:var(--color-warning-light);color:#d97706}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.table-container{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-family:var(--font-heading);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-bg)}.modal-backdrop{z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:fadeIn var(--transition-base);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;z-index:var(--z-modal);animation:slideUp var(--transition-slow);overflow-y:auto}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg) 50%, var(--color-border) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:768px){h1{font-size:2.25rem}h2{font-size:var(--text-2xl)}}.dashboard-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}.dashboard-main{order:2}.dashboard-sidebar{order:1}@media (min-width:1024px){.dashboard-grid{grid-template-columns:1.6fr 1fr}.dashboard-main{order:1}.dashboard-sidebar{order:2}}.checklist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);gap:var(--space-2);transition:all var(--transition-base);cursor:pointer;color:inherit;flex-direction:column;display:flex;position:relative;text-decoration:none!important}.checklist-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md), 0 0 0 1px #3b82f61a;background:linear-gradient(to bottom right, var(--color-surface), #3b82f603);transform:translateY(-2px)}.checklist-card:hover .checklist-arrow{color:var(--color-primary);opacity:1;transform:translate(4px)}.checklist-arrow{transition:all var(--transition-base);color:var(--color-text-muted);opacity:.5}.checklist-empty-state{text-align:center;padding:var(--space-10) var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:linear-gradient(135deg,#22c55e05 0%,#3b82f605 100%);flex-direction:column;justify-content:center;align-items:center;display:flex}.checklist-scrollable-container{gap:var(--space-3);scrollbar-width:thin;scrollbar-color:#94a3b84d transparent;flex-direction:column;padding:6px 8px 6px 4px;display:flex;overflow-y:auto}.checklist-scrollable-container::-webkit-scrollbar{width:5px}.checklist-scrollable-container::-webkit-scrollbar-track{background:0 0}.checklist-scrollable-container::-webkit-scrollbar-thumb{border-radius:var(--radius-full);transition:background var(--transition-fast);background:#94a3b840}.checklist-scrollable-container::-webkit-scrollbar-thumb:hover{background:#94a3b873}
