.footer{background:var(--color-bg-secondary);border-top:2px solid var(--color-border-light);padding:var(--space-md) 0;contain:layout style;content-visibility:auto;contain-intrinsic-size:auto 300px}.footer-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-md)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-sm)}.brand-logo{display:flex;align-items:center;gap:.375rem;cursor:pointer;position:relative;padding-bottom:4px;display:inline-flex}.brand-logo:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s ease}.brand-logo:hover:after{width:100%}.brand-logo:hover .brand-name,.brand-logo:hover .brand-icon{color:var(--color-primary)}.brand-logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}.brand-icon{width:20px;height:20px;color:var(--color-text-primary);transition:color .2s ease}[data-theme=dark] .brand-icon{filter:invert(1) brightness(1.2)}.brand-name{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0;transition:color .2s ease}.brand-tagline{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.footer-section-title{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.footer-nav ul,.footer-compare ul,.footer-use-cases ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.footer-link{background:none;border:none;padding:0 0 2px;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:color .2s ease;position:relative;display:inline-flex;align-items:center;gap:var(--space-xs)}.link-icon{font-size:var(--font-size-md);display:inline-block}.footer-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s ease}.footer-link:hover:after{width:100%}.footer-link:hover{color:var(--color-primary)}.social-links{display:flex;flex-direction:column;gap:var(--space-sm)}.social-link{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.social-link:hover{color:var(--color-primary)}.social-icon{font-size:var(--font-size-lg)}.social-name{font-weight:500}.language-toggle{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.language-toggle:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.language-icon{font-size:var(--font-size-md)}.language-label{font-weight:600}.language-arrow{margin:0 var(--space-xs)}.language-next{font-weight:500;opacity:.7}.footer-divider{height:1px;background:var(--color-border-light);margin:var(--space-md) 0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.footer-copyright p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.meta-separator{opacity:.5}.flag-svg{display:inline-block;width:16px;height:10px;margin-right:4px;vertical-align:middle}@media(max-width:480px){.footer{padding:var(--space-sm) 0}.footer-container{padding:0 var(--space-md)}.footer-top{grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg)}.footer-nav ul,.footer-use-cases ul,.footer-compare ul,.social-links{gap:var(--space-xs)}.footer-section-title{margin-bottom:var(--space-xs);font-size:var(--font-size-xs)}.footer-brand{grid-column:1 / -1}.footer-link,.social-link{font-size:var(--font-size-xs)}.footer-divider{margin:var(--space-sm) 0}.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-xs)}.footer-meta{flex-wrap:wrap;justify-content:center;font-size:var(--font-size-xs);gap:var(--space-xs)}.language-toggle{width:100%;justify-content:center}.footer-link,.social-link{min-height:var(--touch-target-min);display:flex;align-items:center}.brand-tagline{font-size:var(--font-size-xs)}}@media(min-width:481px)and (max-width:768px){.footer{padding:var(--space-lg) 0}.footer-container{padding:0 var(--space-md)}.footer-top{grid-template-columns:1fr;gap:var(--space-lg)}.footer-bottom{flex-direction:column;text-align:center}.language-toggle{width:100%;justify-content:center}}@media(prefers-color-scheme:dark){.footer{background:var(--color-bg-primary)}}.cookie-consent[data-v-761a6060]{position:fixed;bottom:0;left:0;right:0;width:100%;background:var(--color-surface, #FFFFFF);border-top:2px solid var(--color-primary);box-shadow:0 -4px 12px #00000026;z-index:9999;padding:var(--space-lg) var(--space-md)}.cookie-content[data-v-761a6060]{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.cookie-text h3[data-v-761a6060]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.cookie-text p[data-v-761a6060]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-xs) 0;line-height:1.5}.privacy-link[data-v-761a6060]{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:underline;font-weight:500}.privacy-link[data-v-761a6060]:hover{color:var(--color-primary-hover)}.cookie-actions[data-v-761a6060]{display:flex;gap:var(--space-sm);flex-shrink:0}.btn-primary[data-v-761a6060],.btn-secondary[data-v-761a6060]{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.btn-primary[data-v-761a6060]{background:var(--color-primary);color:#fff}.btn-primary[data-v-761a6060]:hover{background:var(--color-primary-hover)}.btn-secondary[data-v-761a6060]{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-medium, #CED4DA)}.btn-secondary[data-v-761a6060]:hover{background:var(--color-bg-tertiary, #F3F4F6);border-color:var(--color-text-secondary)}.slide-up-enter-active[data-v-761a6060],.slide-up-leave-active[data-v-761a6060]{transition:transform .3s ease,opacity .3s ease}.slide-up-enter-from[data-v-761a6060],.slide-up-leave-to[data-v-761a6060]{transform:translateY(100%);opacity:0}@media(max-width:768px){.cookie-content[data-v-761a6060]{flex-direction:column;text-align:center}.cookie-actions[data-v-761a6060]{width:100%;flex-direction:column}.btn-primary[data-v-761a6060],.btn-secondary[data-v-761a6060]{width:100%}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--touch-target-min);font-family:var(--font-sans);font-size:var(--text-body-size);font-weight:500;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;text-decoration:none}.btn-sm{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);font-size:var(--text-body-sm-size)}.btn-md{padding:var(--space-3) var(--space-5)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-heading-md-size)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-border)}.btn-primary:hover:not(:disabled):not(.btn-loading){background-color:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-bg);box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled):not(.btn-loading){box-shadow:none}.btn-primary:disabled,.btn-primary.btn-disabled,.btn-primary.btn-loading{background-color:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-fg);border-color:var(--btn-primary-disabled-bg)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}.btn-secondary:hover:not(:disabled):not(.btn-loading){background-color:var(--btn-secondary-hover-bg);border-color:var(--color-border-strong)}.btn-secondary:disabled,.btn-secondary.btn-disabled,.btn-secondary.btn-loading{background-color:var(--btn-secondary-disabled-bg);color:var(--btn-secondary-disabled-fg);border-color:var(--btn-secondary-disabled-border)}.btn-ghost{background-color:var(--btn-ghost-bg);color:var(--btn-ghost-fg);border-color:var(--btn-ghost-border)}.btn-ghost:hover:not(:disabled):not(.btn-loading){background-color:var(--btn-ghost-hover-bg)}.btn-ghost:disabled,.btn-ghost.btn-disabled,.btn-ghost.btn-loading{background-color:var(--btn-ghost-disabled-bg);color:var(--btn-ghost-disabled-fg)}.btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-fg);border-color:var(--btn-danger-border)}.btn-danger:hover:not(:disabled):not(.btn-loading){background-color:var(--btn-danger-hover-bg);border-color:var(--btn-danger-hover-bg);box-shadow:var(--shadow-sm)}.btn-danger:active:not(:disabled):not(.btn-loading){box-shadow:none}.btn-danger:disabled,.btn-danger.btn-disabled,.btn-danger.btn-loading{background-color:var(--btn-danger-disabled-bg);color:var(--btn-danger-disabled-fg);border-color:var(--btn-danger-disabled-bg)}.btn:disabled,.btn-disabled{cursor:not-allowed;pointer-events:none}.btn-loading{cursor:wait}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn-spinner{display:inline-block;width:var(--icon-sm);height:var(--icon-sm);border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:btn-spin .8s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-loading .btn-text{opacity:.7}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn-spinner{animation-duration:2s}}.confirm-overlay[data-v-b49ab992]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-md)}.confirm-dialog[data-v-b49ab992]{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;display:flex;flex-direction:column}.confirm-header[data-v-b49ab992]{padding:var(--space-lg) var(--space-lg) 0}.confirm-title[data-v-b49ab992]{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0}.confirm-body[data-v-b49ab992]{padding:var(--space-md) var(--space-lg)}.confirm-message[data-v-b49ab992]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6}.confirm-footer[data-v-b49ab992]{padding:var(--space-md) var(--space-lg) var(--space-lg);display:flex;justify-content:flex-end;gap:var(--space-sm)}.confirm-fade-enter-active[data-v-b49ab992],.confirm-fade-leave-active[data-v-b49ab992]{transition:opacity .2s ease}.confirm-fade-enter-from[data-v-b49ab992],.confirm-fade-leave-to[data-v-b49ab992]{opacity:0}.confirm-slide-enter-active[data-v-b49ab992]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.confirm-slide-leave-active[data-v-b49ab992]{transition:all .15s ease}.confirm-slide-enter-from[data-v-b49ab992]{transform:scale(.92) translateY(-12px);opacity:0}.confirm-slide-leave-to[data-v-b49ab992]{transform:scale(.96) translateY(-6px);opacity:0}#app{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;overflow-x:hidden;min-width:0}#app>*{min-width:0}.skip-link{position:absolute;top:-100px;left:0;z-index:9999;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;text-decoration:none;font-weight:600;border-radius:0 0 var(--radius-md) 0;transition:top .2s ease;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip-link:focus{top:0;clip:auto;clip-path:none;overflow:visible;white-space:normal;outline:2px solid var(--color-primary-dark);outline-offset:2px}.app-header{position:sticky;top:0;z-index:1000;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);padding:var(--space-md) 0}.header-content{display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:.5rem;cursor:pointer}.logo-container .logo-icon{width:24px;height:24px;flex-shrink:0;color:var(--color-text-primary);transition:transform .3s ease,color .3s ease}[data-theme=dark] .logo-icon{filter:invert(1) brightness(1.2)}.logo-container:hover .logo-icon{transform:translate(-4px)}.logo-text{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text-primary)}.header-actions{display:flex;gap:var(--space-sm)}.btn-icon{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-lg);background:transparent;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.btn-icon.icon-slide .icon{display:inline-block;transition:transform .3s ease}.btn-icon.icon-slide:hover .icon{transform:translate(-4px)}.theme-icon{width:20px;height:20px;color:var(--color-text-primary);transition:transform .3s ease,color .2s ease}.btn-icon:hover .theme-icon{color:var(--color-primary);transform:translate(-4px)}.flag-icon{width:24px;height:16px;transition:transform .3s ease}.btn-icon:hover .flag-icon{transform:translate(-4px)}.btn-link{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-base);font-weight:500;color:var(--color-primary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-link:hover{background:var(--color-bg-tertiary);color:var(--color-primary-dark)}.btn-link--secondary{color:var(--color-text-secondary)}.btn-link--secondary:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.app-main{padding:var(--space-xl) 0}@media(max-width:768px){.header-actions{gap:var(--space-xs)}.btn-link{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.logo-text{font-size:1rem}}@media(max-width:480px){.btn-link--dashboard{display:none}}.shortcuts-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shortcuts-modal{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.shortcuts-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.close-button{background:none;border:none;cursor:pointer;padding:var(--space-xs);color:var(--color-text-secondary);transition:color .2s ease;display:flex;align-items:center;justify-content:center}.close-button svg{width:20px;height:20px}.close-button:hover{color:var(--color-primary)}.shortcuts-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.shortcut-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base)}.shortcut-item kbd{background:var(--color-bg-secondary);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);box-shadow:0 2px 4px #0000001a;min-width:2rem;text-align:center}.shortcut-item span{color:var(--color-text-secondary);flex:1}.shortcuts-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.shortcuts-footer p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}@media(max-width:480px){.shortcuts-modal{width:95%}.shortcuts-header,.shortcuts-content{padding:var(--space-md)}.shortcuts-header h2{font-size:var(--font-size-lg)}.shortcut-item{font-size:var(--font-size-sm)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:var(--space-2xl)}.error-boundary-inner{max-width:480px;text-align:center}.error-boundary-inner h2{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-md)}.error-boundary-inner p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:var(--line-height-relaxed)}.error-boundary-btn{padding:var(--space-sm) var(--space-xl);font-size:var(--font-size-base);font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease}.error-boundary-btn:hover{background:var(--color-primary-dark)}:root{--radix-slate-1: #fcfcfd;--radix-slate-2: #f9f9fb;--radix-slate-3: #f0f0f5;--radix-slate-4: #e8e8ef;--radix-slate-5: #e0e1ea;--radix-slate-6: #d9d9e3;--radix-slate-7: #cdced9;--radix-slate-8: #b9bac8;--radix-slate-9: #8b8d98;--radix-slate-10: #80828d;--radix-slate-11: #60626c;--radix-slate-12: #1c1d23;--radix-gray-1: #fcfcfc;--radix-gray-2: #f9f9f9;--radix-gray-3: #f0f0f0;--radix-gray-4: #e8e8e8;--radix-gray-5: #e0e0e0;--radix-gray-6: #d9d9d9;--radix-gray-7: #cdcdcd;--radix-gray-8: #b4b4b4;--radix-gray-9: #8d8d8d;--radix-gray-10: #838383;--radix-gray-11: #646464;--radix-gray-12: #202020;--radix-blue-11: #0d74ce;--radix-green-3: #e4fbf0;--radix-green-9: #30a46c;--radix-green-11: #18794e;--radix-red-3: #ffefef;--radix-red-9: #e5484d;--radix-red-11: #cd2b31;--radix-yellow-3: #fff9ed;--radix-yellow-9: #f5d90a;--radix-yellow-11: #946800;--radix-blue-3: #edf6ff;--radix-blue-9: #0090ff}[data-theme=dark]{--radix-slate-1: #111113;--radix-slate-2: #18191f;--radix-slate-3: #212225;--radix-slate-4: #272a2d;--radix-slate-5: #2e3035;--radix-slate-6: #363a3f;--radix-slate-7: #43484e;--radix-slate-8: #5a6169;--radix-slate-9: #696e77;--radix-slate-10: #777b84;--radix-slate-11: #b0b4ba;--radix-slate-12: #edeef0;--radix-gray-1: #111111;--radix-gray-2: #191919;--radix-gray-3: #222222;--radix-gray-4: #2a2a2a;--radix-gray-5: #313131;--radix-gray-6: #3a3a3a;--radix-gray-7: #484848;--radix-gray-8: #606060;--radix-gray-9: #6e6e6e;--radix-gray-10: #7b7b7b;--radix-gray-11: #b4b4b4;--radix-gray-12: #ededec;--radix-blue-11: #70b8ff;--radix-green-3: #0b2211;--radix-green-9: #30a46c;--radix-green-11: #4cc38a;--radix-red-3: #291415;--radix-red-9: #e5484d;--radix-red-11: #ff6369;--radix-yellow-3: #221a00;--radix-yellow-9: #f5d90a;--radix-yellow-11: #f0c000;--radix-blue-3: #0d1d33;--radix-blue-9: #0090ff}:root{--color-accent-solid: var(--radix-slate-12);--color-accent-hover: var(--radix-slate-11);--color-bg-page: var(--radix-gray-1);--color-bg-surface: var(--radix-gray-2);--color-border-default: var(--radix-gray-6);--color-text-secondary: var(--radix-gray-11);--color-text-primary: var(--radix-gray-12);--color-link: var(--radix-blue-11);--color-focus-ring: var(--radix-slate-12);--color-bg-subtle: var(--radix-gray-3);--color-border-subtle: var(--radix-gray-4);--color-border-strong: var(--radix-gray-8);--color-success-bg: var(--radix-green-3);--color-success-solid: var(--radix-green-9);--color-success-text: var(--radix-green-11);--color-error-bg: var(--radix-red-3);--color-error-solid: var(--radix-red-9);--color-error-text: var(--radix-red-11);--color-warning-bg: var(--radix-yellow-3);--color-warning-solid: var(--radix-yellow-9);--color-warning-text: var(--radix-yellow-11);--color-info-bg: var(--radix-blue-3);--color-info-solid: var(--radix-blue-9);--color-info-text: var(--radix-blue-11);--color-available: var(--radix-green-9);--color-available-fg: #fcfcfc;--color-if-needed: var(--radix-yellow-9);--color-if-needed-fg: var(--radix-gray-12);--color-busy: var(--radix-red-9);--color-busy-fg: #fcfcfc;--color-available-muted: #6aaa80;--color-available-faint: #a0c8af;--color-neutral-muted: #8d8d8d;--color-chart-label: var(--radix-gray-12);--color-chart-grid: var(--radix-gray-6);--color-chart-tooltip-bg: var(--radix-gray-1);--color-chart-tooltip-fg: var(--radix-gray-12)}[data-theme=dark]{--color-accent-solid: var(--radix-slate-12);--color-accent-hover: var(--radix-slate-11);--color-bg-page: var(--radix-gray-1);--color-bg-surface: var(--radix-gray-2);--color-border-default: var(--radix-gray-6);--color-text-secondary: var(--radix-gray-11);--color-text-primary: var(--radix-gray-12);--color-link: var(--radix-blue-11);--color-focus-ring: var(--radix-slate-1);--color-bg-subtle: var(--radix-gray-3);--color-border-subtle: var(--radix-gray-4);--color-border-strong: var(--radix-gray-8);--color-success-bg: var(--radix-green-3);--color-success-solid: var(--radix-green-9);--color-success-text: var(--radix-green-11);--color-error-bg: var(--radix-red-3);--color-error-solid: var(--radix-red-9);--color-error-text: var(--radix-red-11);--color-warning-bg: var(--radix-yellow-3);--color-warning-solid: var(--radix-yellow-9);--color-warning-text: var(--radix-yellow-11);--color-info-bg: var(--radix-blue-3);--color-info-solid: var(--radix-blue-9);--color-info-text: var(--radix-blue-11);--color-available: var(--radix-green-9);--color-available-fg: #fcfcfc;--color-if-needed: var(--radix-yellow-9);--color-if-needed-fg: var(--radix-gray-12);--color-busy: var(--radix-red-9);--color-busy-fg: #fcfcfc;--color-available-muted: #4cc38a;--color-available-faint: #2b7a51;--color-neutral-muted: #7b7b7b;--color-chart-label: var(--radix-gray-12);--color-chart-grid: var(--radix-gray-6);--color-chart-tooltip-bg: var(--radix-gray-2);--color-chart-tooltip-fg: var(--radix-gray-12)}:root{--btn-danger-bg: var(--radix-red-9);--btn-danger-fg: #fcfcfc;--btn-danger-border: var(--radix-red-9);--btn-danger-hover-bg: var(--radix-red-11);--btn-danger-disabled-bg: var(--btn-primary-disabled-bg);--btn-danger-disabled-fg: var(--btn-primary-disabled-fg);--btn-primary-bg: var(--radix-slate-12);--btn-primary-fg: var(--radix-gray-1);--btn-primary-border: var(--radix-slate-12);--btn-primary-hover-bg: var(--radix-slate-11);--btn-primary-disabled-bg: var(--radix-gray-5);--btn-primary-disabled-fg: var(--radix-gray-9);--btn-secondary-bg: transparent;--btn-secondary-fg: var(--radix-slate-12);--btn-secondary-border: var(--radix-gray-7);--btn-secondary-hover-bg: var(--radix-gray-3);--btn-secondary-disabled-bg: transparent;--btn-secondary-disabled-fg: var(--radix-gray-9);--btn-secondary-disabled-border: var(--radix-gray-5);--btn-ghost-bg: transparent;--btn-ghost-fg: var(--radix-slate-11);--btn-ghost-border: transparent;--btn-ghost-hover-bg: var(--radix-gray-3);--btn-ghost-disabled-bg: transparent;--btn-ghost-disabled-fg: var(--radix-gray-9)}[data-theme=dark]{--btn-primary-bg: var(--radix-slate-12);--btn-primary-fg: var(--radix-slate-1);--btn-primary-border: var(--radix-slate-12);--btn-primary-hover-bg: var(--radix-slate-11);--btn-primary-disabled-bg: var(--radix-gray-5);--btn-primary-disabled-fg: var(--radix-gray-9);--btn-secondary-bg: transparent;--btn-secondary-fg: var(--radix-slate-12);--btn-secondary-border: var(--radix-gray-7);--btn-secondary-hover-bg: var(--radix-gray-3);--btn-secondary-disabled-bg: transparent;--btn-secondary-disabled-fg: var(--radix-gray-9);--btn-secondary-disabled-border: var(--radix-gray-5);--btn-ghost-bg: transparent;--btn-ghost-fg: var(--radix-slate-11);--btn-ghost-border: transparent;--btn-ghost-hover-bg: var(--radix-gray-3);--btn-ghost-disabled-bg: transparent;--btn-ghost-disabled-fg: var(--radix-gray-9);--btn-danger-hover-bg: var(--radix-red-9)}:root{--font-sans: "Geist", "Geist Sans", Arial, Helvetica, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", "Courier New", monospace;--text-heading-xl-size: 28px;--text-heading-xl-weight: 600;--text-heading-xl-line: 1.2;--text-heading-lg-size: 22px;--text-heading-lg-weight: 600;--text-heading-lg-line: 1.25;--text-heading-md-size: 18px;--text-heading-md-weight: 600;--text-heading-md-line: 1.3;--text-body-size: 15px;--text-body-weight: 400;--text-body-line: 1.5;--text-body-sm-size: 13px;--text-body-sm-weight: 400;--text-body-sm-line: 1.5;--text-caption-size: 12px;--text-caption-weight: 400;--text-caption-line: 1.4;--text-mono-size: 13px;--text-mono-weight: 400;--text-mono-line: 1.5}:root{--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-xs: var(--space-2);--space-sm: var(--space-4);--space-md: var(--space-6);--space-lg: var(--space-8);--space-xl: var(--space-12);--space-2xl: var(--space-16)}:root{--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px}:root{--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .06)}[data-theme=dark]{--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .3)}:root{--duration-fast: .1s;--duration-normal: .15s;--duration-slow: .25s;--easing-default: cubic-bezier(.25, .1, .25, 1);--easing-in: cubic-bezier(.4, 0, 1, 1);--easing-out: cubic-bezier(0, 0, .2, 1);--transition-fast: var(--duration-fast) var(--easing-default);--transition-normal: var(--duration-normal) var(--easing-default);--transition-slow: var(--duration-slow) var(--easing-default)}:root{--breakpoint-mobile: 480px;--breakpoint-mobile-lg: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop: 1200px;--touch-target-min: 44px}:root{--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75}[data-theme=light],:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #E9ECEF;--color-surface: #FFFFFF;--color-text-tertiary: #5A6472;--color-border-light: #DEE2E6;--color-border-medium: #CED4DA;--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-light: #DBEAFE;--color-primary-dark: #1E40AF;--color-success: #28A745;--color-success-light: #D4EDDA;--color-warning: #FFC107;--color-warning-light: #FFF3CD;--color-warning-dark: #856404;--color-error: #DC3545;--color-error-light: #F8D7DA;--color-error-dark: #bd2130;--color-danger: #DC3545;--color-danger-light: #F8D7DA;--color-admin-sidebar-bg: #0F172A;--color-admin-sidebar-text: #94A3B8;--color-admin-sidebar-hover: #1E293B;--color-admin-stat-value: #1E293B;--color-admin-stat-meta: #64748B;--color-admin-card-bg: #FFFFFF;--color-admin-border: #E2E8F0;--color-admin-success-bg: #DCFCE7;--color-admin-success-text: #15803D;--color-admin-warning-bg: #FEF3C7;--color-admin-warning-text: #A16207;--color-admin-info-dot: #10B981}[data-theme=dark]{--color-bg-primary: #111827;--color-bg-secondary: #1F2937;--color-bg-tertiary: #374151;--color-surface: #1F2937;--color-text-tertiary: #B0B7C3;--color-border-light: #374151;--color-border-medium: #4B5563;--color-primary: #60A5FA;--color-primary-hover: #93C5FD;--color-primary-light: #1E3A8A;--color-primary-dark: #2563EB;--color-success: #51CF66;--color-success-light: #2B3A2E;--color-warning: #FFD43B;--color-warning-light: #3D3829;--color-error: #FF6B6B;--color-error-light: #3D2929;--color-danger: #FF6B6B;--color-danger-light: #3D2929;--color-admin-sidebar-bg: #0F172A;--color-admin-sidebar-text: #94A3B8;--color-admin-sidebar-hover: #1E293B;--color-admin-stat-value: #F9FAFB;--color-admin-stat-meta: #94A3B8;--color-admin-card-bg: #1F2937;--color-admin-border: #374151;--color-admin-success-bg: #064E3B;--color-admin-success-text: #6EE7B7;--color-admin-warning-bg: #78350F;--color-admin-warning-text: #FCD34D;--color-admin-info-dot: #34D399}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease!important;transition-delay:0s!important}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;margin:0;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:var(--color-primary-hover);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}button{font-family:var(--font-sans);cursor:pointer}*:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media(prefers-contrast:high){*:focus-visible{outline-width:3px;outline-offset:3px}}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-base);padding:var(--space-sm);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}img{max-width:100%;height:auto;display:block;loading:lazy}img[loading=eager],img[fetchpriority=high]{loading:eager}img[width][height]{aspect-ratio:attr(width) / attr(height)}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--space-sm);max-width:100%}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}button,.btn,a.btn{min-height:var(--touch-target-min)}.card{padding:var(--space-md)}}@media(min-width:481px)and (max-width:768px){html{font-size:15px}.container{padding:0 var(--space-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}button,.btn{min-height:var(--touch-target-min)}}@media(min-width:769px)and (max-width:1024px){.container{max-width:960px}}@media(min-width:1025px){.container{max-width:1200px}}@media(max-height:600px)and (orientation:landscape){.app-main{padding:var(--space-md) 0}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}body.cookie-banner-visible footer,body.cookie-banner-visible .footer{padding-bottom:140px;transition:padding-bottom .3s ease}@media(max-width:768px){body.cookie-banner-visible footer,body.cookie-banner-visible .footer{padding-bottom:200px}}
