*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.col-span-1{grid-column:span 1/span 1}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-64{height:16rem}.h-80{height:20rem}.h-\[1px\]{height:1px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[400px\]{max-height:400px}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-48{width:12rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[260px\]{width:260px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:42rem}.max-w-\[420px\]{max-width:420px}.max-w-\[85\%\]{max-width:85%}.max-w-container-max{max-width:1280px}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * 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))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.125rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:.75rem}.rounded-lg{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.5rem}.rounded-t-xl{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-outline-variant{border-color:color-mix(in srgb, var(--color-text) 20%, transparent)}.border-primary-container{border-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.border-transparent{border-color:#0000}.border-white\/50{border-color:#ffffff80}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{background-color:var(--color-bg)}.bg-black\/50{background-color:#00000080}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-error\/10{background-color:#ba1a1a1a}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-outline-variant{background-color:color-mix(in srgb, var(--color-text) 20%, transparent)}.bg-primary{background-color:var(--color-primary)}.bg-primary-container{background-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary-container{background-color:color-mix(in srgb, var(--color-secondary) 20%, var(--color-bg))}.bg-surface{background-color:var(--color-bg)}.bg-surface-container-high{background-color:color-mix(in srgb, var(--color-bg) 90%, var(--color-text))}.bg-surface-container-low{background-color:color-mix(in srgb, var(--color-bg) 98%, var(--color-text))}.bg-surface-container-lowest{background-color:var(--color-bg)}.bg-transparent{background-color:#0000}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-base{padding:8px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-margin-mobile{padding-left:16px;padding-right:16px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-24{padding-bottom:6rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-body-md{font-family:Inter}.font-display-lg,.font-display-lg-mobile,.font-headline-sm{font-family:Playfair Display}.font-label-md,.font-label-sm,.font-title-lg{font-family:Inter}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[28px\]{font-size:28px}.text-body-md{font-size:16px;font-weight:400;line-height:24px}.text-display-lg{letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:56px}.text-display-lg-mobile{font-size:32px;font-weight:700;line-height:40px}.text-headline-sm{font-size:24px;font-weight:600;line-height:32px}.text-label-md{letter-spacing:.05em;font-size:14px;font-weight:500;line-height:20px}.text-label-sm{font-size:12px;font-weight:500;line-height:16px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title-lg{font-size:20px;font-weight:600;line-height:28px}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(186 26 26/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-on-background{color:var(--color-text)}.text-on-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-primary-container{color:var(--color-text)}.text-on-secondary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-secondary-container{color:var(--color-text)}.text-on-secondary\/70{color:#ffffffb3}.text-on-surface{color:var(--color-text)}.text-on-surface-variant{color:color-mix(in srgb, var(--color-text) 70%, transparent)}.text-outline{color:color-mix(in srgb, var(--color-text) 40%, transparent)}.text-primary{color:var(--color-primary)}.text-primary-container{color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-\[0_-4px_12px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 -4px 12px #0000000d;--tw-shadow-colored:0 -4px 12px 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-\[0_12px_32px_rgba\(27\,42\,74\,0\.08\)\]{--tw-shadow:0 12px 32px #1b2a4a14;--tw-shadow-colored:0 12px 32px 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-\[0_12px_32px_rgba\(27\,42\,74\,0\.15\)\]{--tw-shadow:0 12px 32px #1b2a4a26;--tw-shadow-colored:0 12px 32px 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-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-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)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--color-primary:#745a34;--color-primary-container:#c9a87c;--color-on-primary-container:#543d1a;--color-secondary:#1b2a4a;--color-accent:#f0e6d3;--color-bg:#fcf9f8;--color-bg-card:#fff;--color-text:#1b1c1c;--color-text-light:#4e453b;--color-success:#7ba788;--color-warning:#e8a838;--color-danger:#ba1a1a;--color-border:#dcd9d9;--font-display:"Playfair Display", serif;--font-body:"Inter", sans-serif;--radius-sm:.125rem;--radius-md:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;--shadow-sm:0 2px 5px #1b2a4a0d;--shadow-md:0 4px 20px #1b2a4a0a;--shadow-lg:0 12px 32px #1b2a4a14}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);min-height:100vh}h1,h2,h3,h4,h5,h6,.font-display{font-family:var(--font-display)}.display-lg{font-family:var(--font-display);font-size:48px;font-weight:700;line-height:56px}.headline-md{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:40px}.title-lg{font-family:var(--font-body);font-size:20px;font-weight:600;line-height:28px}.body-lg{font-family:var(--font-body);font-size:18px;line-height:28px}.body-md{font-family:var(--font-body);font-size:16px;line-height:24px}.label-md{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;font-size:14px;font-weight:500}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-accent);width:100%;max-width:400px;padding:40px}.login-title{color:var(--color-primary-container);font-size:1.5rem;font-family:var(--font-display);margin-bottom:5px}.login-subtitle{color:var(--color-secondary);margin-bottom:25px;font-size:1rem;font-weight:500}.error-msg{background:var(--color-danger);color:#fff;border-radius:var(--radius-md);margin-bottom:15px;padding:10px;font-size:.9rem}.form-group{text-align:left;margin-bottom:15px}.form-group label{color:var(--color-text-light);font-family:var(--font-body);margin-bottom:5px;font-size:14px;font-weight:500;display:block}.form-group input{border-radius:var(--radius-md);border:1px solid #1b2a4a33;width:100%;padding:10px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:var(--color-primary-container);outline:none;box-shadow:0 0 0 2px #c9a87c33}.btn,.btn-primary{background:var(--color-primary-container);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-family:var(--font-body);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:opacity .2s,transform .1s;display:inline-flex}.btn:hover,.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-block{width:100%}.login-footer{color:var(--color-text-light);margin-top:25px;font-size:.85rem}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--color-secondary);color:#fff;flex-direction:column;width:260px;display:flex}.main-content{background-color:var(--color-bg);flex-direction:column;flex:1;display:flex;overflow-x:hidden}.navbar{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-accent);justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.content-area{flex:1;padding:40px;overflow-y:auto}@media (width<=768px){.sidebar{display:none}.content-area{padding:16px}.table-responsive,.table-responsive table{border:0}.table-responsive table thead{clip:rect(0 0 0 0);border:none;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-responsive table tr{border-bottom:1px solid var(--color-accent);background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px;display:block}.table-responsive table td{border-bottom:1px solid var(--color-border);text-align:right;padding:8px 0;font-size:14px;display:block}.table-responsive table td:before{content:attr(data-label);float:left;text-transform:uppercase;color:var(--color-text-light);font-size:12px;font-weight:600}.table-responsive table td:last-child{border-bottom:0}}.styled-scrollbar::-webkit-scrollbar{display:none}.styled-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-error\/10:hover{background-color:#ba1a1a1a}.hover\:bg-primary-container:hover{background-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.hover\:bg-surface-variant:hover{background-color:color-mix(in srgb, var(--color-bg) 92%, var(--color-text))}.hover\:text-error:hover{--tw-text-opacity:1;color:rgb(186 26 26/var(--tw-text-opacity,1))}.hover\:text-on-primary-container:hover{color:var(--color-text)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-primary-container:hover{color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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)}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:border-primary-container:focus{border-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1: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(1px + 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-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-4: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(4px + 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-primary-container:focus{--tw-ring-color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}.active\:scale-90:active{--tw-scale-x:.9;--tw-scale-y:.9;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-surface-container-high:active{background-color:color-mix(in srgb, var(--color-bg) 90%, var(--color-text))}.active\:opacity-100:active{opacity:1}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:text-primary-container{color:color-mix(in srgb, var(--color-primary) 20%, var(--color-bg))}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:static{position:static}.md\:bottom-28{bottom:7rem}.md\:bottom-8{bottom:2rem}.md\:right-8{right:2rem}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-8{grid-column:span 8/span 8}.md\:ml-\[260px\]{margin-left:260px}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-96{width:24rem}.md\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.md\:p-12{padding:3rem}.md\:p-margin-desktop{padding:40px}.md\:px-0{padding-left:0;padding-right:0}.md\:px-margin-desktop{padding-left:40px;padding-right:40px}.md\:pb-margin-desktop{padding-bottom:40px}.md\:font-display-lg{font-family:Playfair Display}.md\:text-\[56px\]{font-size:56px}.md\:text-display-lg{letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:56px}}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.toast-container{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{background:#fff;border-radius:8px;align-items:center;min-width:250px;max-width:400px;padding:12px 16px;animation:.3s forwards slideIn;display:flex;box-shadow:0 4px 12px #00000026}.toast-success{border-left:4px solid #4caf50}.toast-error{border-left:4px solid #f44336}.toast-icon{margin-right:12px;font-size:1.2rem}.toast-message{color:#333;flex-grow:1;font-size:.95rem}.toast-close{color:#999;cursor:pointer;background:0 0;border:none;padding:0 0 0 12px;font-size:1.5rem;transition:color .2s}.toast-close:hover{color:#333}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.settings-page{max-width:800px;margin:0 auto}.settings-page h1{color:var(--color-primary);margin-bottom:20px}.settings-section{background:var(--color-bg-card);border:1px solid var(--color-primary-light);border-radius:12px;margin-bottom:30px;padding:25px;box-shadow:0 4px 12px #0000000d}.settings-section h2{color:var(--color-secondary);margin-bottom:20px;font-size:1.2rem}.mt-4{margin-top:2rem}.palettes-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:25px;display:grid}.palette-btn{background:var(--color-bg);cursor:pointer;text-align:left;border:1px solid #ddd;border-radius:8px;padding:15px;transition:transform .2s,box-shadow .2s}.palette-btn:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.palette-name{color:#333;margin-bottom:10px;font-weight:500}.palette-colors{gap:5px;display:flex}.color-swatch{border:1px solid #0000001a;border-radius:50%;width:25px;height:25px}.custom-colors-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:25px;display:grid}.color-input-group{flex-direction:column;display:flex}.color-input-group label{color:var(--color-text-light);margin-bottom:5px;font-size:.9rem}.color-input-wrapper{background:var(--color-bg);border:1px solid #ddd;border-radius:6px;align-items:center;gap:10px;padding:5px 10px;display:flex}.color-input-wrapper input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:4px;width:30px;height:30px;padding:0}.color-input-wrapper span{color:var(--color-text);font-family:monospace;font-size:.9rem}.preview-box{border-top:1px solid #eee;margin-bottom:25px;padding-top:20px}.preview-box h3{color:var(--color-text-light);margin-bottom:15px;font-size:1rem}.preview-card{border-radius:8px;max-width:400px;padding:20px}.checklist-page{padding:10px}.checklist-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.checklist-header h1{color:var(--color-primary);margin:0;font-size:1.5rem}.filters-bar{background:var(--color-bg-card);border-radius:8px;gap:15px;margin-bottom:20px;padding:15px;display:flex;box-shadow:0 2px 5px #0000000d}.filters-bar select{background:var(--color-bg);color:var(--color-text);border:1px solid #ddd;border-radius:6px;outline:none;padding:8px 12px}.category-group{background:var(--color-bg-card);border-radius:12px;margin-bottom:30px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.category-header{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.category-header h2{color:var(--color-secondary);align-items:center;gap:10px;margin:0;font-size:1.2rem;display:flex}.category-progress{align-items:center;gap:10px;display:flex}.progress-text{color:var(--color-text-light);font-size:.9rem;font-weight:500}.progress-bar-bg{background:#eee;border-radius:4px;width:100px;height:8px;overflow:hidden}.progress-bar-fill{height:100%;transition:width .3s,background-color .3s}.task-list{margin:0;padding:0;list-style:none}.task-item{border-bottom:1px solid #eee;align-items:center;padding:15px 20px;transition:background-color .2s;display:flex}.task-item:last-child{border-bottom:none}.task-item:hover{background:color-mix(in srgb, var(--color-primary) 3%, transparent)}.task-item.completed{opacity:.7}.task-item.completed .task-title{color:var(--color-text-light);text-decoration:line-through}.task-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:15px;font-size:1.5rem}.task-content{flex-direction:column;flex:1;gap:5px;display:flex}.task-title{color:var(--color-text);font-size:1rem;font-weight:500}.task-meta{flex-wrap:wrap;gap:10px;display:flex}.meta-tag{background:var(--color-bg);color:var(--color-text-light);border:1px solid #eee;border-radius:4px;padding:2px 8px;font-size:.8rem}.meta-tag.event-tag{background:color-mix(in srgb, var(--color-secondary) 10%, transparent);color:var(--color-secondary);border-color:#0000}.edit-btn{cursor:pointer;opacity:.5;background:0 0;border:none;padding:5px;font-size:1.2rem;transition:opacity .2s}.edit-btn:hover{opacity:1}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);border-radius:12px;flex-direction:column;width:90%;max-width:600px;display:flex;overflow:hidden;box-shadow:0 10px 25px #0003}.modal-header{background:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-header h2{margin:0;font-size:1.2rem}.btn-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem}.modal-form{flex-direction:column;gap:15px;max-height:80vh;padding:20px;display:flex;overflow-y:auto}.form-group{flex-direction:column;flex:1;gap:5px;display:flex}.form-group label{color:var(--color-text);font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;padding:10px;font-family:inherit}.form-row{gap:15px;display:flex}.modal-actions{border-top:1px solid #eee;gap:10px;margin-top:10px;padding-top:15px;display:flex}.btn-secondary{cursor:pointer;color:#333;background:#eee;border:none;border-radius:6px;padding:10px 15px}.btn-danger{background:var(--color-danger);cursor:pointer;color:#fff;border:none;border-radius:6px;padding:10px 15px}@media (width<=768px){.checklist-header{flex-direction:column;align-items:flex-start;gap:15px}.filters-bar{flex-direction:column}.category-header{flex-direction:column;align-items:flex-start;gap:10px}.progress-bar-bg{width:150px}.form-row{flex-direction:column;gap:15px}}.proveedores-page{padding:10px}.page-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.page-header h1{color:var(--color-primary);margin:0;font-size:1.5rem}.proveedores-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.proveedor-card{background:var(--color-bg-card);border-top:4px solid #ccc;border-radius:12px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 15px #0000000d}.proveedor-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.proveedor-card.contratado{border-top-color:var(--color-success)}.proveedor-card.prospecto{border-top-color:var(--color-warning)}.prov-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-start;padding:15px 20px;display:flex}.prov-title h2{color:var(--color-text);margin:0 0 5px;font-size:1.2rem}.prov-servicio{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.prov-contact{color:var(--color-text);flex-direction:column;gap:8px;padding:15px 20px;font-size:.9rem;display:flex}.prov-contact span{align-items:center;gap:8px;display:flex}.prov-finance{background:color-mix(in srgb, var(--color-primary) 5%, transparent);border-top:1px solid #eee;flex-direction:column;gap:8px;padding:15px 20px;display:flex}.finance-row{justify-content:space-between;font-size:.9rem;display:flex}.total-deuda{border-top:1px dashed #ccc;margin-top:5px;padding-top:5px;font-size:1rem}.total-deuda.pagado,.text-success{color:var(--color-success)}.fecha-pago{color:var(--color-danger);align-items:center;gap:5px;margin-top:5px;font-size:.8rem;display:flex}.prov-actions{border-top:1px solid #eee;justify-content:flex-end;margin-top:auto;padding:15px 20px;display:flex}.badge{border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:700}.badge-success{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success)}.badge-warning{background:color-mix(in srgb, var(--color-warning) 20%, transparent);color:#b8860b}.form-section{background:var(--color-bg);border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:15px}.form-section h3{color:var(--color-primary);border-bottom:1px solid #eee;margin:0 0 15px;padding-bottom:8px;font-size:1rem}.checkbox-group{justify-content:center}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.modal-content.large{max-width:800px}@media (width<=768px){.page-header{flex-direction:column;align-items:flex-start;gap:15px}}.inventario-page{padding:10px}.inventario-container{flex-direction:column;gap:30px;display:flex}.inventario-section{background:var(--color-bg-card);border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.section-title{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-secondary);border-bottom:1px solid #eee;margin:0;padding:15px 20px;font-size:1.2rem}.items-table-wrapper{overflow-x:auto}.items-table{border-collapse:collapse;text-align:left;width:100%}.items-table th,.items-table td{border-bottom:1px solid #eee;padding:15px 20px}.items-table th{background:color-mix(in srgb, var(--color-bg) 50%, white);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.items-table tr:hover{background:color-mix(in srgb, var(--color-primary) 3%, transparent)}.row-complete td{background:color-mix(in srgb, var(--color-success) 5%, transparent)}.item-name{flex-direction:column;display:flex}.item-proveedor{color:var(--color-text-light);margin-top:4px;font-size:.8rem}.progress-cell{width:200px}.progress-numbers{justify-content:space-between;margin-bottom:5px;font-size:.9rem;font-weight:500;display:flex}.actions-cell{text-align:right;width:60px}@media (width<=768px){.items-table th,.items-table td{padding:10px}.progress-cell{width:120px}}.invitados-page{padding:10px}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px;display:grid}.stat-card{background:var(--color-bg-card);text-align:center;border-bottom:4px solid var(--color-primary);border-radius:12px;padding:20px;box-shadow:0 4px 10px #0000000d}.stat-title{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:.9rem;font-weight:600}.stat-value{color:var(--color-text);font-size:2.5rem;font-weight:700}.invitados-table-wrapper{background:var(--color-bg-card);border-radius:12px;overflow-x:auto;box-shadow:0 4px 10px #0000000d}.invitados-table{border-collapse:collapse;text-align:left;width:100%}.invitados-table th,.invitados-table td{border-bottom:1px solid #eee;padding:15px 20px}.invitados-table th{background:color-mix(in srgb, var(--color-bg) 50%, white);color:var(--color-text-light);text-transform:uppercase;font-size:.9rem;font-weight:600}.invitados-table tr:hover{background:color-mix(in srgb, var(--color-primary) 3%, transparent)}.status-rechazado td{opacity:.6}.inv-name{flex-direction:column;display:flex}.inv-name strong{color:var(--color-text);font-size:1.05rem}.inv-phone{color:var(--color-text-light);margin-top:4px;font-size:.8rem}.lado-tag{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:600}.lado-novia{color:#d14769;background:#ffb6c14d}.lado-novio{color:#2b708a;background:#add8e64d}.lado-comun{color:#7b68ee;background:#e6e6fa4d}.personas-detalle{color:var(--color-text-light);margin-top:4px;font-size:.75rem;display:block}@media (width<=768px){.stats-cards{grid-template-columns:1fr}}.calendario-page{padding:10px}.calendar-container{background:var(--color-bg-card);border-radius:12px;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.calendar-header{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px;display:flex}.calendar-header h2{color:var(--color-secondary);text-transform:capitalize;margin:0;font-size:1.5rem}.calendar-grid{border-left:1px solid #eee;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{text-align:center;color:var(--color-text-light);background:color-mix(in srgb, var(--color-bg) 50%, white);border-bottom:1px solid #eee;border-right:1px solid #eee;padding:15px 10px;font-weight:600}.calendar-day{cursor:pointer;border-bottom:1px solid #eee;border-right:1px solid #eee;flex-direction:column;min-height:120px;padding:10px;transition:background-color .2s;display:flex}.calendar-day:hover{background-color:color-mix(in srgb, var(--color-primary) 3%, transparent)}.calendar-day.empty{cursor:default;background-color:#f9f9f9}.calendar-day.empty:hover{background-color:#f9f9f9}.calendar-day.today{background-color:color-mix(in srgb, var(--color-primary) 5%, transparent)}.day-number{color:var(--color-text);align-self:flex-end;margin-bottom:5px;font-weight:600}.calendar-day.today .day-number{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 15%, transparent);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.day-events{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.day-events::-webkit-scrollbar{width:4px}.day-events::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.event-badge{background-color:var(--color-primary);color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;flex-direction:column;padding:4px 6px;font-size:.75rem;display:flex;overflow:hidden}.event-badge:hover{opacity:.9;transform:translateY(-1px)}.event-time{opacity:.9;margin-bottom:2px;font-size:.65rem;font-weight:600}.tipo-evento{background-color:var(--color-primary)}.tipo-pago{background-color:#d9534f}.tipo-cita{background-color:#5bc0de}.tipo-tarea{background-color:#f0ad4e}.calendar-legend{background:var(--color-bg-card);border-radius:8px;flex-wrap:wrap;gap:15px;margin-top:15px;padding:10px;display:flex}.legend-item{color:var(--color-text-light);align-items:center;gap:8px;font-size:.85rem;display:flex}.legend-item .event-badge{cursor:default;width:15px;height:15px;padding:0}.calendar-loading{text-align:center;color:var(--color-text-light);grid-column:1/-1;padding:50px}@media (width<=768px){.calendar-weekday{padding:10px 5px;font-size:.8rem}.calendar-day{min-height:80px;padding:5px}.event-badge{padding:2px 4px;font-size:.65rem}.event-time{display:none}}.ceremonia-page{padding:10px}.tabs-container{border-bottom:2px solid #eee;gap:10px;margin-bottom:20px;display:flex}.tab{cursor:pointer;color:var(--color-text-light);border-bottom:3px solid #0000;padding:12px 25px;font-size:1.05rem;font-weight:600;transition:all .2s}.tab:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 5%, transparent)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.protocolo-list{flex-direction:column;gap:15px;display:flex}.protocolo-card{background:var(--color-bg-card);border-radius:12px;align-items:center;gap:20px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 10px #0000000d}.protocolo-card:hover{transform:translateY(-2px);box-shadow:0 6px 15px #00000014}.protocolo-order{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:40px;display:flex}.order-number{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:700;display:flex}.btn-icon-small{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;padding:2px;font-size:.8rem}.btn-icon-small:hover:not(:disabled){color:var(--color-primary)}.btn-icon-small:disabled{opacity:.3;cursor:default}.protocolo-info{flex:1}.protocolo-header{gap:10px;margin-bottom:8px;display:flex}.tipo-badge{text-transform:capitalize;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.tipo-lectura{color:#1976d2;background:#e3f2fd}.tipo-padrinos{color:#7b1fa2;background:#f3e5f5}.tipo-ritual{color:#f57c00;background:#fff3e0}.tipo-musica{color:#388e3c;background:#e8f5e9}.tipo-otro{color:#616161;background:#f5f5f5}.protocolo-info h3{color:var(--color-text);margin:0 0 10px;font-size:1.2rem}.responsable{color:var(--color-text);margin:0 0 5px;font-size:.95rem}.notas{color:var(--color-text-light);margin:0;font-size:.85rem;font-style:italic}@media (width<=768px){.tabs-container{border-bottom:none;flex-direction:column}.tab{text-align:center;border-bottom:none;border-left:3px solid #0000}.tab.active{border-left-color:var(--color-primary)}.protocolo-card{flex-direction:column;align-items:flex-start}.protocolo-order{border-bottom:1px solid #eee;flex-direction:row;justify-content:flex-start;width:100%;padding-bottom:10px}}.timeline-page{padding:10px}.timeline-list{flex-direction:column;margin-top:20px;display:flex;position:relative}.timeline-card{gap:20px;margin-bottom:20px;display:flex;position:relative}.timeline-time{flex-direction:column;flex-shrink:0;align-items:center;width:80px;display:flex;position:relative}.time-text{background:var(--color-primary);color:#fff;z-index:2;border-radius:20px;padding:5px 10px;font-size:.9rem;font-weight:700;box-shadow:0 2px 5px #0000001a}.timeline-line{background:color-mix(in srgb, var(--color-primary) 30%, transparent);z-index:1;width:2px;position:absolute;top:30px;bottom:-40px}.timeline-card:last-child .timeline-line{display:none}.timeline-details{background:var(--color-bg-card);border-left:4px solid var(--color-primary);border-radius:12px;flex:1;padding:20px;transition:all .2s;box-shadow:0 4px 10px #0000000d}.timeline-card:hover .timeline-details{transform:translateY(-2px);box-shadow:0 6px 15px #00000014}.timeline-card.completada .timeline-details{opacity:.7;border-left-color:var(--color-success)}.timeline-card.completada .time-text{background:var(--color-success)}.timeline-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px;display:flex}.timeline-header h3{color:var(--color-text);margin:0;font-size:1.2rem}.btn-check{border:1px solid var(--color-text-light);color:var(--color-text-light);cursor:pointer;background:0 0;border-radius:20px;padding:4px 10px;font-size:.8rem;transition:all .2s}.btn-check:hover{background:color-mix(in srgb, var(--color-text-light) 10%, transparent)}.btn-check.checked{background:color-mix(in srgb, var(--color-success) 15%, transparent);border-color:var(--color-success);color:var(--color-success);font-weight:600}.timeline-meta{flex-wrap:wrap;gap:15px;margin-bottom:10px;display:flex}.meta-item{color:var(--color-text-light);background:#f5f5f5;border-radius:6px;padding:4px 10px;font-size:.85rem}.meta-item strong{color:var(--color-text)}.timeline-notas{color:var(--color-text);border-top:1px dashed #eee;margin:0;padding-top:10px;font-size:.9rem;font-style:italic}.timeline-actions{padding-top:10px}@media (width<=768px){.timeline-card{flex-direction:column;gap:10px}.timeline-time{align-items:flex-start;width:100%;padding-left:20px}.timeline-line{top:30px;bottom:-20px;left:45px}}.cortejo-page{padding:10px}.cortejo-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px;display:grid}.cortejo-card{background:var(--color-bg-card);border-top:4px solid var(--color-primary);border-radius:12px;flex-direction:column;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 10px #0000000d}.cortejo-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.cortejo-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:15px;display:flex}.cortejo-header h3{color:var(--color-text);margin:0;font-size:1.25rem}.rol-badge{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.rol-dama{color:#c2185b;background:#fce4ec}.rol-caballero{color:#1976d2;background:#e3f2fd}.rol-padrino{color:#388e3c;background:#e8f5e9}.rol-madrina{color:#7b1fa2;background:#f3e5f5}.rol-paje{color:#f57c00;background:#fff3e0}.rol-otro{color:#616161;background:#f5f5f5}.cortejo-details{flex-direction:column;flex:1;gap:12px;display:flex}.cortejo-phone{color:var(--color-text-light);margin:0;font-size:.9rem}.atuendo-status{background:color-mix(in srgb, var(--color-bg) 50%, transparent);border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:.9rem;display:flex}.estado-badge{border-radius:12px;padding:3px 8px;font-size:.8rem;font-weight:600}.estado-pendiente{color:#f57c00;background:#fff3e0}.estado-en_proceso{color:#1976d2;background:#e3f2fd}.estado-listo{color:#388e3c;background:#e8f5e9}.cortejo-notas{color:var(--color-text-light);border-top:1px dashed #eee;margin:0;padding-top:10px;font-size:.85rem;font-style:italic}.cortejo-actions{border-top:1px solid #eee;justify-content:flex-end;margin-top:15px;padding-top:15px;display:flex}.playlist-page{padding:10px}.playlist-groups{flex-direction:column;gap:30px;margin-top:20px;display:flex}.playlist-group h2{color:var(--color-primary);border-bottom:2px solid color-mix(in srgb, var(--color-primary) 20%, transparent);margin-bottom:15px;padding-bottom:8px;font-size:1.3rem}.songs-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:15px;display:grid}.song-card{background:var(--color-bg-card);border:1px solid #f0f0f0;border-radius:12px;align-items:center;gap:15px;padding:15px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0000000d}.song-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.song-icon{background:color-mix(in srgb, var(--color-bg) 50%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.song-info{flex:1;min-width:0}.song-info h3{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1.1rem;overflow:hidden}.song-artist{color:var(--color-text-light);margin:0;font-size:.9rem;font-weight:500}.song-notes{color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;font-size:.8rem;font-style:italic;overflow:hidden}.song-actions{align-items:center;gap:10px;display:flex}.btn-link{color:#fff;background:#1db954;border-radius:20px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:flex}.btn-link:hover{opacity:.8;color:#fff}@media (width<=768px){.song-card{flex-direction:column;align-items:flex-start}.song-actions{justify-content:space-between;width:100%;margin-top:10px}}.documentos-page{padding:10px}.page-subtitle{color:var(--color-text-light);margin-bottom:30px;font-size:1.05rem}.docs-groups{flex-direction:column;gap:30px;display:flex}.doc-group h2{color:var(--color-text);align-items:center;gap:10px;margin-bottom:15px;font-size:1.25rem;display:flex}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.doc-card{background:var(--color-bg-card);border:1px solid #eaeaea;border-radius:12px;align-items:center;gap:15px;padding:15px;transition:all .2s;display:flex}.doc-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000000f}.doc-icon{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:2.2rem;display:flex}.doc-info{flex:1;min-width:0}.doc-info h3{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;font-size:1.05rem;overflow:hidden}.doc-meta{color:var(--color-text-light);margin:0;font-size:.8rem}.doc-notas{color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-size:.85rem;font-style:italic;overflow:hidden}.doc-actions{flex-direction:column;gap:5px;display:flex}.btn-icon{cursor:pointer;opacity:.7;background:0 0;border:none;padding:5px;font-size:1.1rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.btn-icon:hover{opacity:1}.text-danger{color:var(--color-danger)}.file-input{background:#f9f9f9;border:1px dashed #ccc;border-radius:8px;width:100%;margin-top:5px;padding:10px;display:block}@media (width<=768px){.doc-card{flex-direction:column;align-items:flex-start}.doc-actions{border-top:1px solid #eee;flex-direction:row;justify-content:flex-end;width:100%;margin-top:5px;padding-top:10px}}.bitacora-page{padding:10px}.timeline-view{flex-direction:column;margin-top:30px;display:flex}.bitacora-entry{gap:20px;display:flex}.entry-date-column{flex-direction:column;flex-shrink:0;align-items:center;width:80px;display:flex;position:relative}.entry-date-circle{background:var(--color-primary);color:#fff;z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 4px 10px #00000026}.entry-date-circle .day{font-size:1.4rem;font-weight:800;line-height:1}.entry-date-circle .month{text-transform:uppercase;font-size:.8rem;font-weight:600}.entry-line{background:color-mix(in srgb, var(--color-primary) 30%, transparent);flex:1;width:2px;margin-top:10px;margin-bottom:10px}.entry-card{background:var(--color-bg-card);border:1px solid #eaeaea;border-radius:12px;flex:1;margin-bottom:40px;padding:25px;transition:transform .2s;box-shadow:0 4px 12px #0000000f}.entry-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.entry-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;display:flex}.entry-header h2{color:var(--color-text);margin:0;font-family:Playfair Display,serif;font-size:1.4rem}.entry-body{flex-direction:column;gap:20px;display:flex}.entry-text p{color:var(--color-text);white-space:pre-wrap;margin:0 0 10px;line-height:1.6}.entry-image-container{background:#f5f5f5;border-radius:8px;justify-content:center;max-height:400px;display:flex;overflow:hidden}.entry-image{-o-object-fit:cover;object-fit:cover;max-width:100%}.image-preview{background:#eee;border-radius:8px;justify-content:center;max-height:200px;margin-top:15px;display:flex;overflow:hidden}.image-preview img{-o-object-fit:contain;object-fit:contain;max-height:200px}.modal-lg{max-width:600px}@media (width<=768px){.bitacora-entry{flex-direction:column;gap:15px}.entry-date-column{flex-direction:row;align-items:center;gap:15px;width:100%}.entry-line{width:auto;height:2px;margin:0}.entry-card{margin-bottom:30px}}.auditoria-container{max-width:1200px;margin:0 auto}.audit-table-wrapper{background:#fff;border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 4px 6px #0000000d}.audit-table{border-collapse:collapse;width:100%}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid #eaeaea;padding:15px}.audit-table th{color:var(--color-text-light);background:#f9f9f9;font-weight:600}.audit-table tr:hover{background:#fdfdfd}.action-badge{border-radius:20px;padding:5px 10px;font-size:.8rem;font-weight:700}.action-create{color:#2e7d32;background:#e8f5e9}.action-update{color:#1565c0;background:#e3f2fd}.action-delete{color:#c62828;background:#ffebee}.action-other{color:#6a1b9a;background:#f3e5f5}.encuestas-page{animation:.3s fadeIn}.encuestas-list{flex-direction:column;gap:20px;display:flex}.encuesta-card{padding:25px}.status-badge{letter-spacing:.5px;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.abierta{color:#1e8e3e;background-color:#e6f4ea}.status-badge.cerrada{color:#d93025;background-color:#fce8e6}.detalle-votos-section{border-left:4px solid var(--color-primary)}.loading-state{color:#666;justify-content:center;align-items:center;height:200px;font-size:1.2rem;display:flex}.public-vote-container{background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Montserrat,sans-serif;display:flex}.public-vote-container.center{align-items:center}.vote-card{background:#fff;border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 10px 30px #0000000d}.vote-header{background-color:var(--color-primary);color:#fff;text-align:center;padding:30px 20px}.vote-header h1{margin:0;font-size:1.5rem}.vote-desc{opacity:.9;margin:10px 0 0;font-size:.95rem}.vote-form{padding:30px}.vote-input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 15px;font-size:1rem;transition:all .3s}.vote-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #c9a87c33}.options-container{flex-direction:column;gap:15px;margin-bottom:30px;display:flex}.vote-option{cursor:pointer;border:2px solid #eee;border-radius:8px;align-items:center;padding:15px 20px;transition:all .2s;display:flex}.vote-option:hover{background-color:#f9f9f9;border-color:#ddd}.vote-option.selected{border-color:var(--color-primary);background-color:#c9a87c0d}.radio-circle{border:2px solid #ccc;border-radius:50%;width:20px;height:20px;margin-right:15px;transition:all .2s;position:relative}.vote-option.selected .radio-circle{border-color:var(--color-primary)}.vote-option.selected .radio-circle:after{content:"";background-color:var(--color-primary);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.option-text{color:#333;font-size:1.05rem;font-weight:500}.btn-votar{background-color:var(--color-secondary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:15px;font-size:1.1rem;font-weight:600;transition:opacity .2s}.btn-votar:hover:not(:disabled){opacity:.9}.btn-votar:disabled{cursor:not-allowed;background-color:#ccc}.success-box,.error-box{text-align:center;background:#fff;border-radius:12px;max-width:400px;padding:40px;box-shadow:0 10px 30px #0000000d}.error-box{border-top:5px solid red}.invitaciones-container{padding:20px}.invitaciones-grid{grid-template-columns:350px 1fr;gap:30px;margin-top:20px;display:grid}@media (width<=992px){.invitaciones-grid{grid-template-columns:1fr}}.invitation-design-card,.invitation-list-card{background-color:var(--color-bg-card);border-radius:12px;padding:25px;box-shadow:0 4px 15px #0000000d}.invitation-preview{background-color:#f5f5f5;border-radius:8px;justify-content:center;align-items:center;min-height:400px;margin:20px 0;display:flex;overflow:hidden;box-shadow:0 4px 10px #0000001a}.invitation-preview img{width:100%;height:auto;display:block}.no-image{color:#888;font-style:italic}.upload-section{margin-top:20px}.action-buttons{justify-content:flex-end;gap:10px;display:flex}.action-buttons .btn{padding:8px 12px}.rsvp-page{background-color:#fafafa;justify-content:center;align-items:flex-start;min-height:100vh;padding:40px 20px;font-family:Georgia,serif;display:flex}.rsvp-container{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 30px #00000014}.rsvp-guest-name{color:#333;margin-bottom:10px;font-size:2.5rem;font-style:italic;font-weight:400}.rsvp-family{color:#666;margin-top:5px;font-size:1.2rem;display:block}.rsvp-message{color:#555;margin-bottom:30px;line-height:1.6}.rsvp-card-wrapper{border-radius:8px;margin-bottom:40px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.rsvp-card-image{width:100%;height:auto;display:block}.rsvp-no-card{background:#fdfaf6;border:1px solid #eee;padding:80px 20px}.rsvp-form-section{border-top:1px solid #eee;padding-top:30px}.rsvp-form h2{color:#222;margin-bottom:20px;font-size:1.8rem;font-weight:400}.rsvp-choices{justify-content:center;gap:15px;margin-bottom:30px;display:flex}.rsvp-btn{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:30px;flex:1;padding:15px 25px;font-size:1.1rem;transition:all .3s}.rsvp-btn-yes.selected{color:#fff;background:#2ecc71;border-color:#2ecc71}.rsvp-btn-no.selected{color:#fff;background:#e74c3c;border-color:#e74c3c}.rsvp-details{text-align:left;background:#f9f9f9;border-radius:8px;margin-bottom:30px;padding:20px}.rsvp-input-group{margin-bottom:15px}.rsvp-input-group label{color:#444;margin-bottom:5px;display:block}.rsvp-input-group input{border:1px solid #ccc;border-radius:5px;width:100%;padding:10px;font-size:1rem}.rsvp-submit{color:#fff;cursor:pointer;background:#333;border:none;border-radius:30px;padding:15px 40px;font-size:1.2rem;transition:background .3s}.rsvp-submit:hover{background:#000}.rsvp-success{color:#166534;background:#f0fdf4;border-radius:8px;padding:20px}@media (width<=600px){.rsvp-container{padding:20px}.rsvp-choices{flex-direction:column}}
