:root{--color-primary:#003366;--color-white:#ffffff;--color-bg-light:#f5f7fa;--color-accent:#007a3d;--color-gov-bar:#1a1a2e;--color-text:#1a1a1a;--color-text-muted:#4a4a4a;--color-border:#d0d5dd;--color-shadow:rgba(0,0,0,0.08);--color-focus:#003366;--color-urgent:#c0392b;--font-scale:1;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 3px var(--color-shadow);--shadow-md:0 2px 8px var(--color-shadow);--shadow-lg:0 4px 16px var(--color-shadow);--max-width:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:calc(1rem * var(--font-scale));line-height:1.6;color:var(--color-text);background-color:var(--color-white);min-width:320px}h1{font-size:calc(2rem * var(--font-scale));line-height:1.2}h1,h2{font-weight:700}h2{font-size:calc(1.5rem * var(--font-scale));line-height:1.3}h3{font-size:calc(1.25rem * var(--font-scale))}h3,h4{font-weight:600;line-height:1.4}h4{font-size:calc(1.125rem * var(--font-scale))}p{font-size:calc(1rem * var(--font-scale));margin-bottom:var(--spacing-md)}small{font-size:calc(.875rem * var(--font-scale))}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}a:hover{text-decoration:none}[role=button],a,button,input[type=button],input[type=submit],select{min-height:44px;min-width:44px}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;font-size:calc(1rem * var(--font-scale))}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}img,svg{display:block;max-width:100%;height:auto}ol,ul{list-style:none}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--spacing-md)}@media (min-width:768px){[role=button],a,button,input[type=button],input[type=submit],select{min-height:unset;min-width:unset}.container{padding-inline:var(--spacing-xl)}}