:root,[data-theme=dark]{--bg:#0b120e;--surface:#17241a;--elevated:#1f3024;--border:#385343;--text-primary:#e8ebe9;--text-secondary:#9ab0a2;--text-muted:#6d8a7a;--accent:#45a670;--accent-hover:#55b57f;--accent-subtle:#153824;--accent-secondary:#c98c5a;--header-bg:rgba(11,18,14,0.85);--warning:#e3b642;--info:#55a6c4;--success:#45a670;--error:#d96a60;--btn-primary-text:#052e14;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius:8px;--radius-lg:12px;--max-width:1100px;--header-height:64px}[data-theme=light]{--bg:#f9faf7;--surface:#ffffff;--elevated:#f0f3ed;--border:#dee3dd;--text-primary:#18261c;--text-secondary:#495e50;--text-muted:#5e7066;--accent:#246b42;--accent-hover:#194f30;--accent-subtle:#e6f0eb;--accent-secondary:#975a38;--header-bg:rgba(249,250,247,0.85);--warning:#b58714;--info:#2d728f;--success:#246b42;--error:#a83c32;--btn-primary-text:#ffffff}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-inter,"Inter",-apple-system,BlinkMacSystemFont,sans-serif);line-height:1.6;min-height:100vh;transition:background-color .3s,color .3s}.main{min-height:calc(100vh - var(--header-height) - 200px)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-20) 0}.page-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--space-3);color:var(--text-primary)}.section-title{font-size:clamp(1.375rem,3vw,1.75rem);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-2);color:var(--text-primary)}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);margin-bottom:var(--space-10);max-width:640px;line-height:1.7}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.badge{display:inline-block;padding:2px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-active,.badge-done{background:rgba(76,175,80,.15);color:#66bb6a}.badge-applied,.badge-in_progress{background:rgba(33,150,243,.15);color:#42a5f5}.badge-pending,.badge-upcoming{background:rgba(255,152,0,.15);color:#ffa726}.badge-awarded{background:rgba(76,175,80,.25);color:#81c784}.badge-blocked,.badge-declined{background:rgba(244,67,54,.15);color:#ef5350}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(69,166,112,.08)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 24px;border-radius:var(--radius);font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--accent);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--accent-hover);color:var(--btn-primary-text)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover{background:var(--accent-subtle);color:var(--accent-hover)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}td,th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}td{font-size:.9rem;color:var(--text-secondary)}tr:hover td{background:var(--accent-subtle)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.section{padding:var(--space-12) 0}.container{padding:0 var(--space-4)}}@media print{body,html{background:white!important;color:#1a1a1a!important}}