:root{--color-accent: #007AFF;--color-accent-hover: #0062CC;--color-accent-light: #E5F1FF;--color-accent-text: #FFFFFF;--color-white: #FFFFFF;--color-gray-50: #F8F9FA;--color-gray-100: #F1F3F5;--color-gray-200: #E9ECEF;--color-gray-300: #DEE2E6;--color-gray-400: #CED4DA;--color-gray-500: #5C6470;--color-gray-600: #586069;--color-gray-700: #495057;--color-gray-800: #343A40;--color-gray-900: #333333;--color-danger: #D63333;--color-danger-hover: #C02828;--color-danger-light: #FFF5F5;--color-success: #2F9E44;--color-success-hover: #2B8A3E;--color-success-light: #EBFBEE;--color-warning: #E67700;--color-warning-hover: #D46B00;--color-warning-light: #FFF9DB;--font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 40px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.625;--letter-spacing-wide: .05em;--space-0: 2px;--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;--sidebar-text: var(--color-gray-900);--sidebar-text-muted: var(--color-gray-900);--sidebar-hover-bg: rgba(0, 0, 0, .05);--sidebar-active-bg: rgba(0, 0, 0, .08);--sidebar-active-text: var(--color-gray-900);--sidebar-border: var(--color-gray-200);--sidebar-width: 240px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--border-color: var(--color-gray-200);--overlay-backdrop: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--card-bg: rgba(255, 255, 255, .45);--card-blur: 16px;--card-radius: 14px;--card-shadow: 0 4px 20px rgba(0, 0, 0, .06), inset 0 2px 3px rgba(255, 255, 255, 1), inset 0 0 0 1.5px rgba(255, 255, 255, .8);--card-border: 1px solid rgba(0, 0, 0, .06);--card-border-color-hover: rgba(0, 0, 0, .1);--btn-height-sm: 30px;--btn-height-md: 36px;--btn-height-lg: 42px;--input-height: 40px;--icon-size-sm: 18px;--icon-size-md: 20px;--z-index-modal: 1000;--z-index-skip-link: 9999;--opacity-disabled: .5;--transition-fast: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-gray-900);background-color:var(--color-gray-50)}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}img,svg{display:block;max-width:100%}table{border-collapse:collapse;width:100%}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-medium);letter-spacing:-.01em}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}small{font-size:var(--font-size-sm)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-index-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.modal-overlay__backdrop{position:absolute;inset:0;background-color:var(--overlay-backdrop)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--space-5);border:none;border-radius:var(--radius-full);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled,.btn[aria-busy=true]{opacity:var(--opacity-disabled);cursor:not-allowed}.btn svg{width:16px;height:16px;flex-shrink:0}.btn--sm{height:var(--btn-height-sm);padding:0 var(--space-4);font-size:var(--font-size-xs)}.btn--lg{height:var(--btn-height-lg);padding:0 var(--space-6);font-size:var(--font-size-base)}.btn--primary{background-color:var(--color-accent);color:var(--color-accent-text);box-shadow:0 .5px 1px #0000001f,inset 0 1px 1px #fff6}.btn--primary:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-accent-hover);box-shadow:0 1px 3px #00000026,inset 0 1px 1px #fff6}.btn--primary:active:not(:disabled):not([aria-busy=true]){box-shadow:inset 0 1px 3px #0003}.btn--primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--secondary{background-color:var(--color-white);color:var(--color-gray-700);border:1px solid var(--border-color);box-shadow:0 .5px 1px #0000000f}.btn--secondary:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-gray-50);box-shadow:0 1px 3px #00000014}.btn--secondary:active:not(:disabled):not([aria-busy=true]){background-color:var(--color-gray-100);box-shadow:inset 0 1px 2px #00000014}.btn--secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--danger{background-color:var(--color-white);color:var(--color-danger);border:1px solid var(--color-danger);box-shadow:0 .5px 1px #0000000f}.btn--danger:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-danger);color:var(--color-white);box-shadow:0 1px 3px #d633334d,inset 0 1px #ffffff26}.btn--danger:active:not(:disabled):not([aria-busy=true]){box-shadow:inset 0 1px 3px #0003}.btn--danger:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.btn--danger-solid{background-color:var(--color-danger);color:var(--color-white);box-shadow:0 .5px 1px #0000001f,inset 0 1px 1px #fff6}.btn--danger-solid:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-danger-hover);box-shadow:0 1px 3px #d633334d,inset 0 1px 1px #fff6}.btn--danger-solid:active:not(:disabled):not([aria-busy=true]){box-shadow:inset 0 1px 3px #0003}.btn--danger-solid:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.btn--success{background-color:var(--color-white);color:var(--color-success);border:1px solid var(--color-success);box-shadow:0 .5px 1px #0000000f}.btn--success:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-success);color:var(--color-white);box-shadow:0 1px 3px #2f9e444d,inset 0 1px #ffffff26}.btn--success:active:not(:disabled):not([aria-busy=true]){box-shadow:inset 0 1px 3px #0003}.btn--success:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.btn--light{background-color:var(--color-accent-light);color:var(--color-accent);box-shadow:0 .5px 1px #0000000a}.btn--light:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-accent);color:var(--color-accent-text);box-shadow:0 1px 3px #007aff4d,inset 0 1px 1px #fff6}.btn--light:active:not(:disabled):not([aria-busy=true]){box-shadow:inset 0 1px 3px #00000026}.btn--light:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--text{height:auto;padding:0;background:none;color:var(--color-accent)}.btn--text:hover:not(:disabled):not([aria-busy=true]){opacity:.7}.btn--text:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.btn--text-danger{height:auto;padding:0;background:none;color:var(--color-danger)}.btn--text-danger:hover:not(:disabled):not([aria-busy=true]){opacity:.7}.btn--text-danger:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px;border-radius:var(--radius-sm)}.btn--add{background:none;color:var(--color-gray-600);border:1px dashed var(--border-color)}.btn--add:hover:not(:disabled):not([aria-busy=true]){border-color:var(--color-accent);color:var(--color-accent)}.btn--add:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--icon{width:28px;height:28px;padding:0;background-color:var(--color-gray-100);color:var(--color-gray-500);flex-shrink:0}.btn--icon:hover:not(:disabled):not([aria-busy=true]){background-color:var(--color-gray-200)}.btn--icon:active:not(:disabled):not([aria-busy=true]){background-color:var(--color-gray-300)}.btn--icon:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table-wrapper{background:var(--card-bg);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:var(--card-border);overflow:hidden}.table{width:100%;border-collapse:collapse}.table__th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);background-color:var(--color-gray-50);border-bottom:1px solid var(--border-color)}.table__th--actions{width:140px}.table__td{padding:var(--space-4);font-size:var(--font-size-base);color:var(--color-gray-700);border-bottom:1px solid var(--border-color)}.table__td--empty{text-align:center;color:var(--color-gray-500);padding:var(--space-12) var(--space-4)}.table__td--actions{text-align:right}.table tr:last-child .table__td{border-bottom:none}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.form-input{height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-gray-900);background-color:var(--color-white);transition:border-color var(--transition-fast)}.form-input::placeholder{color:var(--color-gray-400)}.form-input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-textarea{padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-900);background-color:var(--color-white);resize:vertical;transition:border-color var(--transition-fast)}.form-textarea::placeholder{color:var(--color-gray-400)}.form-textarea:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-select{height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-gray-900);background-color:var(--color-white);cursor:pointer;transition:border-color var(--transition-fast)}.form-select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-hint{font-size:var(--font-size-xs);color:var(--color-gray-500);line-height:var(--line-height-relaxed)}.form-field-error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-checkbox{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.form-checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-checkbox-text{font-size:var(--font-size-base);color:var(--color-gray-900)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only--focusable:focus{position:fixed;top:var(--space-2);left:var(--space-2);width:auto;height:auto;padding:var(--space-2) var(--space-4);margin:0;overflow:visible;clip:auto;white-space:normal;background-color:var(--color-accent);color:var(--color-accent-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);z-index:var(--z-index-skip-link)}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;height:100dvh;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-gray-500)}
