:root{--bg: #f4f6f9;--surface: #ffffff;--border: #e5e7eb;--primary: #4f46e5;--primary-light: #ede9fe;--primary-dark: #3730a3;--text: #111827;--muted: #6b7280;--muted-light: #9ca3af;--radius: 14px;--radius-sm: 8px;--shadow: 0 1px 4px rgba(0, 0, 0, .07), 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .07);--future: #16a34a;--future-bg: #f0fdf4;--future-border: #bbf7d0;--past: #6b7280;--past-bg: #f9fafb;--past-border: #e5e7eb;--urgent: #ea580c;--urgent-bg: #fff7ed;--urgent-border: #fed7aa;--today: #d97706;--today-bg: #fffbeb;--today-border: #fde68a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:1px solid transparent;transition:background .15s,box-shadow .15s,opacity .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.page-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.field input[type=text],.field input[type=date]{padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.field input[type=text]:focus,.field input[type=date]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.field .field-hint{font-size:.775rem;color:var(--muted-light)}
