:root{--color-primary:#673ab7;--color-primary-hover:#5e35b1;--color-primary-pressed:#512da8;--color-primary-tint:#f0ebf8;--color-primary-tint-strong:#e1d7f1;--color-on-primary:#ffffff;--color-primary-hover-overlay:rgba(103,58,183,0.04);--color-primary-halo:rgba(103,58,183,0.08);--color-primary-halo-focus:rgba(103,58,183,0.12);--color-surface:#ffffff;--color-surface-variant:#f8f9fa;--color-text:#202124;--color-text-secondary:#5f6368;--color-text-disabled:#9aa0a6;--color-border:#dadce0;--color-border-strong:#80868b;--color-overlay:rgba(32,33,36,0.6);--color-icon-hover:rgba(95,99,104,0.08);--color-snackbar:#323232;--color-active-indicator:#4285f4;--color-error:#d93025;--color-error-tint:#fce8e6;--color-success:#188038;--chart-1:#673ab7;--chart-2:#4285f4;--chart-3:#ea4335;--chart-4:#fbbc04;--chart-5:#34a853;--chart-6:#ff6d01;--chart-7:#46bdc6;--chart-8:#9c27b0;--font-family:"Roboto","Segoe UI",Arial,sans-serif;--text-display:400 32px/40px var(--font-family);--text-title:400 22px/28px var(--font-family);--text-question:400 16px/24px var(--font-family);--text-body:400 14px/20px var(--font-family);--text-label:500 14px/20px var(--font-family);--text-caption:400 12px/16px var(--font-family);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--layout-column:770px;--layout-grid:1150px;--card-padding:var(--space-5);--appbar-height:64px;--tabs-height:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:999px;--shadow-1:0 1px 2px 0 rgba(60,64,67,0.3),0 1px 3px 1px rgba(60,64,67,0.15);--shadow-2:0 1px 3px 0 rgba(60,64,67,0.3),0 4px 8px 3px rgba(60,64,67,0.15);--shadow-3:0 4px 4px 0 rgba(60,64,67,0.3),0 8px 12px 6px rgba(60,64,67,0.15);--ease-standard:cubic-bezier(0.4,0,0.2,1);--duration-short:150ms;--duration-medium:200ms;--duration-long:300ms}@media (max-width:639px){:root{--card-padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){:root{--duration-short:0ms;--duration-medium:0ms;--duration-long:0ms}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--color-primary-tint);color:var(--color-text);font:var(--text-body);-webkit-font-smoothing:antialiased}body,h1,h2,h3,p{margin:0}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.column{width:min(var(--layout-column),calc(100% - 2 * var(--space-4)));margin:var(--space-3) auto var(--space-7);display:flex;flex-direction:column;gap:var(--space-3)}.card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--card-padding)}.card--header{border-top:10px solid var(--color-primary)}.card--error{border-color:var(--color-error)}.card-title{font:var(--text-display);word-break:break-word}.card-description{margin-top:var(--space-3);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.divider{height:1px;background:var(--color-border);border:0;margin:var(--space-4) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;border:0;border-radius:var(--radius-sm);font:var(--text-label);letter-spacing:.25px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--duration-short) var(--ease-standard),box-shadow var(--duration-short) var(--ease-standard)}.btn:disabled{cursor:default;opacity:.5}.btn-filled{padding:0 var(--space-5);background:var(--color-primary);color:var(--color-on-primary)}.btn-filled:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-1)}.btn-filled:active:not(:disabled){background:var(--color-primary-pressed)}.btn-text{padding:0 var(--space-2);background:transparent;color:var(--color-primary)}.btn-text:hover:not(:disabled){background:var(--color-primary-hover-overlay)}.btn-text--danger{color:var(--color-error)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);cursor:pointer;text-decoration:none;transition:background var(--duration-short) var(--ease-standard)}.icon-btn:hover:not(:disabled){background:var(--color-icon-hover)}.icon-btn:disabled{opacity:.38;cursor:default}@media (pointer:coarse){.icon-btn{width:48px;height:48px}}.field{position:relative;display:block}.field:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--duration-medium) var(--ease-standard);pointer-events:none}.field:focus-within:after{transform:scaleX(1)}.field--error:after{transform:scaleX(1);background:var(--color-error)}.field--filled .field-input{padding:var(--space-4) var(--space-4) var(--space-2);background:var(--color-surface-variant)}.field-input{display:block;width:100%;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;font:var(--text-body);outline:none;resize:none;transition:border-color var(--duration-short) var(--ease-standard)}.field-input:hover{border-bottom-color:var(--color-border-strong)}.field-input::placeholder{color:var(--color-text-disabled)}.field-input--question{font:var(--text-question)}.field-input--display{font:var(--text-display)}textarea.field-input{overflow:hidden;field-sizing:content;min-height:36px}.select{height:48px;min-width:0;padding:0 var(--space-6) 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%235f6368'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 8px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:var(--text-body);cursor:pointer}.select:hover{border-color:var(--color-border-strong)}.select:focus-visible{outline:none;border:2px solid var(--color-primary);padding-left:calc(var(--space-3) - 1px)}.choice{display:flex;align-items:center;gap:var(--space-2);min-height:48px;cursor:pointer;word-break:break-word}.checkbox,.radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;margin:10px;border:2px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;transition:box-shadow var(--duration-short) var(--ease-standard),border-color var(--duration-short) var(--ease-standard)}.radio{width:20px;height:20px;border-radius:50%}.radio:checked{border-color:var(--color-primary);background:radial-gradient(circle,var(--color-primary) 0 5px,transparent 5.5px)}.checkbox{width:18px;height:18px;border-radius:2px}.checkbox:checked{border-color:var(--color-primary);background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center /14px no-repeat}.checkbox:hover,.radio:hover{box-shadow:0 0 0 10px var(--color-primary-halo)}.checkbox:focus-visible,.radio:focus-visible{outline:none;box-shadow:0 0 0 10px var(--color-primary-halo-focus)}.checkbox:disabled,.radio:disabled{cursor:default;box-shadow:none;opacity:.6}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:none;width:36px;height:14px;margin:13px 2px;border-radius:var(--radius-full);background:var(--color-text-disabled);cursor:pointer;transition:background var(--duration-medium) var(--ease-standard)}.switch:before{content:"";position:absolute;top:-3px;left:-2px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-1);transition:transform var(--duration-medium) var(--ease-standard),background var(--duration-medium) var(--ease-standard)}.switch:checked{background:color-mix(in srgb,var(--color-primary) 50%,transparent)}.switch:checked:before{transform:translateX(20px);background:var(--color-primary)}.switch-row{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.caption{font:var(--text-caption);color:var(--color-text-secondary)}.required-mark{color:var(--color-error);margin-left:var(--space-1)}.error-text{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font:var(--text-caption);color:var(--color-error)}.snackbar{position:fixed;left:var(--space-5);bottom:var(--space-5);z-index:100;max-width:min(560px,calc(100% - 2 * var(--space-4)));padding:14px var(--space-4);border-radius:var(--radius-sm);background:var(--color-snackbar);color:#fff;box-shadow:var(--shadow-2);font:var(--text-body);animation:snackbar-in var(--duration-long) var(--ease-standard)}@media (max-width:639px){.snackbar{left:50%;bottom:var(--space-4);transform:translateX(-50%);width:max-content}}@keyframes snackbar-in{0%{opacity:0;translate:0 16px}}.dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay)}.dialog{width:min(400px,100%);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-3)}.dialog h2{font:var(--text-title);margin-bottom:var(--space-4)}.dialog p{color:var(--color-text-secondary)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.menu{position:absolute;z-index:50;min-width:200px;padding:var(--space-2) 0;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-2)}.menu-item{display:flex;align-items:center;gap:var(--space-4);width:100%;height:48px;padding:0 var(--space-4);border:0;background:transparent;color:var(--color-text);text-align:left;text-decoration:none;cursor:pointer}.menu-item:hover{background:var(--color-surface-variant)}.menu-item svg{color:var(--color-text-secondary)}