:root{--iris-primary: #0a6de6;--iris-primary-dark: #0856b8;--iris-text: #304552;--iris-bg: #ffffff;--iris-bg-alt: #f0f2f6;--iris-border: #cfd6df;--iris-danger: #b3261e;--focus-ring: 3px solid #0a6de6;font-family:Source Sans Pro,Segoe UI,system-ui,-apple-system,Arial,sans-serif;color:var(--iris-text);background:var(--iris-bg-alt);line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}h1{font-size:1.75rem;margin:0 0 1rem}h2{font-size:1.25rem}a{color:var(--iris-primary-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring);outline-offset:2px}main:focus{outline:none}.skip-link{position:absolute;left:.5rem;top:-4rem;z-index:100;padding:.5rem 1rem;background:var(--iris-primary);color:#fff;border-radius:4px}.skip-link:focus{top:.5rem}.app-header{background:var(--iris-bg);border-bottom:1px solid var(--iris-border)}.app-header-inner{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;flex-wrap:wrap}.logo{display:block}.app-title{font-weight:600;font-size:1.125rem}.header-user{margin-left:auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-region{color:var(--iris-text)}.header-name{font-weight:600}.app-nav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0 1.5rem}.app-nav a{display:block;padding:.75rem 1rem;color:var(--iris-text);text-decoration:none;border-bottom:3px solid transparent}.app-nav a:hover{background:var(--iris-bg-alt)}.app-nav a[aria-current=page]{color:var(--iris-primary-dark);border-bottom-color:var(--iris-primary);font-weight:600}.app-main{max-width:64rem;margin:0 auto;padding:1.5rem}.center-page{display:flex;justify-content:center;padding:4rem 1.5rem}.card{background:var(--iris-bg);border:1px solid var(--iris-border);border-radius:8px;padding:1.5rem}.narrow{max-width:32rem;width:100%}.button{font:inherit;cursor:pointer;padding:.5rem 1rem;border-radius:4px;border:1px solid var(--iris-primary);background:var(--iris-primary);color:#fff}.button:hover{background:var(--iris-primary-dark)}.button-secondary{background:var(--iris-bg);color:var(--iris-primary-dark)}.button-secondary:hover{background:var(--iris-bg-alt)}.link-button{font:inherit;cursor:pointer;background:none;border:0;padding:0;color:var(--iris-primary-dark);text-decoration:underline}.region-list{list-style:none;padding:0;display:grid;gap:.75rem}.region-list .button{width:100%;text-align:left}.loading{display:flex;align-items:center;gap:.75rem}.spinner{width:1.25rem;height:1.25rem;border:3px solid var(--iris-border);border-top-color:var(--iris-primary);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
