.recipe-card[data-v-c9b93eb8]{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 3px var(--color-shadow-xs);transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.recipe-card[data-v-c9b93eb8]:hover{box-shadow:0 4px 12px var(--color-shadow-sm);border-color:var(--color-border-strong);transform:translateY(-2px)}.recipe-card__image[data-v-c9b93eb8]{aspect-ratio:4 / 3;background:var(--color-surface-raised);display:flex;align-items:center;justify-content:center}.recipe-card__image img[data-v-c9b93eb8]{width:100%;height:100%;object-fit:cover}.recipe-card__placeholder[data-v-c9b93eb8]{font-size:2.5rem;opacity:.5}.recipe-card__body[data-v-c9b93eb8]{padding:12px 14px}.recipe-card__body h3[data-v-c9b93eb8]{margin:0 0 4px;font-size:1rem}.recipe-card__time[data-v-c9b93eb8]{margin:0;font-size:.82rem;color:var(--color-text-muted)}.home[data-v-15f88efb]{padding:24px;max-width:1100px;margin:0 auto}.grid[data-v-15f88efb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:20px}.recipe-detail[data-v-305df41a]{padding:24px;max-width:900px;margin:0 auto}.back-link[data-v-305df41a]{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.hero[data-v-305df41a]{margin-top:14px;aspect-ratio:16 / 6;background:var(--color-surface-raised);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero img[data-v-305df41a]{width:100%;height:100%;object-fit:cover}.hero-placeholder[data-v-305df41a]{font-size:3rem;opacity:.5}.header-row[data-v-305df41a]{display:flex;align-items:baseline;gap:12px;margin-top:16px}.header-row h1[data-v-305df41a]{margin:0}.time[data-v-305df41a]{color:var(--color-text-muted);font-size:.95rem}.admin-actions[data-v-305df41a]{display:flex;gap:8px;margin-top:10px}.content-grid[data-v-305df41a]{display:grid;grid-template-columns:260px 1fr;gap:32px;margin-top:24px}.ingredients ul[data-v-305df41a]{display:flex;flex-direction:column;gap:6px}.steps ol[data-v-305df41a]{display:flex;flex-direction:column;gap:14px;padding-left:0;list-style:none}.step-head[data-v-305df41a]{display:flex;align-items:baseline;gap:8px}.step-number[data-v-305df41a]{font-weight:600;color:var(--color-primary)}.step-check[data-v-305df41a]{display:flex;align-items:baseline;gap:8px;cursor:pointer}.step-check input[data-v-305df41a]{width:auto;margin-top:3px}.version-note[data-v-305df41a]{font-size:.82rem;color:var(--color-text-muted)}.branch-tabs[data-v-305df41a]{display:flex;gap:6px;margin:6px 0 4px 24px}.branch-tabs .active[data-v-305df41a]{--btn-bg: var(--color-primary);--btn-text: var(--color-text-on-primary);--btn-border: transparent}.sub-steps[data-v-305df41a]{margin:4px 0 0 24px;display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}@media(max-width:680px){.content-grid[data-v-305df41a]{grid-template-columns:1fr}}.modal-overlay[data-v-bbda67b0]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-surface-overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal[data-v-bbda67b0]{background:var(--color-surface);border-radius:var(--radius-lg);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 30px var(--color-shadow-lg)}.modal-header[data-v-bbda67b0]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-bbda67b0]{margin:0;font-size:1.1rem}.modal-body[data-v-bbda67b0]{padding:20px}.chips[data-v-b7d500db]{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.chip[data-v-b7d500db]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-pill);font-size:.82rem}.chip-remove[data-v-b7d500db]{--btn-bg: transparent;--btn-bg-hover: transparent;--btn-bg-active: transparent;--btn-text: inherit;--btn-border: transparent;padding:0;font-size:1rem;line-height:1}.inline-add[data-v-b7d500db]{display:flex;gap:6px;margin-top:6px}.inline-add input[data-v-b7d500db]{flex:1}.actions[data-v-b7d500db]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.recipe-form[data-v-b6ce22c9]{padding:24px;max-width:760px;margin:0 auto}.back-link[data-v-b6ce22c9]{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.top-fields[data-v-b6ce22c9]{display:flex;gap:16px;margin-top:16px}.field[data-v-b6ce22c9]{flex:1;margin-bottom:14px}.field-time[data-v-b6ce22c9]{max-width:180px}.image-drop[data-v-b6ce22c9]{position:relative;min-height:120px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.image-drop img[data-v-b6ce22c9]{width:100%;height:160px;object-fit:cover}.image-drop input[type=file][data-v-b6ce22c9]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}h2[data-v-b6ce22c9]{margin-top:28px;font-size:1.1rem}.ingredient-rows[data-v-b6ce22c9]{display:flex;flex-direction:column;gap:8px}.ingredient-row[data-v-b6ce22c9]{display:flex;align-items:center;gap:8px}.ing-name[data-v-b6ce22c9]{flex:1;font-weight:500}.qty-input[data-v-b6ce22c9]{width:80px}.unit-input[data-v-b6ce22c9]{width:90px}.ingredient-row select[data-v-b6ce22c9]{width:160px}.add-ingredient-row[data-v-b6ce22c9]{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.add-ingredient-row select[data-v-b6ce22c9]{flex:1;min-width:180px}.step-groups[data-v-b6ce22c9]{display:flex;flex-direction:column;gap:16px;margin-top:12px}.step-group[data-v-b6ce22c9]{padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.step-group-head[data-v-b6ce22c9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.step-number[data-v-b6ce22c9]{font-weight:600;color:var(--color-primary)}.branch-row[data-v-b6ce22c9]{margin-bottom:8px}.branch-label-row[data-v-b6ce22c9]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.branch-label-input[data-v-b6ce22c9]{flex:1}.step-actions[data-v-b6ce22c9]{margin-top:12px}.actions[data-v-b6ce22c9]{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.palette[data-v-76f03f30]{display:flex;align-items:center;gap:8px}.swatch[data-v-76f03f30]{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer}.swatch.selected[data-v-76f03f30]{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text)}.swatch-custom[data-v-76f03f30]{width:28px;height:28px;padding:0;border-radius:50%;overflow:hidden}.actions[data-v-76f03f30]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.category-list[data-v-f76d1a2c]{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none}.category-row[data-v-f76d1a2c]{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:var(--radius-md)}.category-row[data-v-f76d1a2c]:hover{background:var(--color-surface-raised)}.dot[data-v-f76d1a2c]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-name[data-v-f76d1a2c],.edit-name[data-v-f76d1a2c]{flex:1}.edit-color[data-v-f76d1a2c]{width:40px;padding:2px}.ingredients-view[data-v-c963485c]{padding:24px;max-width:800px;margin:0 auto}.header-row[data-v-c963485c]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.back-link[data-v-c963485c]{color:var(--color-text-muted);text-decoration:none;font-size:1.1rem;font-weight:600}.actions[data-v-c963485c]{display:flex;gap:8px}.ingredient-list[data-v-c963485c]{list-style:none;padding:0;margin-top:20px;display:flex;flex-direction:column;gap:8px}.ingredient-row[data-v-c963485c]{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 44px 12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ingredient-main[data-v-c963485c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cat-tag[data-v-c963485c]{padding:1px 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.variants-line[data-v-c963485c]{margin:0;font-size:.85rem}.row-actions[data-v-c963485c]{position:absolute;top:10px;right:10px;display:flex;gap:2px}.pref-group[data-v-d2cdacc0]{margin-top:14px}.chips[data-v-d2cdacc0]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.chip[data-v-d2cdacc0]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;border-radius:var(--radius-pill);font-size:.82rem}.chip-allergy[data-v-d2cdacc0]{background:var(--compat-red-bg);color:var(--compat-red-text)}.chip-dislike[data-v-d2cdacc0]{background:var(--compat-yellow-bg);color:var(--compat-yellow-text)}.chip-love[data-v-d2cdacc0]{background:var(--compat-green-bg);color:var(--compat-green-text)}.chip-remove[data-v-d2cdacc0]{--btn-bg: transparent;--btn-bg-hover: transparent;--btn-bg-active: transparent;--btn-text: inherit;--btn-border: transparent;padding:0;font-size:1rem;line-height:1}.picker[data-v-d2cdacc0]{margin-top:16px;padding:12px;background:var(--color-surface-raised);border-radius:var(--radius-md)}.picker-row[data-v-d2cdacc0]{display:flex;gap:6px;margin-top:6px}.picker-row select[data-v-d2cdacc0]{flex:1}.actions[data-v-d2cdacc0]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.guests-view[data-v-e3962f74]{padding:24px;max-width:800px;margin:0 auto}.header-row[data-v-e3962f74]{display:flex;align-items:center;justify-content:space-between}.back-link[data-v-e3962f74]{color:var(--color-text-muted);text-decoration:none;font-size:1.1rem;font-weight:600}.guest-list[data-v-e3962f74]{list-style:none;padding:0;margin-top:20px;display:flex;flex-direction:column;gap:12px}.guest-card[data-v-e3962f74]{position:relative;padding:14px 44px 14px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px}.guest-head[data-v-e3962f74]{display:flex;align-items:center;gap:10px}.avatar[data-v-e3962f74]{width:30px;height:30px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.row-actions[data-v-e3962f74]{position:absolute;top:10px;right:10px;display:flex;gap:2px}.pref-line[data-v-e3962f74]{display:flex;align-items:center;gap:8px;font-size:.85rem;flex-wrap:wrap}.pref-label[data-v-e3962f74]{color:var(--color-text-muted);min-width:90px}.chips[data-v-e3962f74]{display:flex;flex-wrap:wrap;gap:4px}.chip[data-v-e3962f74]{padding:1px 8px;border-radius:var(--radius-pill);font-size:.78rem}.chip-allergy[data-v-e3962f74]{background:var(--compat-red-bg);color:var(--compat-red-text)}.chip-dislike[data-v-e3962f74]{background:var(--compat-yellow-bg);color:var(--compat-yellow-text)}.chip-love[data-v-e3962f74]{background:var(--compat-green-bg);color:var(--compat-green-text)}.meal-planner[data-v-41febe25]{padding:24px;max-width:900px;margin:0 auto}.back-link[data-v-41febe25]{color:var(--color-text-muted);text-decoration:none;font-size:1.1rem;font-weight:600}.create-form[data-v-41febe25]{display:flex;flex-direction:column;gap:12px;max-width:360px;margin-top:20px}h2[data-v-41febe25]{margin-top:28px;font-size:1.05rem}.chips[data-v-41febe25]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip[data-v-41febe25]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:.85rem;border:1px solid transparent}.chip-guest[data-v-41febe25]{font-weight:600}.chip-remove[data-v-41febe25]{--btn-bg: transparent;--btn-bg-hover: transparent;--btn-bg-active: transparent;--btn-text: inherit;--btn-border: transparent;padding:0;font-size:1rem;line-height:1}.suggestions[data-v-41febe25]{margin-top:10px;font-size:.85rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.suggestion-chip[data-v-41febe25]{--btn-bg: transparent;--btn-text: inherit;padding:3px 10px;border-radius:var(--radius-pill);font-size:.82rem;border:1px solid}.recipe-grid[data-v-41febe25]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}.recipe-tile[data-v-41febe25]{padding:12px 14px;border-radius:var(--radius-md);border:1px solid;font-size:.9rem}.legend[data-v-41febe25]{margin-top:10px;font-size:.78rem}.compat-red[data-v-41febe25]{background:var(--compat-red-bg);border-color:var(--compat-red-border);color:var(--compat-red-text)}.compat-yellow[data-v-41febe25]{background:var(--compat-yellow-bg);border-color:var(--compat-yellow-border);color:var(--compat-yellow-text)}.compat-green[data-v-41febe25]{background:var(--compat-green-bg);border-color:var(--compat-green-border);color:var(--compat-green-text)}.compat-white[data-v-41febe25]{background:var(--compat-white-bg);border-color:var(--compat-white-border);color:var(--compat-white-text)}.course-card[data-v-41febe25]{padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:12px}.course-head[data-v-41febe25]{display:flex;align-items:center;justify-content:space-between}.course-recipe-row[data-v-41febe25]{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.cr-name[data-v-41febe25]{font-weight:500;min-width:120px}.cr-guests[data-v-41febe25]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.cr-guests select[data-v-41febe25]{width:auto;min-width:100px}.qty-input[data-v-41febe25]{width:70px}.add-recipe-row[data-v-41febe25]{margin-top:10px}.add-recipe-row select[data-v-41febe25]{max-width:260px}.validation-banner[data-v-41febe25]{margin-top:20px;padding:12px 16px;background:var(--compat-yellow-bg);border:1px solid var(--compat-yellow-border);color:var(--compat-yellow-text);border-radius:var(--radius-md);font-size:.85rem}.validation-banner p[data-v-41febe25]{margin:2px 0}.actions[data-v-41febe25]{display:flex;justify-content:flex-end;margin-top:20px}.meal-recap[data-v-9e76b465]{padding:24px;max-width:760px;margin:0 auto}section[data-v-9e76b465]{margin-top:24px}h2[data-v-9e76b465]{font-size:1.05rem}.course-block[data-v-9e76b465]{margin-top:12px}.course-block h3[data-v-9e76b465]{font-size:.78rem;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px}.recap-row[data-v-9e76b465]{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:.92rem}.shopping-group[data-v-9e76b465]{margin-top:14px}.shopping-group h3[data-v-9e76b465]{font-size:.85rem;color:var(--color-primary);margin-bottom:6px}.shopping-item[data-v-9e76b465]{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.92rem;cursor:pointer}.shopping-item input[data-v-9e76b465]{width:auto}.actions[data-v-9e76b465]{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}:root{color-scheme:light;--_teal-50: #eef4f5;--_teal-100: #e7fffb;--_teal-200: #d2f2f0;--_teal-300: #a8d4d8;--_teal-400: #5f8588;--_teal-500: #507378;--_teal-600: #3296a0;--_teal-700: #1e7882;--_teal-800: #1e5055;--_teal-900: #1a2e30;--_purple-100: #f3e8ff;--_purple-200: #e9d5ff;--_purple-300: #d8b4fe;--_purple-400: #c084fc;--_purple-500: #a855f7;--_purple-600: #7e22ce;--_purple-700: #6b21a8;--_purple-800: #4a0e7e;--_purple-900: #3b0764;--_white: #ffffff;--_black: #000000;--_red-100: #fdecea;--_red-400: #e05c4a;--_red-600: #c0392b;--_red-700: #992c22;--_red-border: #e08080;--_green-500: #27ae60;--_amber-500: #e67e22;--color-primary: var(--_teal-600);--color-primary-hover: var(--_teal-700);--color-primary-active: var(--_teal-800);--color-primary-subtle: var(--_teal-100);--color-accent: var(--_purple-500);--color-accent-hover: var(--_purple-600);--color-accent-subtle: var(--_purple-100);--color-bg: var(--_teal-50);--color-surface: var(--_white);--color-surface-raised: var(--_teal-100);--color-surface-deep: var(--_teal-200);--color-surface-overlay: rgba(0, 0, 0, .45);--color-text: var(--_teal-900);--color-text-secondary: var(--_teal-800);--color-text-muted: var(--_teal-500);--color-text-subtle: var(--_teal-400);--color-text-on-primary: var(--_white);--color-border: var(--_teal-300);--color-border-strong: var(--_teal-400);--color-border-focus: var(--_teal-600);--color-link: var(--_teal-600);--color-link-hover: var(--_teal-700);--color-link-active: var(--_teal-800);--color-link-visited: var(--_teal-600);--color-error: var(--_red-600);--color-error-bg: var(--_red-100);--color-error-border: var(--_red-border);--color-success: var(--_green-500);--color-warning: var(--_amber-500);--color-shadow-xs: rgba(26, 46, 48, .06);--color-shadow-sm: rgba(26, 46, 48, .1);--color-shadow-md: rgba(26, 46, 48, .15);--color-shadow-lg: rgba(0, 0, 0, .15);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .875rem;--radius-xl: 1.5rem;--radius-pill: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out}.theme-dark{color-scheme:dark;--color-primary: #4bbfc0;--color-primary-hover: #7dd3cc;--color-primary-active: var(--_teal-300);--color-primary-subtle: rgba(75, 191, 192, .12);--color-accent: var(--_purple-300);--color-accent-hover: var(--_purple-200);--color-accent-subtle: rgba(216, 180, 254, .12);--color-bg: #0d1a1b;--color-surface: #132729;--color-surface-raised: #1c3537;--color-surface-deep: #0a1516;--color-surface-overlay: rgba(0, 0, 0, .6);--color-text: #e7f9fa;--color-text-secondary: #c8eaed;--color-text-muted: var(--_teal-300);--color-text-subtle: var(--_teal-400);--color-text-on-primary: #0d1a1b;--color-border: rgba(168, 212, 216, .15);--color-border-strong: rgba(168, 212, 216, .3);--color-border-focus: #4bbfc0;--color-link: #4bbfc0;--color-link-hover: #7dd3cc;--color-link-active: var(--_teal-300);--color-link-visited: #4bbfc0;--color-error: var(--_red-400);--color-error-bg: rgba(224, 92, 74, .12);--color-error-border: rgba(224, 92, 74, .4);--color-success: #4ade80;--color-warning: #fbbf24;--color-shadow-xs: rgba(0, 0, 0, .2);--color-shadow-sm: rgba(0, 0, 0, .3);--color-shadow-md: rgba(0, 0, 0, .45);--color-shadow-lg: rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;hanging-punctuation:first last}img,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:1.25;font-weight:600}p{color:var(--color-text)}small{color:var(--color-text-muted);font-size:.875em}ul{list-style:none;padding:0}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}a{color:var(--color-link);text-decoration:none;text-underline-offset:.2em;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover);text-decoration:underline}a:active{color:var(--color-link-active);text-decoration:underline}a:visited{color:var(--color-link-visited)}a:visited:hover{color:var(--color-link-hover)}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px;border-radius:var(--radius-sm);text-decoration:none}a:focus-visible:hover{color:var(--color-link-hover)}a:focus-visible:active{color:var(--color-link-active)}a:target{color:var(--color-primary)}:root{--input-bg: var(--color-surface);--input-bg-disabled: var(--color-bg);--input-text: var(--color-text);--input-placeholder: var(--color-text-subtle);--input-border: var(--color-border-strong);--input-border-hover: var(--color-border-focus);--input-border-focus: var(--color-border-focus);--input-border-error: var(--color-error-border);--input-border-success: var(--color-success)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],textarea,select{display:block;width:100%;padding:.5rem .75rem;background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-normal)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:hover:not(:focus):not(:disabled):not(:read-only),textarea:hover:not(:focus):not(:disabled):not(:read-only),select:hover:not(:focus):not(:disabled){border-color:var(--input-border-hover)}input:focus,textarea:focus,select:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-border-focus) 18%,transparent)}input:disabled,textarea:disabled,select:disabled{background-color:var(--input-bg-disabled);color:var(--color-text-subtle);cursor:not-allowed;opacity:.65}input:read-only,textarea:read-only{background-color:var(--color-bg);cursor:default}input:user-invalid,textarea:user-invalid{border-color:var(--input-border-error)}input:user-invalid:focus,textarea:user-invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 18%,transparent)}label{display:block;color:var(--color-text-secondary);font-size:.85rem;font-weight:500;margin-bottom:.3rem}:root{--btn-bg: var(--color-primary);--btn-bg-hover: var(--color-primary-hover);--btn-bg-active: var(--color-primary-active);--btn-text: var(--color-text-on-primary);--btn-border: transparent}button,input[type=button],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.45em 1em;background-color:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);border-radius:var(--radius-md);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--btn-bg-hover)}button:active:not(:disabled),input[type=button]:active:not(:disabled),input[type=submit]:active:not(:disabled){background-color:var(--btn-bg-active);transform:translateY(1px)}button:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px}button:disabled,input[type=button]:disabled,input[type=submit]:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-secondary{--btn-bg: transparent;--btn-bg-hover: var(--color-surface-raised);--btn-bg-active: var(--color-surface-deep);--btn-text: var(--color-text-secondary);--btn-border: var(--color-border-strong)}.btn-secondary:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong)}.btn-ghost{--btn-bg: transparent;--btn-bg-hover: var(--color-primary-subtle);--btn-bg-active: var(--color-surface-deep);--btn-text: var(--color-primary);--btn-border: transparent}.btn-danger{--btn-bg: var(--color-error);--btn-bg-hover: var(--_red-700);--btn-bg-active: var(--_red-700);--btn-text: var(--_white);--btn-border: transparent}.btn-dashed{--btn-bg: transparent;--btn-bg-hover: var(--color-primary-subtle);--btn-bg-active: var(--color-surface-deep);--btn-text: var(--color-text-muted);--btn-border: var(--color-border-strong);border-style:dashed}.btn-dashed:hover:not(:disabled){color:var(--color-text-secondary);border-color:var(--color-border-focus);border-style:dashed}.btn-icon{--btn-bg: transparent;--btn-bg-hover: var(--color-surface-raised);--btn-bg-active: var(--color-surface-deep);--btn-text: var(--color-text-muted);--btn-border: transparent;padding:.25em}.btn-icon:hover:not(:disabled){color:var(--color-text)}.btn-icon:active:not(:disabled){transform:none}.btn-sm{padding:.25em .75em;font-size:.85rem}.btn-lg{padding:.65em 1.5em;font-size:1.05rem}.btn-full{width:100%}:root{--switch-width: 2.75rem;--switch-height: 1.5rem;--switch-thumb-size: 1.125rem;--switch-padding: calc((var(--switch-height) - var(--switch-thumb-size)) / 2);--switch-travel: calc(var(--switch-width) - var(--switch-thumb-size) - 2 * var(--switch-padding));--switch-track-off: var(--color-border-strong);--switch-track-on: var(--color-primary);--switch-thumb-bg: var(--_white)}.theme-switch{--btn-bg: transparent;--btn-bg-hover: transparent;--btn-bg-active: transparent;--btn-text: var(--color-text-muted);--btn-border: transparent;display:inline-flex;align-items:center;gap:.5rem;padding:.25rem}.theme-switch:hover:not(:disabled){background-color:transparent}.theme-switch:active:not(:disabled){transform:none}.theme-switch:focus-visible{outline-offset:4px}.theme-switch__track{position:relative;flex-shrink:0;width:var(--switch-width);height:var(--switch-height);background-color:var(--switch-track-off);border-radius:var(--radius-pill);transition:background-color var(--transition-normal);pointer-events:none}.theme-switch__track:before{content:"☀";position:absolute;left:.25rem;top:50%;transform:translateY(-50%);font-size:.8rem;line-height:1;color:var(--_white);opacity:1;transition:opacity var(--transition-fast);pointer-events:none}.theme-switch__track:after{content:"☽";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:.8rem;line-height:1;color:var(--_white);opacity:.55;transition:opacity var(--transition-fast);pointer-events:none}.theme-switch__thumb{position:absolute;top:var(--switch-padding);left:var(--switch-padding);width:var(--switch-thumb-size);height:var(--switch-thumb-size);background-color:var(--switch-thumb-bg);border-radius:var(--radius-pill);box-shadow:0 1px 3px var(--color-shadow-md);transition:transform var(--transition-normal)}.theme-dark .theme-switch__track{background-color:var(--switch-track-on)}.theme-dark .theme-switch__track:before{opacity:.55}.theme-dark .theme-switch__track:after{opacity:1}.theme-dark .theme-switch__thumb{transform:translate(var(--switch-travel))}.theme-switch:hover .theme-switch__track{filter:brightness(1.08)}.theme-switch__label{color:var(--color-text-muted);transition:color var(--transition-fast)}.theme-switch:hover .theme-switch__label{color:var(--color-text)}:root{--_amber-50: #fdf6ec;--_amber-100: #fbead0;--_amber-200: #f3d29c;--_amber-300: #e8b169;--_amber-400: #d98c3f;--_amber-500: #c56a2b;--_amber-600: #a8531f;--_amber-700: #8a4119;--_amber-800: #5c2b12;--_amber-900: #38190a;--color-primary: var(--_amber-600);--color-primary-hover: var(--_amber-700);--color-primary-active: var(--_amber-800);--color-primary-subtle: var(--_amber-100);--color-bg: var(--_amber-50);--color-surface-raised: var(--_amber-100);--color-surface-deep: var(--_amber-200);--color-text: var(--_amber-900);--color-text-secondary: var(--_amber-800);--color-text-muted: var(--_amber-600);--color-text-subtle: var(--_amber-400);--color-text-on-primary: #fff;--color-border: rgba(168, 83, 31, .18);--color-border-strong: rgba(168, 83, 31, .35);--color-border-focus: var(--_amber-600);--color-link: var(--_amber-600);--color-link-hover: var(--_amber-700);--color-link-active: var(--_amber-800);--color-link-visited: var(--_amber-600)}.theme-dark{--color-primary: var(--_amber-300);--color-primary-hover: var(--_amber-200);--color-primary-active: var(--_amber-100);--color-primary-subtle: rgba(232, 177, 105, .12);--color-text-on-primary: #241407;--color-bg: #1a1006;--color-surface: #241608;--color-surface-raised: #33200c;--color-surface-deep: #140c04;--color-text: var(--_amber-100);--color-text-secondary: var(--_amber-200);--color-text-muted: var(--_amber-300);--color-text-subtle: var(--_amber-500);--color-border: rgba(243, 210, 156, .12);--color-border-strong: rgba(243, 210, 156, .25);--color-border-focus: var(--_amber-300);--color-link: var(--_amber-300);--color-link-hover: var(--_amber-200);--color-link-active: var(--_amber-100);--color-link-visited: var(--_amber-300)}:root{--compat-red-bg: #fdecea;--compat-red-border: #e08080;--compat-red-text: #992c22;--compat-yellow-bg: #fdf3dc;--compat-yellow-border: #e0b84a;--compat-yellow-text: #8a6a12;--compat-green-bg: #e6f4ea;--compat-green-border: #7cc296;--compat-green-text: #1e6b3a;--compat-white-bg: var(--color-surface);--compat-white-border: var(--color-border);--compat-white-text: var(--color-text-secondary)}.theme-dark{--compat-red-bg: rgba(224, 92, 74, .14);--compat-yellow-bg: rgba(224, 184, 74, .14);--compat-green-bg: rgba(124, 194, 150, .14);--compat-red-text: #e79a8d;--compat-yellow-text: #e3c979;--compat-green-text: #93d9ac}.toolbar[data-v-e60ec991]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 20px;background:linear-gradient(135deg,var(--color-surface-raised),var(--color-surface-deep));border-bottom:1px solid var(--color-border-strong);box-shadow:0 1px 4px var(--color-shadow-xs)}.site-title[data-v-e60ec991]{font-weight:600;font-size:1rem;color:inherit;text-decoration:none;white-space:nowrap}.toolbar-nav[data-v-e60ec991]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-right[data-v-e60ec991]{display:flex;align-items:center;gap:10px}.user-info[data-v-e60ec991]{display:flex;align-items:center;gap:6px;font-size:.9rem}.role-badge[data-v-e60ec991]{padding:2px 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-primary);color:var(--color-text-on-primary)}.btn-action[data-v-e60ec991]{--btn-bg: color-mix(in srgb, var(--color-surface) 50%, transparent);--btn-bg-hover: var(--color-surface);--btn-bg-active: var(--color-surface-raised);--btn-text: var(--color-text-secondary);--btn-border: var(--color-border-strong);font-size:.85rem;padding:.25em .875em;text-decoration:none;display:inline-flex;align-items:center}.btn-action-primary[data-v-e60ec991]{--btn-bg: var(--color-primary);--btn-bg-hover: var(--color-primary-hover);--btn-text: var(--color-text-on-primary);--btn-border: transparent}.page[data-v-bf3e8b08]{min-height:100vh;display:flex;flex-direction:column}.content[data-v-bf3e8b08]{flex:1}
