*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color-scheme:light;--background: 210 40% 98%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 142.1 76.2% 36.3%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 100%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 142.1 76.2% 36.3%;--radius: .5rem;--primary-dark: #16a34a;--primary-light: #86efac;--secondary-blue: #3b82f6;--secondary-blue-dark: #2563eb;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--info: #06b6d4;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Courier New", monospace}.dark{color-scheme:dark;--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 217.2 32.6% 17.5%;--card-foreground: 210 40% 98%;--popover: 217.2 32.6% 17.5%;--popover-foreground: 210 40% 98%;--primary: 142.1 70.6% 45.3%;--primary-foreground: 222.2 84% 4.9%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 100%;--border: 217.2 32.6% 25%;--input: 217.2 32.6% 25%;--ring: 142.1 70.6% 45.3%;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b}*{border-color:hsl(var(--border))}html{font-size:16px}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;min-height:100vh;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:hsl(var(--foreground));font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{color:hsl(var(--muted-foreground));margin-bottom:1rem}a{color:var(--secondary-blue);text-decoration:none;transition:color .2s}a:hover{color:var(--secondary-blue-dark)}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}input:not([class*=shadcn]),select:not([class*=shadcn]),textarea:not([class*=shadcn]){font-family:inherit;font-size:1rem;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--foreground));width:100%;transition:border-color .2s,box-shadow .2s}input:not([class*=shadcn]):focus,select:not([class*=shadcn]):focus,textarea:not([class*=shadcn]):focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}input::-moz-placeholder{color:hsl(var(--muted-foreground))}input::placeholder{color:hsl(var(--muted-foreground))}label:not([class*=shadcn]){display:block;font-weight:500;margin-bottom:.5rem;color:hsl(var(--foreground))}button:not([class*=shadcn]){font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background-color:hsl(var(--primary) / .9)}.btn-secondary{background:var(--secondary-blue);color:#fff}.btn-secondary:hover{background:var(--secondary-blue-dark)}.btn-outline{border-width:1px;border-color:hsl(var(--border));background-color:transparent;color:hsl(var(--foreground))}.btn-outline:hover{background-color:hsl(var(--accent))}.btn-danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-danger:hover{background-color:hsl(var(--destructive) / .9)}.btn-ghost{background-color:transparent;color:hsl(var(--muted-foreground))}.btn-ghost:hover{background-color:hsl(var(--accent));color:hsl(var(--foreground))}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-icon{padding:.5rem;width:40px;height:40px}.card{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border-radius:var(--radius-lg);padding:1.5rem}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom-width:1px;border-color:hsl(var(--border))}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.025em}.badge-success{background:#22c55e1a;color:#16a34a}.badge-warning{background:#f59e0b1a;color:#d97706}.badge-danger{background:#ef44441a;color:#dc2626}.badge-info{background:#06b6d41a;color:#0891b2}.badge-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1\.5{margin-left:.375rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.min-h-\[80px\]{min-height:80px}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-9{min-width:2.25rem}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-lg{max-width:32rem}.shrink-0{flex-shrink:0}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/20{background-color:hsl(var(--destructive) / .2)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted{color:hsl(var(--muted))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary{color:hsl(var(--secondary))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-muted{color:hsl(var(--muted-foreground))}.text-primary-color{color:hsl(var(--primary))}.text-danger{color:hsl(var(--destructive))}.text-success{color:var(--success)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--muted))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}@media(max-width:768px){h1{font-size:1.875rem}h2{font-size:1.5rem}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.file\:text-sm::file-selector-button{font-size:.875rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:bg-primary[data-state=active],.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=active\]\:text-primary-foreground[data-state=active]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media(min-width:640px){.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0px}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.sm\:rounded-lg{border-radius:var(--radius-lg)}}@media(min-width:768px){.md\:text-sm{line-height:1.25rem;font-size:.875rem}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.layout{display:flex;min-height:100vh}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));padding:0 1rem;align-items:center;z-index:100}.mobile-logo{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.125rem}.mobile-header-spacer{width:40px}.sidebar{width:280px;background:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200}.sidebar-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between}.sidebar-close{display:none}.logo{display:flex;align-items:center;gap:.75rem}.logo-icon{color:hsl(var(--primary))}.logo-text{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground))}.vacation-banner{background:linear-gradient(135deg,var(--warning) 0%,var(--warning) 100%);color:hsl(var(--foreground));padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-align:center}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius);color:hsl(var(--muted-foreground));text-decoration:none;transition:all .2s;margin-bottom:.25rem}.nav-item:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.nav-item-active{background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-weight:500}.nav-item-active:hover{background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between}.sidebar-footer-actions{display:flex;align-items:center;gap:.25rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:hsl(var(--primary));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600}.user-details{display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:500;font-size:.875rem}.user-plan{font-size:.625rem;padding:.125rem .5rem}.main-content{flex:1;margin-left:280px;padding:2rem;background:hsl(var(--background));min-height:100vh}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:150}@media(max-width:1024px){.mobile-header{display:flex}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar-open{transform:translate(0)}.sidebar-close,.sidebar-overlay{display:block}.main-content{margin-left:0;padding:1rem;padding-top:80px}}@media(max-width:640px){.sidebar{width:100%}}.contacts-page{max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.header-content{display:flex;gap:1rem;align-items:flex-start}.header-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.header-text h1{margin-bottom:.5rem}.header-text p{color:var(--text-secondary);max-width:500px;margin:0}.contact-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;text-align:center}.stat-number{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-number.text-success{color:var(--success)}.stat-number.text-warning{color:var(--warning)}.stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.section{margin-bottom:2rem}.section-header{margin-bottom:1rem}.section-header h2{font-size:1.25rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.section-icon{color:var(--text-muted)}.section-icon.warning{color:var(--warning)}.section-icon.premium{color:hsl(var(--warning, 38 92% 50%))}.ml-2{margin-left:.5rem}.pending-list{display:flex;flex-direction:column;gap:.75rem}.pending-card{background:hsl(var(--warning, 38 92% 50%) / .05);border:1px solid hsl(var(--warning, 38 92% 50%) / .2);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.pending-info{display:flex;flex-direction:column;gap:.125rem}.pending-name{font-weight:500;color:var(--text-primary)}.pending-phone{font-size:.875rem;color:var(--text-muted)}.empty-state{background:var(--bg-primary);border:2px dashed var(--border);border-radius:var(--radius-md);padding:3rem 2rem;text-align:center}.empty-icon{width:80px;height:80px;background:var(--bg-tertiary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--text-muted)}.empty-state h3{margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);max-width:400px;margin:0 auto 1.5rem}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.contact-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;position:relative;transition:box-shadow .2s,border-color .2s}.contact-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.priority-badge{position:absolute;top:-8px;right:16px;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.priority-badge.primary{background:linear-gradient(135deg,hsl(var(--warning, 38 92% 50%) / .9),hsl(var(--warning, 38 92% 50%)));color:hsl(var(--warning-foreground, 26 83% 14%))}.priority-badge.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.priority-badge.tertiary,.priority-badge.premium-locked{background:var(--bg-tertiary);color:var(--text-muted)}.premium-tag{background:linear-gradient(135deg,hsl(var(--warning, 38 92% 50%) / .9),hsl(var(--warning, 38 92% 50%)));color:hsl(var(--warning-foreground, 26 83% 14%));padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;margin-left:.25rem}.contact-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-top:.5rem}.contact-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .8));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem;flex-shrink:0}.contact-name{font-size:1.125rem;font-weight:600;margin-bottom:.125rem;color:var(--text-primary)}.contact-relationship{font-size:.875rem;color:var(--text-muted)}.contact-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.contact-detail{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.notification-prefs{margin-bottom:1rem}.notification-prefs h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.pref-list{display:flex;flex-direction:column;gap:.375rem}.pref-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.pref-item.active{color:var(--success)}.pref-item svg{flex-shrink:0}.contact-actions{display:flex;gap:.75rem}.contact-actions .btn-sm{flex:1}.delete-confirm{position:absolute;inset:0;background:var(--bg-primary);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center;animation:fadeIn .2s ease-out}.delete-confirm p{margin-bottom:1rem;font-weight:500}.confirm-actions{display:flex;gap:.75rem}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.permission-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;text-align:center}.permission-icon{width:48px;height:48px;background:var(--bg-tertiary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--text-secondary)}.permission-card h4{font-size:1rem;margin-bottom:.25rem}.permission-card p{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}.dashboard-preview{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}.dashboard-preview>h4{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin-bottom:.25rem}.preview-card{background:var(--bg-tertiary);border-radius:var(--radius);padding:1.25rem}.preview-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.preview-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.preview-info{display:flex;align-items:center;gap:.75rem}.preview-name{font-weight:600}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.preview-stat{display:flex;flex-direction:column;gap:.125rem}.preview-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.preview-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.priority-section{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;position:relative}.priority-section.locked{pointer-events:none}.priority-section.locked .priority-levels,.priority-section.locked .cascade-option{opacity:.4;filter:blur(2px)}.priority-levels{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.priority-level{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:var(--radius);background:var(--bg-tertiary)}.priority-marker{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.priority-level.primary .priority-marker{background:linear-gradient(135deg,hsl(var(--warning, 38 92% 50%) / .9),hsl(var(--warning, 38 92% 50%)));color:hsl(var(--warning-foreground, 26 83% 14%))}.priority-level.secondary .priority-marker{background:var(--border);color:var(--text-secondary)}.priority-level.tertiary .priority-marker{background:var(--border);color:var(--text-muted)}.priority-content h4{font-size:1rem;margin-bottom:.125rem}.priority-content p{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.assigned-contact{font-size:.8125rem;color:var(--primary);font-weight:500}.cascade-option{padding-top:1rem;border-top:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9375rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.premium-overlay{position:absolute;inset:0;background:hsl(var(--background) / .9);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.dark .premium-overlay{background:hsl(var(--background) / .95)}.premium-overlay svg{color:hsl(var(--warning, 38 92% 50%));margin-bottom:.75rem}.premium-overlay p{margin-bottom:1rem;font-weight:500}.modal-overlay{position:fixed;inset:0;background:hsl(var(--foreground) / .5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.5rem}.form-group:last-of-type{margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.header-content{flex-direction:column;align-items:center;text-align:center}.header-text p{max-width:none}.page-header .btn-primary{width:100%}.contact-stats{grid-template-columns:repeat(3,1fr)}.contacts-grid{grid-template-columns:1fr}.pending-card{flex-direction:column;gap:.75rem;align-items:stretch;text-align:center}.permissions-grid{grid-template-columns:repeat(2,1fr)}.preview-stats{grid-template-columns:1fr;gap:.75rem}.priority-level{flex-direction:column;align-items:center;text-align:center}}@media(max-width:480px){.permissions-grid{grid-template-columns:1fr}}.vault-page{max-width:1400px;margin:0 auto;animation:fadeIn .3s ease-out}.vault-header{margin-bottom:2rem}.vault-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.vault-title-section{display:flex;align-items:flex-start;gap:1rem}.vault-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vault-header h1{margin-bottom:.25rem}.vault-header p{margin:0;color:var(--text-secondary);font-size:.9375rem}.vault-dashboard{margin-bottom:1.5rem}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;position:relative}.stat-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-primary{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.stat-icon-info{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.stat-icon-purple{background:hsl(var(--accent-purple, 258 90% 66%) / .1);color:hsl(var(--accent-purple, 258 90% 66%))}.stat-icon-cyan{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.stat-content{display:flex;flex-direction:column;gap:.125rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:.8125rem;color:var(--text-muted)}.health-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--bg-tertiary);border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden}.health-bar-fill{height:100%;border-radius:0 0 0 var(--radius-md);transition:width .5s ease}.health-bar-fill.health-good{background:hsl(var(--primary))}.health-bar-fill.health-warning{background:hsl(var(--warning, 38 92% 50%))}.health-bar-fill.health-danger{background:hsl(var(--destructive))}.last-update{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.8125rem;color:var(--text-muted)}.security-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .04));border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-md);margin-bottom:1.5rem;color:hsl(var(--primary));font-size:.875rem;font-weight:500;flex-wrap:wrap}.dark .security-banner{background:linear-gradient(135deg,hsl(var(--primary) / .12),hsl(var(--primary) / .06));border-color:hsl(var(--primary) / .3)}.security-indicators{display:flex;align-items:center;gap:.75rem;margin-left:auto}.security-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:hsl(var(--primary) / .1);border-radius:var(--radius-full);font-size:.75rem}.vault-categories{margin-bottom:1.5rem}.category-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.category-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s}.category-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.category-tab.active{background:var(--category-color, var(--primary));color:#fff;border-color:var(--category-color, var(--primary))}.category-count{padding:.125rem .5rem;background:hsl(var(--primary-foreground) / .2);border-radius:var(--radius-full);font-size:.6875rem}.category-tab:not(.active) .category-count{background:var(--bg-tertiary)}.vault-items{margin-bottom:2.5rem}.vault-items h2{font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.item-count{font-weight:400;color:var(--text-muted);font-size:1rem}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.vault-item-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:box-shadow .2s,transform .2s}.vault-item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.item-category,.item-priority{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.category-financial{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.category-assets{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.category-legal{background:hsl(var(--accent-purple, 258 90% 66%) / .1);color:hsl(var(--accent-purple, 258 90% 66%))}.category-digital{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.category-passwords{background:hsl(var(--warning, 38 92% 50%) / .1);color:hsl(var(--warning, 38 92% 50%))}.category-wishes{background:hsl(var(--accent-pink, 330 81% 60%) / .1);color:hsl(var(--accent-pink, 330 81% 60%))}.category-messages{background:hsl(var(--accent-teal, 168 76% 42%) / .1);color:hsl(var(--accent-teal, 168 76% 42%))}.category-pets{background:hsl(var(--accent-orange, 25 95% 53%) / .1);color:hsl(var(--accent-orange, 25 95% 53%))}.category-business{background:hsl(var(--accent-indigo, 239 84% 67%) / .1);color:hsl(var(--accent-indigo, 239 84% 67%))}.category-medical{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.category-custom{background:hsl(var(--muted-foreground) / .1);color:hsl(var(--muted-foreground))}.priority-urgent{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.priority-important{background:hsl(var(--warning, 38 92% 50%) / .1);color:hsl(var(--warning, 38 92% 50%))}.priority-informational{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.role-executor{background:hsl(var(--accent-purple, 258 90% 66%) / .1);color:hsl(var(--accent-purple, 258 90% 66%))}.role-recipient{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.role-verifier{background:hsl(var(--info, 199 89% 48%) / .1);color:hsl(var(--info, 199 89% 48%))}.item-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0}.item-content-preview{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.item-attachments{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted)}.item-access{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.item-access svg{color:var(--text-muted);flex-shrink:0}.item-dates{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:var(--text-muted);padding-top:.5rem;border-top:1px solid var(--border)}.item-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}.item-actions .btn-ghost{flex:1}.empty-state{text-align:center;padding:3rem 2rem;background:var(--bg-primary);border:2px dashed var(--border);border-radius:var(--radius-md)}.empty-state svg{color:var(--text-muted);margin-bottom:1rem}.empty-state h3{font-size:1.125rem;margin-bottom:.5rem}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem}.empty-state.compact{padding:2rem 1.5rem}.empty-state.compact p{margin-bottom:0}.trusted-contacts-section{margin-bottom:2.5rem}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.section-header h2{font-size:1.25rem;margin-bottom:.25rem}.section-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.contact-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.875rem}.contact-header{display:flex;align-items:center;gap:.875rem}.contact-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .8));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;flex-shrink:0}.contact-info{flex:1;min-width:0}.contact-info h4{font-size:1rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-relationship{font-size:.8125rem;color:var(--text-muted)}.contact-status{flex-shrink:0}.status-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;text-transform:capitalize}.status-badge.accepted{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.status-badge.pending{background:hsl(var(--warning, 38 92% 50%) / .1);color:hsl(var(--warning, 38 92% 50%))}.status-badge.declined{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.contact-role{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);font-size:.8125rem;font-weight:500}.contact-details{display:flex;flex-direction:column;gap:.375rem}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.contact-detail svg{color:var(--text-muted);flex-shrink:0}.contact-access-info{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);padding-top:.5rem;border-top:1px solid var(--border)}.contact-actions{display:flex;justify-content:flex-end;margin-top:auto}.trigger-settings{margin-bottom:2rem}.trigger-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.trigger-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;gap:1rem}.trigger-card.premium{border-color:hsl(var(--accent-purple, 258 90% 66%) / .3);background:linear-gradient(135deg,hsl(var(--accent-purple, 258 90% 66%) / .05),hsl(var(--accent-purple, 258 90% 66%) / .02))}.trigger-icon{width:48px;height:48px;border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.trigger-card.premium .trigger-icon{background:hsl(var(--accent-purple, 258 90% 66%) / .1);color:hsl(var(--accent-purple, 258 90% 66%))}.trigger-content h4{font-size:.9375rem;font-weight:600;margin:0 0 .375rem}.trigger-content p{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .5rem;line-height:1.5}.trigger-value{font-size:.8125rem;font-weight:600;color:var(--primary)}.trigger-badge{display:inline-flex;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase}.premium-badge{background:hsl(var(--accent-purple, 258 90% 66%) / .1);color:hsl(var(--accent-purple, 258 90% 66%))}.modal-overlay{position:fixed;inset:0;background:hsl(var(--foreground) / .5);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease-out}.modal{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.vault-form-modal{max-width:560px}.contact-form-modal{max-width:480px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.125rem;margin:0}.modal form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem}.form-hint{font-size:.8125rem;color:var(--text-muted);margin:0 0 .75rem}.contact-selection{display:flex;flex-direction:column;gap:.5rem}.contact-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius);cursor:pointer;transition:background .2s}.contact-checkbox:hover{background:var(--bg-tertiary)}.contact-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--primary)}.contact-label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.contact-name{font-weight:500;color:var(--text-primary)}.contact-role-badge{padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500}.no-contacts-hint{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius);color:var(--text-muted);font-size:.875rem}.role-description{padding:.875rem 1rem;background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:1.25rem}.role-description p{font-size:.8125rem;margin:0;line-height:1.6}.invitation-notice{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:hsl(var(--info, 199 89% 48%) / .1);border-radius:var(--radius);color:hsl(var(--info, 199 89% 48%));font-size:.8125rem;margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}@media(max-width:1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.vault-header-content{flex-direction:column;align-items:stretch}.vault-header-content .btn-primary{justify-content:center}.dashboard-stats{grid-template-columns:1fr}.security-banner{flex-direction:column;align-items:flex-start}.security-indicators{margin-left:0;margin-top:.5rem}.category-tabs{padding-bottom:1rem}.items-grid,.contacts-grid,.trigger-cards,.form-row{grid-template-columns:1fr}.modal{margin:.5rem}}@media(max-width:480px){.vault-title-section,.item-header{flex-direction:column;align-items:flex-start}.section-header{flex-direction:column;align-items:stretch}.section-header .btn-outline{justify-content:center}}.notifications-page{max-width:1000px;margin:0 auto}.notifications-grid{display:flex;flex-direction:column;gap:1.5rem}.notification-section{animation:slideUp .3s ease-out}.section-content{display:flex;flex-direction:column;gap:1rem}.section-content>p{margin:0;color:hsl(var(--muted-foreground));font-size:.9375rem}.notification-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.notification-info{display:flex;align-items:center;gap:1rem;flex:1}.notification-icon-wrapper{width:48px;height:48px;border-radius:var(--radius);background:hsl(var(--muted));display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon-wrapper svg{color:hsl(var(--primary))}.notification-icon-wrapper.quiet-hours svg{color:hsl(var(--muted-foreground))}.notification-info>div h3{font-size:.9375rem;font-weight:500;margin-bottom:.125rem}.notification-info>div p{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0}.contact-display{display:block;font-size:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);margin-top:.25rem}.notification-note{padding:.75rem;background:hsl(var(--primary) / .05);border-left:3px solid hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0;font-size:.8125rem;color:hsl(var(--muted-foreground))}.quiet-hours-config{padding-top:1rem;border-top:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:1rem}.time-inputs{display:flex;align-items:flex-end;gap:1rem}.time-input-group{flex:1}.time-input-group label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.time-input-group input[type=time]{width:100%;padding:.5rem .75rem}.time-separator{padding-bottom:.75rem;color:hsl(var(--muted-foreground));font-size:.875rem}.quiet-hours-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#e7b0081a;border-radius:var(--radius);font-size:.8125rem;color:#e7b008}.quiet-hours-warning svg{flex-shrink:0;margin-top:.125rem}.escalation-intro{margin-bottom:.5rem}.escalation-timeline{display:flex;flex-direction:column;gap:0;padding-left:1rem}.escalation-step{display:flex;gap:1rem;position:relative}.step-marker{display:flex;flex-direction:column;align-items:center;min-width:60px}.step-time{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.step-dot{width:12px;height:12px;border-radius:50%;background:hsl(var(--primary));position:relative}.escalation-step:not(:last-child) .step-dot:after{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:2px;height:40px;background:hsl(var(--border))}.escalation-step.final .step-dot{background:hsl(var(--destructive));width:16px;height:16px}.step-content{flex:1;padding-bottom:2rem;display:flex;flex-direction:column;gap:.25rem}.escalation-step:last-child .step-content{padding-bottom:0}.step-action{font-size:.9375rem;font-weight:500}.escalation-step.final .step-action{color:hsl(var(--destructive))}.step-note{font-size:.8125rem;color:hsl(var(--muted-foreground))}.emergency-info h3{font-size:1rem;margin-bottom:.5rem}.emergency-info>p{font-size:.9375rem;margin-bottom:1rem}.emergency-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.emergency-list li{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:hsl(var(--foreground))}.emergency-list svg{color:hsl(var(--primary));flex-shrink:0}.contacts-preview{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.contacts-preview h4{font-size:.875rem;font-weight:500;margin-bottom:1rem;color:hsl(var(--muted-foreground))}.contacts-list{display:flex;flex-direction:column;gap:.75rem}.contact-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:hsl(var(--muted));border-radius:var(--radius)}.contact-avatar{width:36px;height:36px;border-radius:50%;background:hsl(var(--primary));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.contact-details{flex:1;display:flex;flex-direction:column;gap:.125rem}.contact-name{font-weight:500;font-size:.875rem}.contact-relation{font-size:.75rem;color:hsl(var(--muted-foreground))}.contact-status{font-size:.625rem}.test-section .section-content{align-items:flex-start}.test-btn{min-width:200px}.test-btn.sent{background:hsl(var(--primary))}.test-success{color:hsl(var(--primary));font-size:.875rem;margin-top:.5rem}@media(max-width:768px){.notification-item{flex-direction:column;align-items:flex-start}.notification-info{width:100%}.time-inputs{flex-direction:column;align-items:stretch}.time-separator{text-align:center;padding:0}.escalation-timeline{padding-left:0}.step-marker{min-width:50px}}.settings-page{max-width:1000px;margin:0 auto}.page-icon{color:hsl(var(--primary));flex-shrink:0}.page-header p{color:hsl(var(--muted-foreground));margin:0}.settings-grid{display:flex;flex-direction:column;gap:1.5rem}.settings-section{animation:slideUp .3s ease-out}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.section-header svg{color:hsl(var(--primary))}.form-group label{font-weight:500;font-size:.875rem;color:hsl(var(--foreground));margin:0}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.setting-item.compact{padding:1rem 0;border-top:1px solid hsl(var(--border));margin-top:.5rem}.setting-info{flex:1}.setting-info h3{font-size:.9375rem;font-weight:500;margin-bottom:.25rem}.setting-info p{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0}.premium-note{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:#e7b008;margin-top:.5rem}.grace-period-options{display:flex;gap:.5rem}.grace-option{padding:.5rem 1rem;font-size:.875rem;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:var(--radius);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.375rem}.grace-option:hover:not(.disabled){border-color:hsl(var(--primary))}.grace-option.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.grace-option.disabled{opacity:.5;cursor:not-allowed}.checkin-times{display:flex;flex-direction:column;gap:.5rem}.checkin-time-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--muted));border-radius:var(--radius)}.time-display{font-weight:500;font-family:var(--font-mono)}.add-time-btn{margin-top:.5rem}.location-options{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-top:1rem}.radio-option{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .2s}.radio-option:hover{border-color:hsl(var(--primary));background:hsl(var(--muted))}.radio-option.active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.radio-option input[type=radio]{width:auto;margin:0}.radio-option svg{color:hsl(var(--muted-foreground));flex-shrink:0}.radio-option.active svg{color:hsl(var(--primary))}.radio-option>div{display:flex;flex-direction:column;gap:.125rem}.option-title{font-weight:500;font-size:.9375rem}.option-desc{font-size:.8125rem;color:hsl(var(--muted-foreground))}.privacy-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:hsl(var(--muted));border-radius:var(--radius);margin-top:1rem;font-size:.8125rem;color:hsl(var(--muted-foreground))}.privacy-note svg{flex-shrink:0;color:hsl(var(--primary));margin-top:.125rem}.font-size-options{display:flex;gap:.5rem}.font-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:var(--radius);cursor:pointer;transition:all .2s;min-width:80px}.font-option:hover{border-color:hsl(var(--primary))}.font-option.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.font-label{font-size:.625rem;text-transform:capitalize}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:hsl(var(--muted));transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:hsl(var(--card));transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:hsl(var(--primary))}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.accessibility-note{padding:1rem;background:hsl(var(--muted));border-radius:var(--radius);border-left:3px solid hsl(var(--primary))}.accessibility-note p{margin:0;font-size:.8125rem;color:hsl(var(--muted-foreground))}.vacation-dates{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.vacation-active-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#e7b0081a;color:#e7b008;border-radius:var(--radius);font-size:.875rem;font-weight:500}.select-input{width:auto;min-width:150px;padding:.5rem .75rem}.danger-zone .section-header svg{color:hsl(var(--destructive))}.danger-divider{height:1px;background:hsl(var(--destructive));opacity:.2;margin:1rem 0}.setting-item.danger .setting-info h3{color:hsl(var(--destructive))}.delete-confirm{display:flex;flex-direction:column;gap:.75rem;text-align:right}.delete-confirm p{font-size:.8125rem;margin:0}.delete-actions{display:flex;gap:.5rem;justify-content:flex-end}@media(max-width:768px){.setting-item{flex-direction:column;align-items:stretch}.setting-item.compact{flex-direction:row;align-items:center}.grace-period-options,.font-size-options{width:100%;justify-content:space-between}.grace-option,.font-option{flex:1;justify-content:center}.delete-actions{flex-direction:column}.delete-actions button,.select-input{width:100%}}.subscription-page{max-width:1000px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header-content{display:flex;align-items:flex-start;gap:1rem}.page-icon{color:var(--primary);flex-shrink:0}.page-icon.premium-icon{color:var(--warning)}.page-header h1{margin-bottom:.25rem}.page-header p{color:var(--text-secondary);margin:0}.current-plan-section{margin-bottom:1.5rem}.current-plan-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.plan-badge-wrapper{display:flex;align-items:center;gap:.75rem}.plan-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);font-weight:600;font-size:.9375rem}.plan-badge.free{background:var(--bg-tertiary);color:var(--text-secondary)}.plan-badge.premium{background:linear-gradient(135deg,var(--warning) 0%,hsl(32,95%,44%) 100%);color:#fff}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.active{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.billing-info{text-align:right}.billing-info .billing-cycle{font-weight:500;margin:0 0 .25rem}.billing-info .next-billing{font-size:.875rem;color:var(--text-muted);margin:0}.upgrade-prompt{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;background:#f59f0a1a;border-radius:var(--radius);color:var(--warning)}.upgrade-prompt svg{flex-shrink:0}.upgrade-prompt p{margin:0;font-size:.9375rem}.billing-toggle-wrapper{display:flex;justify-content:center;margin-bottom:2rem}.billing-toggle{display:inline-flex;background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:.25rem}.toggle-option{padding:.75rem 1.5rem;border-radius:var(--radius);background:transparent;border:none;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.toggle-option.active{background:hsl(var(--card));color:var(--text-primary);box-shadow:var(--shadow-sm)}.savings-badge{background:linear-gradient(135deg,hsl(var(--primary)) 0%,var(--primary-dark) 100%);color:hsl(var(--primary-foreground));padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.plan-card{position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.plan-card.current{border-color:var(--primary);border-width:2px}.plan-card.premium{background:linear-gradient(135deg,#fffbeb,#fef3c8);border-color:var(--warning)}.plan-card.premium.current{border-color:#db7706;border-width:2px}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--warning) 0%,hsl(32,95%,44%) 100%);color:#fff;padding:.375rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.plan-header{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.plan-card.premium .plan-header{border-color:#f59f0a4d}.premium-title{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.premium-title svg{color:var(--warning)}.plan-header h2{font-size:1.5rem;margin:0 0 1rem}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:.5rem}.plan-price .price{font-size:2.5rem;font-weight:700;color:var(--text-primary)}.plan-card.premium .plan-price .price{color:#db7706}.plan-price .period{font-size:.9375rem;color:var(--text-muted)}.billed-as{font-size:.8125rem;color:var(--text-muted);margin:0 0 .5rem}.plan-description{font-size:.9375rem;color:var(--text-secondary);margin:0}.plan-features{flex:1;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.feature-header{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.feature-item{display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.feature-item.highlight{font-weight:500}.feature-check{color:var(--primary);flex-shrink:0}.plan-card.premium .feature-check{color:var(--primary-dark)}.feature-star{color:var(--warning);margin-left:auto}.plan-action{margin-top:auto}.btn-full{width:100%;justify-content:center}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.section-header svg{color:var(--primary)}.section-header h2{font-size:1.125rem;margin:0}.section-content{display:flex;flex-direction:column;gap:1.5rem}.billing-section{margin-bottom:1.5rem}.billing-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius)}.card-info{display:flex;align-items:center;gap:1rem}.card-icon{width:48px;height:48px;border-radius:var(--radius);background:hsl(var(--card));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.card-icon svg{color:var(--secondary)}.card-details{display:flex;flex-direction:column;gap:.125rem}.card-type{font-weight:500}.card-expiry{font-size:.8125rem;color:var(--text-muted)}.billing-history{padding-top:.5rem}.billing-history h3{font-size:.9375rem;font-weight:500;margin-bottom:1rem}.transaction-list{display:flex;flex-direction:column;gap:.75rem}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius)}.transaction-info{display:flex;flex-direction:column;gap:.125rem}.transaction-desc{font-size:.9375rem}.transaction-date{font-size:.75rem;color:var(--text-muted)}.transaction-amount{font-weight:500;font-family:var(--font-mono)}.view-all-btn{margin-top:.75rem}.faq-section{margin-bottom:1.5rem}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;background:none;border:none;text-align:left;font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:color .2s}.faq-question:hover{color:var(--primary)}.faq-question svg{flex-shrink:0;color:var(--text-muted)}.faq-answer{padding:0 0 1rem}.faq-answer p{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.support-section{margin-bottom:1.5rem}.support-content{display:flex;align-items:center;gap:1rem}.support-icon{color:var(--secondary);flex-shrink:0}.support-content>div{flex:1}.support-content h3{font-size:1rem;margin:0 0 .25rem}.support-content p{font-size:.875rem;color:var(--text-muted);margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-icon{color:var(--warning)}.modal-header h2{margin:0;font-size:1.25rem}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.modal-plan-summary{background:var(--bg-tertiary);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;justify-content:space-between;font-size:.9375rem}.summary-row.savings{color:var(--success);font-weight:500}.modal-payment h3{font-size:.9375rem;margin:0 0 1rem}.payment-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8125rem;font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-guarantee{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:hsl(var(--primary) / .1);border-radius:var(--radius);font-size:.8125rem;color:hsl(var(--primary))}.modal-guarantee svg{flex-shrink:0}.modal-actions{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border)}.modal-actions button{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.pricing-grid{grid-template-columns:1fr}.current-plan-header{flex-direction:column}.billing-info{text-align:left}.billing-toggle{width:100%}.toggle-option{flex:1;justify-content:center}.billing-card{flex-direction:column;align-items:flex-start;gap:1rem}.billing-card button{width:100%}.support-content{flex-direction:column;text-align:center}.support-content button{width:100%}.modal-actions{flex-direction:column}.form-row{grid-template-columns:1fr}}.dark .plan-card.premium{background:linear-gradient(135deg,#32291b,#262117)}.dark .plan-card.premium .plan-price .price{color:var(--warning)}.dark .upgrade-prompt{background:#60482033}
