:root{--primary:221 83% 53%;--primary-light:221 83% 65%;--primary-dark:221 83% 40%;--bg-color:210 40% 98%;--card-bg:0 0% 100%;--text-main:222 47% 11%;--text-muted:215 16% 47%;--border:214 32% 91%;--success:142 71% 45%;--danger:0 84% 60%;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius-lg:1rem;--radius-md:.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:hsl(var(--bg-color));color:hsl(var(--text-main));-webkit-font-smoothing:antialiased;line-height:1.5}.app-container{flex-direction:column;max-width:800px;min-height:100vh;margin:0 auto;padding:2rem 1rem;display:flex}.app-header{background:hsl(var(--card-bg));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.app-header h1{letter-spacing:-.025em;color:hsl(var(--primary-dark));font-size:1.5rem;font-weight:700}.offline-badge{background-color:hsl(var(--success) / .1);color:hsl(var(--success));border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.offline-badge.offline{background-color:hsl(var(--danger) / .1);color:hsl(var(--danger))}.nav-links{flex-wrap:wrap;gap:1rem;display:flex}.nav-link{color:hsl(var(--text-muted));border-radius:var(--radius-md);padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{background:hsl(var(--primary) / .05);color:hsl(var(--primary))}.nav-link.active{background:hsl(var(--primary));color:#fff}.card{background:hsl(var(--card-bg));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2rem}.card-title{border-bottom:1px solid hsl(var(--border));margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600}.form-group{margin-bottom:1.5rem}.form-label{color:hsl(var(--text-main));margin-bottom:.5rem;font-weight:500;display:block}.form-control{border:1px solid hsl(var(--border));border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .2);outline:none}.radio-group{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.radio-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.radio-label input[type=radio]{width:1.25rem;height:1.25rem;accent-color:hsl(var(--primary))}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:hsl(var(--primary));color:#fff}.btn-primary:hover{background:hsl(var(--primary-dark));box-shadow:var(--shadow-md)}.btn-primary:disabled{background:hsl(var(--primary-light));cursor:not-allowed}.btn-secondary{background:hsl(var(--text-main) / .05);color:hsl(var(--text-main))}.btn-secondary:hover{background:hsl(var(--text-main) / .1)}.btn-success{background:hsl(var(--success));color:#fff}.btn-success:hover{background:#1a9948}.btn-danger{background:hsl(var(--danger));color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.table-container{border:1px solid hsl(var(--border));border-radius:var(--radius-md);margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid hsl(var(--border));padding:1rem}th{background:hsl(var(--bg-color));color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}tr:last-child td{border-bottom:none}.status-badge{border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.status-completed{background:hsl(var(--success) / .1);color:hsl(var(--success))}.status-pending{color:#f59f0a;background:#f59f0a1a}
