:root{--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base: 1rem;--font-size-small: .875rem;--font-size-large: 1.125rem;--font-weight-normal: 400;--font-weight-semibold: 600;--color-primary: #1a73e8;--color-primary-focus: #1558b0;--color-primary-bg: #e8f0fe;--color-text: #111111;--color-text-muted: #5d5d5d;--color-success: #0d6b36;--color-error: #b00020;--color-error-bg: #fff5f5;--color-border: #999999;--color-surface: #ffffff;--color-surface-alt: #f2f2f2;--radius-sm: .25rem;--radius-md: .5rem;--border-width: 1px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.75rem;--card-max-width: 28rem;--page-min-gutter: 1rem}.pg{display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface)}.card{width:100%;max-width:var(--card-max-width);padding:var(--space-lg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-sizing:border-box}.field{margin-bottom:var(--space-md)}.ctl{width:100%;padding:calc(var(--space-sm) * 1.25);font-size:var(--font-size-base);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.ctl:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pair{display:flex;align-items:stretch;margin-top:var(--space-sm)}.btn-primary{width:100%;padding:calc(var(--space-sm) * 1.5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-primary);color:var(--color-surface);border:none;border-radius:var(--radius-sm);cursor:pointer}.btn-primary:hover,.btn-primary:focus-visible{background:var(--color-primary-focus);outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{width:100%;padding:calc(var(--space-sm) * 1.5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--color-surface-alt);outline:2px solid var(--color-primary);outline-offset:2px}.btn-toggle{margin-left:var(--space-sm);padding:calc(var(--space-sm) * 1.25);font-size:var(--font-size-small);font-weight:var(--font-weight-normal);background:var(--color-primary-bg);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.link{color:var(--color-primary);font-size:var(--font-size-small);text-decoration:underline}.link:hover{color:var(--color-primary-focus)}.is-satisfied{color:var(--color-success);font-weight:var(--font-weight-semibold)}.is-error{color:var(--color-error);font-weight:var(--font-weight-semibold)}.is-muted{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(0);overflow:hidden;white-space:nowrap}.dashboard{max-width:45rem;margin:calc(var(--space-lg) * 1.5) auto;padding:0 var(--space-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text)}.field label{display:block}.home-slogan{font-weight:var(--font-weight-normal);color:var(--color-text-muted);font-size:var(--font-size-large)}.section-subtitle{margin:0 0 var(--space-sm);font-size:var(--font-size-small);color:var(--color-text-muted)}.boot-screen{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--color-text)}.forgot-row{margin-top:var(--space-md);text-align:center;margin-bottom:0}.intro{margin:var(--space-sm) 0 var(--space-xs)}.policy-list{margin:var(--space-xs) 0 var(--space-md);padding-left:var(--space-md)}.alert-box{margin:var(--space-xs) 0;padding:var(--space-xs) 0}.missing{color:var(--color-error);margin:0}.layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border)}.brand-block{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-md) 0}.logo{width:3rem;height:3rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt)}.slogan{margin:0;font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);color:var(--color-text)}.nav-principal{border-top:var(--border-width) solid var(--color-border);padding:var(--space-sm) var(--space-md)}.nav-principal ul{list-style:none;display:flex;gap:var(--space-md);margin:0;padding:0}.nav-principal a{color:var(--color-primary);text-decoration:underline;font-weight:var(--font-weight-semibold)}.nav-principal a:hover,.nav-principal a:focus-visible{color:var(--color-primary-focus);outline:2px solid var(--color-primary);outline-offset:2px}.breadcrumb{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-small)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0}.breadcrumb a{color:var(--color-primary);text-decoration:underline}.breadcrumb a:hover{color:var(--color-primary-focus)}.layout-body{display:flex;align-items:flex-start;gap:var(--space-lg);flex:1;padding:var(--space-md) var(--space-md) var(--space-lg)}.layout h1{margin:var(--space-lg) 0 var(--space-md);font-size:1.5rem}.sidebar-left{width:16rem;flex:0 0 16rem;align-self:stretch;border-right:var(--border-width) solid var(--color-border);padding-right:var(--space-md)}.sidebar-left section h2{margin:var(--space-md) 0 var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.sidebar-left ul{list-style:none;margin:0;padding-left:0}.sidebar-left li{margin-bottom:var(--space-xs)}.sidebar-left a{color:var(--color-primary);text-decoration:underline}.sidebar-left a:hover,.sidebar-left a:focus-visible{color:var(--color-primary-focus);outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-left .nav-current,.nav-current,.nav-principal .nav-current,.breadcrumb .nav-current{font-weight:var(--font-weight-semibold);color:var(--color-text)}.layout-main{flex:1;min-width:0}.app-footer{border-top:var(--border-width) solid var(--color-border);padding:var(--space-md);font-size:var(--font-size-small);color:var(--color-text-muted)}.app-footer .brand{font-weight:var(--font-weight-semibold);color:var(--color-text)}.nav-neutralized{color:var(--color-text-muted);font-weight:var(--font-weight-normal);text-decoration:none;cursor:default}.nav-principal .nav-neutralized{color:var(--color-text-muted)}.nav-group{position:relative}.nav-button{background:none;border:none;padding:0;font:inherit;color:var(--color-text);font-weight:var(--font-weight-semibold);cursor:pointer}.nav-button:hover,.nav-button:focus-visible{color:var(--color-primary-focus);outline:2px solid var(--color-primary);outline-offset:2px}.nav-button[aria-expanded=true]{color:var(--color-primary)}.nav-submenu{position:absolute;top:calc(100% + .35rem);left:0;z-index:10;list-style:none;margin:0;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 .25rem .5rem #0000001a;min-width:12rem}.nav-submenu li{margin-bottom:var(--space-xs)}.nav-submenu a{color:var(--color-primary);text-decoration:underline}.nav-submenu .nav-neutralized{color:var(--color-text-muted)}.sidebar-left .nav-action{background:none;border:none;padding:0;font:inherit;color:var(--color-primary);text-decoration:underline;cursor:pointer}.sidebar-left .nav-action:hover,.sidebar-left .nav-action:focus-visible{color:var(--color-primary-focus);outline:2px solid var(--color-primary);outline-offset:2px}.skip-links{position:absolute}.skip-links ul{list-style:none;margin:0;padding:0}.skip-links a{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-links a:focus,.skip-links a:focus-visible{position:fixed;left:0;top:0;width:auto;height:auto;overflow:visible;padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:underline;font-weight:var(--font-weight-semibold);z-index:1000}.admin{max-width:60rem}.admin .screen-sub{margin-top:0}.module-group{margin-bottom:var(--space-lg)}.module-group h2{margin:var(--space-md) 0 var(--space-sm);font-size:var(--font-size-large)}.module-list{list-style:none;margin:0;padding:0}.module-item{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.module-item h3{margin:0 0 var(--space-sm)}.module-item .desc{margin:0 0 var(--space-md);color:var(--color-text)}.module-actions{display:flex;align-items:center;gap:var(--space-md)}.switch-btn{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit}.switch-btn:disabled{cursor:default;opacity:.6}.switch-track{width:3rem;height:1.5rem;border-radius:999px;background:var(--color-surface-alt);border:var(--border-width) solid var(--color-border);position:relative;transition:background .15s;flex:none}.switch-track:after{content:"";position:absolute;top:.15rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;background:var(--color-surface);border:var(--border-width) solid var(--color-border);transition:left .15s}.switch-btn[aria-pressed=true] .switch-track{background:var(--color-primary);border-color:var(--color-primary)}.switch-btn[aria-pressed=true] .switch-track:after{left:1.5rem}.switch-btn:focus-visible{outline:none}.switch-btn:focus-visible .switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.switch-state{font-weight:var(--font-weight-semibold);min-width:6rem;text-align:left}.config-link{font-size:var(--font-size-base)}.screen-toolbar{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.create-zone{border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);background:var(--color-surface-alt)}.create-title{margin:0 0 var(--space-md);font-size:var(--font-size-large)}.create-actions{margin-top:var(--space-md);display:flex;gap:var(--space-sm);flex-wrap:wrap}.model-panel{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-md)}.module-pick{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md)}.module-pick-label{display:inline-flex;align-items:center;gap:var(--space-sm);margin-right:var(--space-md)}.is-muted{color:var(--color-text);font-style:italic}.is-info{color:var(--color-text);background:var(--color-surface-alt);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}.provider-signup{margin:var(--space-sm) 0 0}.provider-signup a{font-size:var(--font-size-base)}.create-subtitle{margin:var(--space-md) 0 var(--space-sm);font-size:var(--font-size-large)}
