:root{--bg-primary: #fafbfc;--bg-secondary: #ffffff;--bg-tertiary: #f4f6f8;--text-primary: #1a1d29;--text-secondary: #5a6375;--text-muted: #8892a6;--brand-primary: #6366f1;--brand-primary-hover: #4f46e5;--brand-secondary: #8b5cf6;--brand-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #3b82f6;--border-color: #e5e8ed;--border-radius: 12px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1)}/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: rotateX(0);--tw-rotate-y: rotateY(0);--tw-rotate-z: rotateZ(0);--tw-skew-x: skewX(0);--tw-skew-y: skewY(0);--tw-border-style: solid;--tw-font-weight: initial;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-ease: initial}}}@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--radius-sm: calc(var(--radius) - 4px);--radius-lg: var(--radius);--shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out: cubic-bezier(0, 0, .2, 1);--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-font-feature-settings: var(--font-sans--font-feature-settings);--default-font-variation-settings: var(--font-sans--font-variation-settings);--default-mono-font-family: var(--font-mono);--default-mono-font-feature-settings: var(--font-mono--font-feature-settings);--default-mono-font-variation-settings: var(--font-mono--font-variation-settings);--color-primary: var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:currentColor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color: color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.container{width:100%}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y)}.items-center{align-items:center}.justify-between{justify-content:space-between}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-muted{color:var(--muted)}.text-secondary{color:var(--secondary)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg-primary: #fafbfc;--bg-secondary: #fff;--bg-tertiary: #f4f6f8;--text-primary: #1a1d29;--text-secondary: #5a6375;--text-muted: #8892a6;--brand-primary: #6366f1;--brand-primary-hover: #4f46e5;--brand-secondary: #8b5cf6;--brand-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #3b82f6;--border-color: #e5e8ed;--border-radius: 12px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px #0000000f;--shadow-md: 0 4px 12px #00000014;--shadow-lg: 0 12px 28px #0000001f;--shadow-xl: 0 20px 40px #00000026;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-primary);font-weight:600;line-height:1.3}.btn{border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);padding:2rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input{width:100%;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.badge{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-warning{color:var(--accent-warning);background:#f59e0b1a;border-color:#f59e0b33}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:1rem}.input{width:100%;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);padding:.75rem 1rem;font-family:inherit;font-size:.875rem}.input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:block}.toast{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);align-items:flex-start;gap:1rem;padding:1rem 1.5rem;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex}@media(width<=768px){h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.container{padding:0 1rem}.card{padding:1.25rem}.toast-container{max-width:none;left:1rem;right:1rem}.btn{min-height:44px}.btn-sm{min-height:36px}.table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -1.25rem;padding:0 1.25rem;overflow-x:auto}.table{min-width:600px}.table th,.table td{white-space:nowrap;padding:.75rem .5rem}.form-row{flex-direction:column!important}.form-row>*{flex:100%!important;min-width:100%!important}.badge{padding:.25rem .5rem;font-size:.625rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:1rem}}@media(width<=480px){h1{font-size:1.5rem}h2{font-size:1.125rem}.btn-lg{padding:.75rem 1.25rem;font-size:.875rem}.card{padding:1rem}}:root{--color-text: #0f172a;--color-text-muted: #64748b;--color-bg-from: #f6f9ff;--color-bg-to: #eff6ff;--color-card-bg: #fff;--color-card-border: #0f172a14;--color-primary: #4f46e5;--color-primary-600: #4338ca;--color-primary-700: #3730a3;--color-outline: #4f46e559;--color-outline-weak: #6366f133;--color-input-bg: #f8fafc;--color-input-border: #e2e8f0;--color-input-border-focus: #93c5fd;--color-error: #dc2626;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}body{color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}.min-h-screen{min-height:100vh}.max-w-md{max-width:28rem}.mx-4{margin-left:1rem;margin-right:1rem}.mb-6{margin-bottom:1.5rem}.p-4{padding:1rem}.bg-gradient{background:linear-gradient(135deg,var(--color-bg-from) 0%,var(--color-bg-to) 100%)}.page{display:none}.page.active{display:block}.card{background:var(--color-card-bg);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);transition:transform .22s,box-shadow .22s;box-shadow:0 10px 20px #0206170f,0 2px 6px #0206170f}.card:hover{transform:translateY(-1px);box-shadow:0 16px 30px #0206171f}.card-header{padding:1.25rem 1.25rem 0}.card-content{padding:1.25rem}.card-title{letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.table thead{background:#f8fafc}.table tbody tr:hover{background:#f4f7fb}.table-actions{gap:.5rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-size:.875rem;font-weight:500}.input,.select{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);padding:.6rem .8rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder{color:#94a3b8}.input:focus,.select:focus{border-color:var(--color-input-border-focus);box-shadow:0 0 0 4px var(--color-outline-weak);background:#fff;outline:none}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .22s,background .22s,border-color .22s,color .22s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 6px 14px #4f46e540}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);border-color:var(--color-primary-600);transform:translateY(-1px)}.btn-primary:focus-visible{box-shadow:0 0 0 4px var(--color-outline);outline:none}.btn-outline{color:#334155;background:none;border-color:#cbd5e1}.btn-outline:hover{background:#f1f5f9}.btn-sm{padding:.3rem .7rem;font-size:.8rem}.btn-destructive{color:var(--color-error);border-color:var(--color-error)}.btn-destructive:hover{background:#fef2f2}.tabs-list{border-radius:var(--radius-sm);background:#eef2ff;border:1px solid #e0e7ff;grid-template-columns:1fr 1fr;margin-bottom:1.2rem;padding:.3rem;display:grid}.tab-trigger{cursor:pointer;color:#475569;background:none;border:none;border-radius:10px;padding:.55rem 1rem;font-weight:600;transition:all .22s}.tab-trigger.active{color:#111827;background:#fff;box-shadow:0 4px 10px #02061714}.tab-content{display:none}.tab-content.active{display:block}.config-tabs{border-radius:var(--radius-sm);background:#eef2ff;border:1px solid #e0e7ff;grid-template-columns:1fr 1fr;margin-bottom:1.2rem;padding:.3rem;display:grid}.config-tab-trigger{cursor:pointer;color:#475569;background:none;border:none;border-radius:10px;padding:.55rem 1rem;font-weight:600;transition:all .22s}.config-tab-trigger.active{color:#111827;background:#fff;box-shadow:0 4px 10px #02061714}.config-tab-content{display:none}.config-tab-content.active{display:block}.container{max-width:72rem;margin:0 auto;padding:1.25rem}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.header-content{flex:1;min-width:0}.dashboard-title{letter-spacing:-.02em;word-break:break-word;margin-bottom:.4rem;font-size:2rem;font-weight:700}.dashboard-subtitle{color:var(--color-text-muted)}.location-selector{flex-direction:column;gap:1rem;display:flex}.location-selector label{color:#374151;margin-bottom:.75rem;font-size:.875rem;font-weight:500}.location-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.location-card{cursor:pointer;background:#f8fafc;border:2px solid #e5e7eb;border-radius:14px;padding:1rem;transition:all .22s;position:relative;overflow:hidden}.location-card:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 16px #02061714}.location-card.selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 4px #3b82f626}.location-card.selected:after{content:"вњ“";color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:.75rem;right:.75rem}.location-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.location-flag{background:#fff;border:1px solid #e5e7eb;border-radius:.4rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;display:flex;box-shadow:0 2px 6px #0206171a}.location-name{color:#111827;font-size:.95rem;font-weight:700}.location-description{color:#6b7280;font-size:.86rem;line-height:1.5}.create-config-form{align-items:flex-end;gap:1rem;display:flex}.select-group{flex-direction:column;flex:1;gap:.5rem;display:flex}.select-group label{font-size:.875rem;font-weight:500}.configs-list{flex-direction:column;gap:1rem;display:flex}.config-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;transition:box-shadow .22s,transform .22s;display:flex}.config-item:hover{transform:translateY(-1px);box-shadow:0 6px 16px #02061714}.config-info{flex:1;min-width:0}.config-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.config-name{word-break:break-word;align-items:center;gap:.5rem;font-weight:500;display:flex}.badge{color:#4f46e5;white-space:nowrap;background:#eef2ff;border:1px solid #e0e7ff;border-radius:9999px;padding:.18rem .55rem;font-size:.72rem;font-weight:600}.config-date{color:var(--color-text-muted);font-size:.88rem}.config-actions{flex-shrink:0;gap:.5rem;display:flex}.header-controls{flex-wrap:wrap}.dashboard-footer{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 2rem;display:flex}.dashboard-footer .footer-links,.dashboard-footer .footer-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media(width<=640px){.dashboard-footer{flex-direction:column;align-items:stretch}}.empty-state{text-align:center;color:#64748b;padding:2rem}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fffffff5,#ffffffeb);border-bottom:1px solid #0f172a0f;position:sticky;top:0}.site-nav{justify-content:space-between;align-items:center;padding:.6rem 1.25rem;display:flex}.site-logo{letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.site-links{align-items:center;gap:.75rem;display:flex}.site-link{color:var(--color-text-muted);border-bottom:1px solid #0000;border-radius:8px;padding:.25rem .35rem;font-weight:600;text-decoration:none}.site-link:hover{color:var(--color-text);background:#0f172a0a}.site-actions{align-items:center;gap:.5rem;display:flex}.menu-toggle{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;width:40px;height:36px;display:none}.menu-toggle .menu-icon{background:#334155;border-radius:2px;width:18px;height:2px;display:block;position:relative}.menu-toggle .menu-icon:before,.menu-toggle .menu-icon:after{content:"";background:#334155;width:18px;height:2px;position:absolute;left:0}.menu-toggle .menu-icon:before{top:-6px}.menu-toggle .menu-icon:after{top:6px}.mobile-menu{background:#fff;border-bottom:1px solid #0f172a0f}.mobile-menu .mobile-menu-inner{flex-direction:column;gap:.5rem;padding:.75rem 1.25rem 1rem;display:flex}.mobile-link{color:#334155;border-radius:8px;padding:.5rem .25rem;font-weight:600;text-decoration:none}.mobile-link:hover{background:#f1f5f9}.hero{background:linear-gradient(135deg,var(--color-bg-from) 0%,var(--color-bg-to) 100%);padding:3.5rem 0 2.5rem}.hero-inner{align-items:center;display:flex}.hero-content{max-width:840px}.hero-title{letter-spacing:-.02em;margin-bottom:.6rem;font-size:2.2rem;font-weight:800}.hero-subtitle{color:var(--color-text-muted);max-width:56rem;font-size:1rem}.hero-cta{gap:.75rem;margin-top:1rem;display:flex}.hero-meta{color:var(--color-text-muted);margin-top:.6rem;font-size:.95rem}.section{background:#f8fafc;padding:2.25rem 0}.features-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.feature-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:14px;padding:1rem}.feature-emoji{font-size:1.25rem}.feature-title{margin-top:.35rem;margin-bottom:.25rem;font-weight:700}.feature-text{color:var(--color-text-muted)}.steps{flex-wrap:wrap;gap:1rem;display:flex}.step{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:14px;flex:280px;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.step-num{color:#4f46e5;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:flex}.step-body h4{margin:0 0 .25rem;font-weight:700}.step-body p{color:var(--color-text-muted);margin:0}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.price-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);text-align:center;border-radius:14px;padding:1rem}.price-title{font-weight:800}.price-sub{color:var(--color-text-muted);margin-top:.1rem;margin-bottom:.5rem}.price-value{font-size:1.1rem;font-weight:800}@media(prefers-color-scheme:dark){.site-header{background:linear-gradient(#0f1028bf,#0f10288c);border-bottom-color:#94a3b81f}.site-link:hover{background:#94a3b81f}}.toast-container{z-index:1000;flex-direction:column;gap:.75rem;max-width:24rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid;border-radius:14px;align-items:center;gap:.75rem;min-width:20rem;padding:1rem 1.25rem;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.175,.885,.32,1.275) slideInRight;display:flex;position:relative;box-shadow:0 16px 30px #00000014}.toast.removing{animation:.2s ease-in-out forwards slideOutRight}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:600;display:flex}.toast-content{flex:1;line-height:1.4}.toast-close{cursor:pointer;opacity:.7;background:none;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:opacity .2s;display:flex}.toast-close:hover{opacity:1}.toast.success{color:#166534;background:#f0fdf4f2;border-color:#bbf7d0}.toast.success .toast-icon{color:#fff;background:#16a34a}.toast.success .toast-close{color:#166534}.toast.error{color:#dc2626;background:#fef2f2f2;border-color:#fecaca}.toast.error .toast-icon{color:#fff;background:#dc2626}.toast.error .toast-close{color:#dc2626}.toast.info{color:#1d4ed8;background:#eff6fff2;border-color:#bfdbfe}.toast.info .toast-icon{color:#fff;background:#3b82f6}.toast.info .toast-close{color:#1d4ed8}.toast:before{content:"";opacity:.3;background:currentColor;border-radius:0 0 .75rem .75rem;height:3px;animation:3s linear forwards progress;position:absolute;bottom:0;left:0}@keyframes progress{0%{width:100%}to{width:0%}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.8)}}.spinner{border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:2.2rem;height:2.2rem;margin:0 auto 1rem;animation:.9s linear infinite spin}@media(width<=640px){.container{padding:1rem}.hero{padding:2.25rem 0 1.25rem}.hero-title{font-size:1.6rem}.hero-cta{flex-wrap:wrap}.site-links{display:none}.site-actions{gap:.5rem;display:flex}.site-actions [data-theme-toggle],.menu-toggle{display:inline-flex}.mobile-menu[hidden]{display:none}.mobile-menu{display:block}.features-grid{grid-template-columns:1fr}.steps{flex-direction:column}.step{flex:none;padding:.75rem .9rem}.step-num{width:1.6rem;height:1.6rem;font-size:.8rem}.pricing-grid{grid-template-columns:1fr}.dashboard-header,.create-config-form,.config-item{flex-direction:column;align-items:stretch}.config-actions{justify-content:flex-start}.dashboard-title{font-size:1.5rem}.card-header{padding:1rem 1rem 0}.card-content{padding:1rem}.location-grid{grid-template-columns:1fr}.toast-container{max-width:none;top:.5rem;left:.5rem;right:.5rem}.toast{min-width:auto}}@media(width<=480px){.mx-4{margin-left:.5rem;margin-right:.5rem}.p-4{padding:.5rem}.location-card{padding:.75rem}.location-flag{width:1.5rem;height:1.5rem;font-size:.875rem}}@media(prefers-reduced-motion:reduce){.toast,.location-card,.btn,.input,.select{transition:none;animation:none}}.location-card:focus{outline-offset:2px;outline:2px solid #3b82f6}.toast-close:focus{outline-offset:2px;outline:1px solid}@media(hover:hover){.btn:not(:disabled):hover{transform:translateY(-1px)}}::selection{color:#111827;background:#4f46e533}@media(prefers-color-scheme:dark){:root{--color-text: #e5e7eb;--color-text-muted: #94a3b8;--color-bg-from: #0b1020;--color-bg-to: #0a182e;--color-card-bg: #0f172a;--color-card-border: #94a3b81f;--color-input-bg: #0b1220;--color-input-border: #1f2a3a;--color-input-border-focus: #60a5fa;--color-outline: #3b82f659;--color-outline-weak: #3b82f638}body{color:var(--color-text)}.card{background:var(--color-card-bg)}.card-title{color:#eef2ff}.card-description{color:var(--color-text-muted)}.tabs-list{background:#121a2d;border-color:#1e293b}.tab-trigger{color:#93a3bf}.tab-trigger.active{color:#e2e8f0;background:#0b1220}.table thead{background:#0b1220}.table th,.table td{color:var(--color-text);border-bottom-color:#1e293b}.table tbody tr:hover{background:#0b1220}.input,.select{background:var(--color-input-bg);color:var(--color-text)}.btn-outline{color:#cbd5e1;border-color:#334155}.btn-outline:hover{background:#121a2d}.location-card{background:#0b1220;border-color:#1e293b}.location-card:hover{background:#0d1526;border-color:#334155}.location-card.selected{background:#0d1526;box-shadow:0 0 0 4px #60a5fa2e}.location-flag{background:#0f172a;border-color:#1e293b}.location-name{color:#e5e7eb}.location-description{color:#94a3b8}.config-item{background:#0b1220;border-color:#1e293b}.badge{color:#c7d2fe;background:#4f46e526;border:1px solid #6366f140}.toast.success{color:#34d399;background:#064e3b33;border-color:#22c55e4d}.toast.error{color:#f87171;background:#7f1d1d33;border-color:#f871714d}.toast.info{color:#93c5fd;background:#1e3a8a33;border-color:#93c5fd4d}}html[data-theme=light]{--color-text: #0b1220;--color-text-muted: #5b6b80;--color-bg-from: #f6f9ff;--color-bg-to: #eff6ff;--color-card-bg: #fff;--color-card-border: #0f172a14;--color-primary: #4f46e5;--color-primary-600: #4338ca;--color-primary-700: #3730a3;--color-outline: #4f46e559;--color-outline-weak: #6366f133;--color-input-bg: #f8fafc;--color-input-border: #e2e8f0;--color-input-border-focus: #93c5fd;--color-error: #dc2626}html[data-theme=dark]{--color-text: #e5e7eb;--color-text-muted: #94a3b8;--color-bg-from: #0b1020;--color-bg-to: #0a182e;--color-card-bg: #0f172a;--color-card-border: #94a3b81f;--color-input-bg: #0b1220;--color-input-border: #1f2a3a;--color-input-border-focus: #60a5fa;--color-outline: #3b82f659;--color-outline-weak: #3b82f638}html[data-theme=dark] body{color:var(--color-text)}html[data-theme=dark] .card{background:var(--color-card-bg)}html[data-theme=dark] .card-title{color:#eef2ff}html[data-theme=dark] .card-description{color:var(--color-text-muted)}html[data-theme=dark] body{background:#0b1020}html[data-theme=dark] .section{background:#0b1220}html[data-theme=dark] .site-header{background:linear-gradient(#0f1028e6,#0f1028cc);border-bottom-color:#94a3b81f}html[data-theme=dark] .site-link:hover{background:#94a3b81f}html[data-theme=dark] .tabs-list{background:#121a2d;border-color:#1e293b}html[data-theme=dark] .tab-trigger{color:#93a3bf}html[data-theme=dark] .tab-trigger.active{color:#e2e8f0;background:#0b1220}html[data-theme=dark] .config-tabs{background:#121a2d;border-color:#1e293b}html[data-theme=dark] .config-tab-trigger{color:#93a3bf}html[data-theme=dark] .config-tab-trigger.active{color:#e2e8f0;background:#0b1220}html[data-theme=dark] .table thead{background:#0b1220}html[data-theme=dark] .table th,html[data-theme=dark] .table td{color:var(--color-text);border-bottom-color:#1e293b}html[data-theme=dark] .table tbody tr:hover{background:#0b1220}html[data-theme=dark] .input,html[data-theme=dark] .select{background:var(--color-input-bg);color:var(--color-text)}html[data-theme=dark] .btn-outline{color:#cbd5e1;border-color:#334155}html[data-theme=dark] .btn-outline:hover{background:#121a2d}html[data-theme=dark] .btn-primary{background:linear-gradient(#6366f1,#4f46e5);border-color:#4f46e5;box-shadow:0 6px 14px #6366f140}html[data-theme=dark] .location-card{background:#0b1220;border-color:#1e293b}html[data-theme=dark] .location-card:hover{background:#0d1526;border-color:#334155}html[data-theme=dark] .location-card.selected{background:#0d1526;box-shadow:0 0 0 4px #60a5fa2e}html[data-theme=dark] .location-flag{background:#0f172a;border-color:#1e293b}html[data-theme=dark] .location-name{color:#e5e7eb}html[data-theme=dark] .location-description{color:#94a3b8}html[data-theme=dark] .config-item{background:#0b1220;border-color:#1e293b}html[data-theme=dark] .badge{color:#c7d2fe;background:#4f46e526;border:1px solid #6366f140}html[data-theme=dark] .toast.success{color:#34d399;background:#064e3b33;border-color:#22c55e4d}html[data-theme=dark] .toast.error{color:#f87171;background:#7f1d1d33;border-color:#f871714d}html[data-theme=dark] .toast.info{color:#93c5fd;background:#1e3a8a33;border-color:#93c5fd4d}html[data-theme=light] body{color:var(--color-text)}html[data-theme=light] .card{background:var(--color-card-bg)}html[data-theme=light] .card-title{color:#111827}html[data-theme=light] .card-description{color:var(--color-text-muted)}html[data-theme=light] .tabs-list{background:#eef2ff;border-color:#e0e7ff}html[data-theme=light] .tab-trigger{color:#475569}html[data-theme=light] .tab-trigger.active{color:#111827;background:#fff}html[data-theme=light] .config-tabs{background:#eef2ff;border-color:#e0e7ff}html[data-theme=light] .config-tab-trigger{color:#475569}html[data-theme=light] .config-tab-trigger.active{color:#111827;background:#fff}html[data-theme=light] .table thead{background:#f8fafc}html[data-theme=light] .table th,html[data-theme=light] .table td{color:var(--color-text);border-bottom-color:#e5e7eb}html[data-theme=light] .table tbody tr:hover{background:#f4f7fb}html[data-theme=light] .input,html[data-theme=light] .select{background:var(--color-input-bg);color:var(--color-text)}html[data-theme=light] .btn-outline{color:#334155;border-color:#cbd5e1}html[data-theme=light] .btn-outline:hover{background:#f1f5f9}html[data-theme=light] .btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 6px 14px #4f46e540}html[data-theme=light] .btn-primary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}html[data-theme=light] .location-card{background:#f8fafc;border-color:#e5e7eb}html[data-theme=light] .location-card:hover{background:#f1f5f9;border-color:#cbd5e1}html[data-theme=light] .location-card.selected{background:#eff6ff;box-shadow:0 0 0 4px #3b82f626}html[data-theme=light] .location-flag{background:#fff;border-color:#e5e7eb}html[data-theme=light] .location-name{color:#111827}html[data-theme=light] .location-description{color:#6b7280}html[data-theme=light] .config-item{background:#f9fafb;border-color:#e5e7eb}html[data-theme=light] .badge{color:#000;background:#eef2ff;border:1px solid #e0e7ff}html[data-theme=light] .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom-color:#0f172a0f;box-shadow:0 1px #0f172a0f}html[data-theme=light] .toast.success{color:#166534;background:#f0fdf4f2;border-color:#bbf7d0}html[data-theme=light] .toast.error{color:#dc2626;background:#fef2f2f2;border-color:#fecaca}html[data-theme=light] .toast.info{color:#1d4ed8;background:#eff6fff2;border-color:#bfdbfe}:root{--bg-primary: #fafbfc;--bg-secondary: #fff;--bg-tertiary: #f4f6f8;--text-primary: #1a1d29;--text-secondary: #5a6375;--text-muted: #8892a6;--brand-primary: #6366f1;--brand-primary-hover: #4f46e5;--brand-secondary: #8b5cf6;--brand-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #3b82f6;--border-color: #e5e8ed;--border-radius: 12px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px #0000000f;--shadow-md: 0 4px 12px #00000014;--shadow-lg: 0 12px 28px #0000001f;--shadow-xl: 0 20px 40px #00000026;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--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: 2rem;--font-size-4xl: 2.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0f1117;--bg-secondary: #1a1d29;--bg-tertiary: #252936;--text-primary: #f0f2f5;--text-secondary: #b4b9c7;--text-muted: #6b7280;--border-color: #2d3142;--shadow-sm: 0 1px 3px #0000004d;--shadow-md: 0 4px 12px #0006;--shadow-lg: 0 12px 28px #00000080;--shadow-xl: 0 20px 40px #0009}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.3}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(--spacing-md);color:var(--text-secondary)}a{color:var(--brand-primary);transition:color var(--transition-fast);text-decoration:none}.container{width:100%;max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) 0;transition:all var(--transition-base);background:#fffc;position:sticky;top:0}[data-theme=dark] .header{background:#1a1d29cc}.header-content{justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.logo{font-size:var(--font-size-xl);background:var(--brand-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.03em;background-clip:text;font-weight:700}.nav{align-items:center;gap:var(--spacing-lg);display:flex}.nav-link{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);transition:all var(--transition-fast);font-weight:500}.nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;padding:.625rem 1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary:hover{background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:none}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-lg{font-size:var(--font-size-base);padding:.875rem 1.75rem}.btn-sm{font-size:var(--font-size-xs);padding:.375rem .875rem}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-lg)}.card-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:600}.card-description{color:var(--text-secondary);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:500;display:block}.form-input{width:100%;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);padding:.75rem 1rem}.form-input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-error{color:var(--accent-error);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.hero{padding:var(--spacing-2xl) 0;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f10d,#0000 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.hero-content{z-index:1;max-width:800px;margin:0 auto;position:relative}.hero-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg);font-weight:700;line-height:1.2}.hero-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.hero-actions{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.grid{gap:var(--spacing-lg);display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.badge{font-size:var(--font-size-xs);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:9999px;align-items:center;padding:.25rem .75rem;font-weight:500;display:inline-flex}.badge-primary{color:var(--brand-primary);background:#6366f11a;border-color:#6366f133}.badge-success{color:var(--accent-success);background:#10b9811a;border-color:#10b98133}.toast-container{top:var(--spacing-lg);right:var(--spacing-lg);z-index:1000;gap:var(--spacing-md);flex-direction:column;max-width:400px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex}.toast.toast-success{border-left:3px solid var(--accent-success)}.toast.toast-error{border-left:3px solid var(--accent-error)}.toast.toast-info{border-left:3px solid var(--accent-info)}.loading{border:2px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.6s linear infinite spin;display:inline-block}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-medium{font-weight:500}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.w-full{width:100%}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mobile-menu-toggle{cursor:pointer;padding:var(--spacing-sm);background:none;border:none;display:none}.mobile-menu-icon{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-base);position:relative}.mobile-menu-icon:before,.mobile-menu-icon:after{content:"";background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-base);position:absolute}.mobile-menu-icon:before{top:-7px}.mobile-menu-icon:after{top:7px}@media(width<=768px){.hero-title{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-base)}.nav{display:none}.mobile-menu-toggle{display:block}.card{padding:var(--spacing-lg)}.container{padding:0 var(--spacing-md)}.toast-container{left:var(--spacing-md);right:var(--spacing-md);max-width:none}}.auth-page{min-height:100vh;padding:var(--spacing-xl) var(--spacing-md);background:var(--bg-primary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:var(--brand-gradient);opacity:.03;width:50%;height:100%;position:absolute;top:0;right:0;transform:skew(-15deg)}.auth-card{z-index:1;width:100%;max-width:450px;position:relative}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm)}.auth-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.divider{align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--text-muted);font-size:var(--font-size-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--border-color);flex:1;height:1px}.dashboard-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.stat-value{font-size:var(--font-size-3xl);color:var(--text-primary);font-weight:700}.config-list{gap:var(--spacing-md);flex-direction:column;display:flex}.config-item{padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);justify-content:space-between;align-items:center;display:flex}.config-item:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.config-info{flex:1}.config-name{margin-bottom:var(--spacing-xs);font-weight:500}.config-meta{font-size:var(--font-size-sm);color:var(--text-secondary)}.config-actions{gap:var(--spacing-sm);display:flex}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-muted)}.empty-state-icon{margin-bottom:var(--spacing-lg);opacity:.5;font-size:3rem}.footer{padding:var(--spacing-xl) 0;border-top:1px solid var(--border-color);margin-top:var(--spacing-2xl)}.footer-content{justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.footer-links{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.footer-link{font-size:var(--font-size-sm);color:var(--text-secondary)}.footer-link:hover{color:var(--text-primary)}:root{--font-size: 16px;--background: #fff;--foreground: oklch(.145 0 0);--card: #fff;--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: #030213;--primary-foreground: oklch(1 0 0);--secondary: oklch(.95 .0058 264.53);--secondary-foreground: #030213;--muted: #ececf0;--muted-foreground: #717182;--accent: #e9ebef;--accent-foreground: #030213;--destructive: #d4183d;--destructive-foreground: #fff;--border: #0000001a;--input: transparent;--input-background: #f3f3f5;--switch-background: #cbced4;--font-weight-medium: 500;--font-weight-normal: 400;--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: #030213;--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.145 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(.269 0 0);--input: oklch(.269 0 0);--ring: oklch(.439 0 0);--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.269 0 0);--sidebar-ring: oklch(.439 0 0)}html{font-size:var(--font-size)}@property --tw-rotate-x{syntax: "*"; inherits: false; initial-value: rotateX(0);}@property --tw-rotate-y{syntax: "*"; inherits: false; initial-value: rotateY(0);}@property --tw-rotate-z{syntax: "*"; inherits: false; initial-value: rotateZ(0);}@property --tw-skew-x{syntax: "*"; inherits: false; initial-value: skewX(0);}@property --tw-skew-y{syntax: "*"; inherits: false; initial-value: skewY(0);}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: "*"; inherits: false}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false}@property --tw-brightness{syntax: "*"; inherits: false}@property --tw-contrast{syntax: "*"; inherits: false}@property --tw-grayscale{syntax: "*"; inherits: false}@property --tw-hue-rotate{syntax: "*"; inherits: false}@property --tw-invert{syntax: "*"; inherits: false}@property --tw-opacity{syntax: "*"; inherits: false}@property --tw-saturate{syntax: "*"; inherits: false}@property --tw-sepia{syntax: "*"; inherits: false}@property --tw-drop-shadow{syntax: "*"; inherits: false}@property --tw-drop-shadow-color{syntax: "*"; inherits: false}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false}@property --tw-ease{syntax: "*"; inherits: false}:root{--bg-primary: #fafbfc;--bg-secondary: #ffffff;--bg-tertiary: #f4f6f8;--text-primary: #1a1d29;--text-secondary: #5a6375;--text-muted: #8892a6;--brand-primary: #6366f1;--brand-primary-hover: #4f46e5;--brand-secondary: #8b5cf6;--brand-gradient: linear-gradient( 135deg, #667eea 0%, #764ba2 100%);--accent-success: #10b981;--accent-warning: #f59e0b;--accent-error: #ef4444;--accent-info: #3b82f6;--border-color: #e5e8ed;--border-radius: 12px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0f1117;--bg-secondary: #1a1d29;--bg-tertiary: #252936;--text-primary: #f0f2f5;--text-secondary: #b4b9c7;--text-muted: #6b7280;--border-color: #2d3142;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden}.app{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:1rem}a{color:var(--brand-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand-primary-hover)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-sm{max-width:600px}.container-md{max-width:900px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;font-family:inherit}.btn-primary{background:var(--brand-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover:not(:disabled){background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-sm{padding:.375rem .875rem;font-size:.75rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-full{width:100%}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);font-family:inherit}.form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.badge-primary{background:#6366f11a;color:var(--brand-primary);border-color:#6366f133}.badge-success{background:#10b9811a;color:var(--accent-success);border-color:#10b98133}.badge-warning{background:#f59e0b1a;color:var(--accent-warning);border-color:#f59e0b33}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:var(--bg-tertiary)}.table tbody tr:last-child td{border-bottom:none}.input{width:100%;padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all var(--transition-base);font-family:inherit}.input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--text-muted)}.label{display:block;font-size:.75rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:1rem;max-width:400px}.toast{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border-left:3px solid var(--accent-success)}.toast-error{border-left:3px solid var(--accent-error)}.toast-info{border-left:3px solid var(--accent-info)}.loading{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-semibold{font-weight:600}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-items:center}.grid-3>*{width:100%;max-width:400px}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:.5rem}.gap-md{gap:1rem}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.container{padding:0 1rem}.card{padding:1.25rem}.toast-container{left:1rem;right:1rem;max-width:none}.btn{min-height:44px}.btn-sm{min-height:36px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1.25rem;padding:0 1.25rem}.table{min-width:600px}.table th,.table td{padding:.75rem .5rem;white-space:nowrap}.form-row{flex-direction:column!important}.form-row>*{flex:1 1 100%!important;min-width:100%!important}.badge{font-size:.625rem;padding:.25rem .5rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){h1{font-size:1.5rem}h2{font-size:1.125rem}.btn-lg{padding:.75rem 1.25rem;font-size:.875rem}.card{padding:1rem}}
