@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5620b7ea-module__LLy_Qq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5620b7ea-module__LLy_Qq__variable{--font-inter:"Inter", "Inter Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.grid{display:grid}.table{display:table}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}}:root{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-card:#ffffff08;--bg-glass:#ffffff0d;--bg-glass-hover:#ffffff14;--bg-glass-active:#ffffff1f;--border-subtle:#ffffff0f;--border-medium:#ffffff1a;--border-accent:#d4af8c4d;--text-primary:#f0ece6;--text-secondary:#f0ece699;--text-muted:#f0ece659;--accent:#d4af8c;--accent-light:#e8cba8;--accent-dark:#b8956e;--accent-glow:#d4af8c26;--accent-gradient:linear-gradient(135deg, #d4af8c 0%, #c9a07a 50%, #e8cba8 100%);--success:#6bcb77;--warning:#f0a500;--danger:#e74c4c;--danger-bg:#e74c4c1a;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px #d4af8c14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-inter), system-ui, -apple-system, sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #d4af8c0f 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 80% 80%, #b48c640a 0%, transparent 50%), var(--bg-primary);min-height:100vh}.main-container{max-width:1400px;margin:0 auto;padding:24px 24px 48px}.app-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;display:flex}.app-logo{align-items:center;gap:14px;display:flex}.logo-icon{filter:drop-shadow(0 0 16px #d4af8c59);font-size:2.2rem;animation:4s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.app-header h1{background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.app-subtitle{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:.8rem}.stats-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.stat-item{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);min-width:140px;transition:var(--transition-fast);flex-direction:column;flex:1;padding:14px 20px;display:flex}.stat-item:hover{background:var(--bg-glass-hover);border-color:var(--border-medium)}.stat-value{color:var(--accent-light);letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:.7rem}.stat-warning .stat-value{color:var(--warning)}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;display:flex}.calendar-title-group{align-items:center;gap:12px;display:flex}.calendar-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.today-btn{color:var(--accent);border:1px solid var(--border-accent);cursor:pointer;transition:var(--transition-fast);letter-spacing:.02em;text-transform:uppercase;background:0 0;border-radius:100px;padding:5px 14px;font-size:.75rem;font-weight:500}.today-btn:hover{background:var(--accent-glow);color:var(--accent-light)}.quick-add-btn{border-radius:100px;padding:6px 16px;font-size:.75rem;font-weight:600}.nav-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-glass);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;display:flex}.nav-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--border-medium)}.calendar-body-wrapper{gap:20px;display:flex}.calendar-grid-container{flex:1;min-width:0}.calendar-day-names{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.day-name{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 0;font-size:.7rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;background:var(--bg-glass);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);color:inherit;border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;padding:8px 4px 4px;font-family:inherit;display:flex;position:relative;overflow:hidden}.calendar-day:not(:disabled):hover{background:var(--bg-glass-hover);border-color:var(--border-medium);transform:translateY(-1px)}.calendar-day.other-month{opacity:.25;cursor:default}.calendar-day.today{border-color:var(--accent);background:var(--accent-glow);box-shadow:var(--shadow-glow)}.calendar-day.today .day-number{color:var(--accent-light);font-weight:700}.calendar-day.selected{border-color:var(--accent);background:#d4af8c1f}.calendar-day.is-booked,.calendar-day.has-wedding{background:linear-gradient(135deg,#0d381e 0%,#082614 100%)!important;border:2px solid #22c55e!important;box-shadow:inset 0 0 16px #22c55e4d,0 4px 14px #00000073!important}.calendar-day.is-booked:hover,.calendar-day.has-wedding:hover{transform:translateY(-2px);background:linear-gradient(135deg,#134e2b 0%,#0c351c 100%)!important;border-color:#4ade80!important;box-shadow:inset 0 0 20px #22c55e73,0 6px 20px #22c55e59!important}.calendar-day.is-booked:after,.calendar-day.has-wedding:after{content:"";border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(90deg,#22c55e,#86efac);height:3px;position:absolute;top:0;left:0;right:0}.day-top-row{justify-content:space-between;align-items:center;width:100%;display:flex}.calendar-day.is-booked .day-number{color:#fff!important;text-shadow:0 1px 4px #000000e6!important;font-size:.95rem!important;font-weight:800!important}.day-status-pill{background:#00000080;border:1px solid #22c55e66;border-radius:4px;padding:2px 4px;font-size:.75rem;line-height:1}.day-booked-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:1px solid #4ade8099;border-radius:6px;align-items:center;gap:5px;width:100%;margin-top:6px;padding:4px 6px;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000080}.day-booked-badge .badge-ring{filter:drop-shadow(0 0 4px #22c55e99);flex-shrink:0;font-size:.8rem}.day-booked-badge .badge-names{color:#f0fdf4;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:.72rem;font-weight:700;overflow:hidden}.day-number{color:var(--text-primary);font-size:.85rem;font-weight:500;line-height:1}.day-panel{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;width:340px;min-height:300px;transition:transform var(--transition-slow), opacity var(--transition-slow), visibility var(--transition-slow);flex-direction:column;flex-shrink:0;padding:24px;display:flex;transform:translate(20px)}.day-panel.open{opacity:1;visibility:visible;transform:translate(0)}.day-panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.day-panel-header h3{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.4}.day-panel-weddings{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.day-panel-empty{flex:1;justify-content:center;align-items:center;display:flex}.day-panel-empty p{color:var(--text-muted);font-size:.85rem}.add-wedding-btn{width:100%;margin-top:16px}.wedding-card{background:var(--bg-glass-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);text-align:left;width:100%;color:inherit;padding:14px 16px;font-family:inherit}.wedding-card:hover{background:var(--bg-glass-active);border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.wedding-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.wedding-card-names{color:var(--accent-light);font-size:.9rem;font-weight:600}.deposit-badge{letter-spacing:.02em;white-space:nowrap;border-radius:100px;padding:3px 8px;font-size:.65rem;font-weight:600}.deposit-badge.paid{color:var(--success);background:#6bcb771f;border:1px solid #6bcb7733}.deposit-badge.unpaid{color:var(--warning);background:#f0a5001a;border:1px solid #f0a50033}.wedding-card-details{flex-wrap:wrap;gap:6px 14px;display:flex}.detail{color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;display:flex}.detail-icon{font-size:.7rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);animation:fadeIn var(--transition-normal) ease-out;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg), 0 0 60px #d4af8c0f;animation:slideUp var(--transition-slow) ease-out;padding:28px 32px 24px;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:var(--text-primary);font-size:1.2rem;font-weight:700}.modal-close{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-family:inherit;font-size:.85rem;display:flex}.modal-close:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.modal-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:.02em;font-size:.75rem;font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition-fast);outline:none;padding:10px 14px;font-family:inherit;font-size:.85rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--bg-glass-hover);box-shadow:0 0 0 3px var(--accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:70px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.deposit-group{padding:4px 0}.deposit-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex;flex-direction:row!important}.deposit-label input[type=checkbox]{display:none}.deposit-toggle{background:var(--bg-glass-active);border:1px solid var(--border-medium);width:44px;height:24px;transition:var(--transition-normal);border-radius:100px;flex-shrink:0;position:relative}.deposit-toggle:after{content:"";background:var(--text-muted);width:18px;height:18px;transition:var(--transition-normal);border-radius:50%;position:absolute;top:2px;left:2px}.deposit-label input:checked+.deposit-toggle{background:#6bcb7733;border-color:#6bcb7766}.deposit-label input:checked+.deposit-toggle:after{background:var(--success);transform:translate(20px);box-shadow:0 0 8px #6bcb7766}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:.8rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#1a1410;border-color:#0000;box-shadow:0 2px 12px #d4af8c33}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #d4af8c59}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--text-secondary);border-color:var(--border-subtle);background:0 0}.btn-ghost:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#d43d3d}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{color:var(--danger);background:0 0;border-color:#e74c4c4d}.btn-danger-outline:hover{background:var(--danger-bg)}.modal-actions{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:8px;padding-top:20px;display:flex}.modal-actions-right{gap:8px;margin-left:auto;display:flex}.delete-confirm{align-items:center;gap:8px;display:flex}.delete-confirm span{color:var(--danger);font-size:.8rem;font-weight:500}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:1024px){.calendar-body-wrapper{flex-direction:column}.day-panel{width:100%;min-height:auto;transform:translateY(10px)}.day-panel.open{transform:translateY(0)}}@media (max-width:768px){.main-container{padding:16px 12px 32px}.calendar-day{aspect-ratio:auto;min-height:48px;padding:6px 2px 4px}.day-number{font-size:.75rem}.wedding-preview{display:none}.wedding-dots{margin-top:4px}.wedding-dot{width:5px;height:5px}.stats-bar{gap:8px}.stat-item{min-width:100px;padding:10px 14px}.stat-value{font-size:1.1rem}.modal-content{border-radius:var(--radius-lg);margin:12px;padding:20px}.form-row{grid-template-columns:1fr;gap:12px}}@media (max-width:480px){.calendar-title{font-size:1.1rem}.stats-bar{flex-direction:column}.stat-item{flex-direction:row;align-items:center;gap:8px;min-width:auto}.stat-label{margin-top:0}}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-lg), 0 0 60px #d4af8c14;-webkit-backdrop-filter:blur(16px);animation:slideUp var(--transition-slow) ease-out;padding:40px 32px}.login-icon{filter:drop-shadow(0 0 16px #d4af8c66);margin-bottom:16px;font-size:2.8rem;animation:3s ease-in-out infinite float}.login-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:.85rem;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-input{text-align:center;letter-spacing:.1em;padding:12px 16px!important;font-size:1rem!important}.login-error-msg{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);animation:fadeIn var(--transition-fast) ease-out;border:1px solid #e74c4c33;padding:8px 12px;font-size:.8rem}.login-btn{width:100%;margin-top:4px;padding:12px;font-size:.9rem}.login-hint{color:var(--text-muted);margin-top:24px;font-size:.72rem}.login-hint code{background:var(--bg-glass);color:var(--accent-light);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px}.select-input{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition-fast);cursor:pointer;outline:none;padding:10px 14px;font-family:inherit;font-size:.85rem}.select-input:focus{border-color:var(--accent);background:var(--bg-glass-hover);box-shadow:0 0 0 3px var(--accent-glow)}.select-input option{background:var(--bg-secondary);color:var(--text-primary)}.header-actions{align-items:center;gap:12px;display:flex}.logout-btn{color:var(--text-muted);border-color:var(--border-subtle);align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;display:flex}.logout-btn:hover{color:var(--text-primary);border-color:var(--border-medium)}.db-warning-banner{border-radius:var(--radius-md);color:var(--warning);background:#f0a5001a;border:1px solid #f0a50040;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:.85rem;display:flex}.warning-icon{flex-shrink:0;font-size:1.2rem}.warning-text{line-height:1.4}.calendar-top-bar{justify-content:flex-end;margin-bottom:12px;display:flex}.date-search-container{flex-direction:column;align-items:flex-end;gap:8px;width:100%;display:flex}@media (min-width:640px){.date-search-container{flex-direction:row;justify-content:flex-end;align-items:center}}.date-search-form{align-items:center;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input-wrapper .search-icon{pointer-events:none;opacity:.7;font-size:.85rem;position:absolute;left:12px}.date-search-text-input{transition:var(--transition-fast);outline:none;min-width:260px;background:var(--bg-glass)!important;border:1px solid var(--border-medium)!important;border-radius:var(--radius-full)!important;color:var(--text-primary)!important;padding:8px 90px 8px 34px!important;font-family:inherit!important;font-size:.84rem!important}.date-search-text-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-glow)!important}.date-search-text-input::placeholder{color:var(--text-muted);font-size:.8rem}.btn-search-submit{background:var(--accent-gradient);color:#1a1410;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);border:none;padding:5px 12px;font-size:.75rem;font-weight:700;position:absolute;right:4px}.btn-search-submit:hover:not(:disabled){transform:scale(1.03);box-shadow:0 2px 8px #d4af8c4d}.btn-search-submit:disabled{opacity:.4;cursor:not-allowed}.date-search-hint-error{color:var(--warning);padding:2px 8px;font-size:.72rem}.date-search-status{border-radius:var(--radius-full);animation:fadeIn var(--transition-fast) ease-out;align-items:center;gap:8px;padding:6px 14px;font-size:.82rem;display:flex}.date-search-status.pending{background:var(--bg-glass);color:var(--text-secondary)}.date-search-status.status-available{color:var(--success);background:#6bcb7726;border:1px solid #6bcb774d}.date-search-status.status-booked{color:#ff7676;background:#e74c4c26;border:1px solid #e74c4c4d}.status-content{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-icon{font-size:.8rem}.badge-available{letter-spacing:.05em;color:var(--success);font-weight:700}.badge-booked{letter-spacing:.05em;color:#ff6b6b;font-weight:700}.booked-name{color:var(--text-primary);background:#ffffff14;border-radius:4px;padding:2px 6px;font-weight:600}.btn-book-date{background:var(--accent-gradient);color:#1a1410;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);border:none;margin-left:6px;padding:3px 10px;font-size:.75rem;font-weight:600}.btn-book-date:hover{transform:scale(1.04)}.field-hint{color:var(--text-muted);margin-top:2px;font-size:.72rem}.modal-hint{color:var(--text-muted);text-align:center;border-top:1px dashed var(--border-subtle);margin-top:14px;padding-top:12px;font-size:.75rem}.documents-section{border-top:1px solid var(--border-subtle);padding-top:8px}.documents-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.document-item{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:var(--transition-fast);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.document-item:hover{background:var(--bg-glass-hover);border-color:var(--border-medium)}.document-link{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:10px;font-size:.82rem;text-decoration:none;display:flex;overflow:hidden}.document-icon{flex-shrink:0;font-size:1.1rem}.document-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-size{color:var(--text-muted);flex-shrink:0;margin-left:6px;font-size:.72rem}.document-delete{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;margin-left:8px;padding:4px 8px;font-size:.85rem}.document-delete:hover{color:var(--danger);background:var(--danger-bg)}.document-upload-area{flex-direction:column;gap:6px;display:flex}.file-input-hidden{display:none}.upload-btn{width:100%;border-style:dashed!important;border-color:var(--border-medium)!important;padding:10px!important}.upload-btn:hover{border-color:var(--accent)!important;background:#d4af8c0d!important}.detail-docs{background:#d4af8c14;border-radius:4px;padding:2px 6px;font-size:.75rem}.documents-section-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.documents-count-badge{color:var(--accent-light);border-radius:var(--radius-full);background:#d4af8c33;padding:2px 8px;font-size:.75rem;font-weight:600}.modal-error-banner{border-radius:var(--radius-sm);color:#f88;background:#e74c4c26;border:1px solid #e74c4c4d;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:.82rem;display:flex}.modal-error-dismiss{color:#f88;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.9rem}.modal-error-dismiss:hover{background:#e74c4c33}.staged-list{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;padding:8px}.staged-label{color:var(--accent-light);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.staged-item{background:#d4af8c0f!important;border-color:#d4af8c33!important}.panel-status-indicator{margin-top:4px}.panel-badge-booked{color:#ff6b6b;border-radius:var(--radius-full);letter-spacing:.03em;background:#e74c4c26;border:1px solid #e74c4c4d;padding:3px 8px;font-size:.72rem;font-weight:700}.panel-badge-free{color:var(--success);border-radius:var(--radius-full);letter-spacing:.03em;background:#6bcb7726;border:1px solid #6bcb774d;padding:3px 8px;font-size:.72rem;font-weight:700}.day-booked-notice{border-radius:var(--radius-md);background:#d4af8c14;border:1px solid #d4af8c40;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.notice-icon{flex-shrink:0;margin-top:1px;font-size:1.2rem}.notice-body strong{color:var(--accent-light);margin-bottom:2px;font-size:.85rem;display:block}.notice-body p{color:var(--text-secondary);margin:0;font-size:.76rem;line-height:1.4}.input-conflict-error{background:#ff52520d!important;border-color:#ff5252!important;box-shadow:0 0 0 3px #ff525240!important}.date-conflict-warning{border-radius:var(--radius-sm);color:#ff7676;animation:fadeIn var(--transition-fast) ease-out;background:#e74c4c26;border:1px solid #e74c4c59;margin-top:6px;padding:8px 12px;font-size:.78rem;line-height:1.4}.date-conflict-warning strong{color:#ff4d4d}.date-conflict-warning span{color:#fff;margin-top:2px;font-weight:600;display:block}.date-conflict-warning p{color:#ffffffb3;margin:4px 0 0;font-size:.72rem}.btn-disabled-conflict{color:#ffffff80!important;cursor:not-allowed!important;background:#ff525233!important;border:1px solid #ff525266!important}.dashboard-view-wrapper{flex-direction:column;gap:16px;display:flex}.view-mode-tabs-container{justify-content:center;align-items:center;margin-bottom:4px;display:flex}.view-mode-tabs{border:1px solid var(--border-medium);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14100eb3;gap:6px;padding:4px;display:inline-flex;box-shadow:0 4px 20px #0006}.tab-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.tab-btn.active{background:var(--accent-gradient);color:#1a1410;box-shadow:0 2px 10px #d4af8c4d}.tab-badge{color:var(--accent-light);border-radius:var(--radius-full);background:#1a1410;padding:1px 7px;font-size:.72rem;font-weight:700}.tab-btn:not(.active) .tab-badge{color:var(--accent-light);background:#d4af8c33}.modal-content-large{max-height:90vh;overflow-y:auto;max-width:680px!important}.status-highlight-group{border-radius:var(--radius-md);background:#d4af8c0f;border:1px solid #d4af8c33;padding:12px 14px}.select-status{font-weight:600}.form-section-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;flex-direction:column;gap:12px;padding:14px;display:flex}.section-title{color:var(--accent-light);letter-spacing:.02em;border-bottom:1px dashed var(--border-subtle);padding-bottom:6px;font-size:.85rem;font-weight:700}.finance-summary-box{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0000004d;flex-direction:column;gap:10px;margin-top:4px;padding:12px 14px;display:flex}@media (min-width:500px){.finance-summary-box{flex-direction:row;justify-content:space-between;align-items:center}}.checkbox-paid-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);align-items:center;gap:8px;font-size:.82rem;display:flex}.checkbox-paid-label input[type=checkbox]{accent-color:#22c55e;cursor:pointer;width:18px;height:18px}.remaining-balance{align-items:center;gap:8px;display:flex}.remaining-label{color:var(--text-secondary);font-size:.78rem}.remaining-value{border-radius:var(--radius-full);padding:3px 10px;font-size:.95rem;font-weight:800}.remaining-value.balance-zero{color:var(--success);background:#6bcb7726;border:1px solid #6bcb774d}.remaining-value.balance-pending{color:#ffb703;background:#ffb70326;border:1px solid #ffb7034d}.project-status-pill{border-radius:var(--radius-full);letter-spacing:.02em;margin-top:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.status-reserved{color:var(--accent-light);background:#d4af8c26;border:1px solid #d4af8c4d}.status-filmed{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.status-editing{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.status-delivered{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.status-archived{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.badge-fully-paid{color:#4ade80!important;background:#22c55e33!important;border-color:#22c55e66!important}.detail-remaining{font-weight:600;color:#ffb703!important}.card-quick-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.quick-action-btn{border-radius:var(--radius-full);transition:var(--transition-fast);align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-whatsapp{color:#25d366;background:#25d36626;border:1px solid #25d36659}.btn-whatsapp:hover{background:#25d36640;transform:translateY(-1px)}.btn-call{color:var(--text-primary);border:1px solid var(--border-subtle);background:#ffffff0f}.btn-call:hover{background:#ffffff1f}.panel-timeline-box{border:1px dashed var(--border-medium);border-radius:var(--radius-sm);background:#0006;margin-top:8px;padding:10px}.timeline-box-title{color:var(--accent-light);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.timeline-box-content{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-family:inherit;font-size:.76rem;line-height:1.4}.wedding-list-container{animation:fadeIn var(--transition-fast) ease-out;flex-direction:column;gap:24px;display:flex}.season-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.season-stat-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform var(--transition-normal), border-color var(--transition-normal);flex-direction:column;gap:8px;padding:16px 18px;display:flex;box-shadow:0 4px 12px #00000040}.season-stat-card:hover{border-color:var(--border-medium);transform:translateY(-2px)}.stat-card-icon{font-size:1.5rem;line-height:1}.stat-card-info{flex-direction:column;gap:3px;display:flex}.stat-card-number{color:var(--text-primary);font-size:1.8rem;font-weight:800;line-height:1.1;font-family:var(--font-heading)}.stat-card-number.value-gold{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card-number.value-green{color:#22c55e}.stat-card-number.value-warning{color:#f59e0b}.stat-card-label{color:var(--text-primary);font-size:.88rem;font-weight:600;line-height:1.2}.stat-card-subtitle{color:var(--text-muted);font-size:.74rem;line-height:1.2}.list-controls-bar{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:14px 18px;display:flex}@media (min-width:900px){.list-controls-bar{flex-direction:row;justify-content:space-between;align-items:center}}.filters-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-item{align-items:center;gap:6px;display:flex}.filter-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.filter-select{background:var(--bg-glass-active);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;outline:none;padding:6px 10px;font-family:inherit;font-size:.8rem}.filter-select:focus{border-color:var(--accent)}.search-filter-wrapper{align-items:center;display:flex;position:relative}.list-search-input{outline:none;min-width:220px;background:var(--bg-glass-active)!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-full)!important;color:var(--text-primary)!important;padding:6px 12px 6px 30px!important;font-family:inherit!important;font-size:.8rem!important}.list-search-input:focus{border-color:var(--accent)!important}.actions-group{align-items:center;gap:10px;display:flex}.btn-export{padding:8px 14px;font-size:.8rem}.list-section{flex-direction:column;gap:12px;display:flex}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.list-section-heading{color:var(--text-primary);align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.heading-count{color:var(--accent-light);font-size:.85rem;font-weight:600}.heading-note{color:var(--text-muted);font-size:.75rem}.heading-past{color:var(--text-secondary)}.wedding-table-wrapper{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-x:auto;box-shadow:0 4px 20px #00000040}.wedding-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.82rem}.wedding-data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-medium);white-space:nowrap;background:#ffffff08;padding:12px 14px;font-size:.75rem;font-weight:600}.wedding-data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:12px 14px}.table-row-clickable{cursor:pointer;transition:var(--transition-fast)}.table-row-clickable:hover{background:#d4af8c0d}.cell-date{white-space:nowrap}.date-main{color:var(--text-primary);font-weight:700}.countdown-pill{color:var(--accent-light);border-radius:var(--radius-full);background:#d4af8c26;margin-top:3px;padding:2px 6px;font-size:.68rem;font-weight:700;display:inline-block}.cell-names strong{color:var(--text-primary);font-size:.88rem;display:block}.timeline-badge{color:#38bdf8;background:#38bdf81a;border-radius:4px;margin-top:2px;padding:1px 5px;font-size:.68rem;display:inline-block}.location-line{color:var(--text-secondary)}.package-tag{color:var(--text-muted);margin-top:2px;font-size:.72rem;display:inline-block}.table-status-select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:#0006;outline:none;padding:4px 8px;font-family:inherit;font-size:.75rem}.table-status-select:focus{border-color:var(--accent)}.cell-finance{white-space:nowrap}.finance-total{color:var(--text-secondary)}.finance-rem{margin-top:2px;font-size:.75rem}.text-warn{color:#f59e0b}.dep-note{color:var(--text-muted);font-size:.7rem}.badge-paid-full{color:#22c55e;font-size:.75rem;font-weight:700}.table-contacts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.contact-btn{border-radius:var(--radius-sm);align-items:center;gap:3px;padding:3px 7px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-wa{color:#25d366;background:#25d36626;border:1px solid #25d3664d}.btn-phone{color:var(--text-primary);border:1px solid var(--border-subtle);background:#ffffff0d}.insta-tag{color:var(--text-muted);font-size:.7rem}.docs-counter{color:var(--accent-light);background:#d4af8c1a;border-radius:4px;padding:2px 6px;font-size:.75rem}.docs-none{color:var(--text-muted)}.btn-table-edit{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:4px 8px;font-size:.75rem}.btn-table-edit:hover{border-color:var(--accent);color:var(--text-primary);background:#d4af8c14}.empty-list-state{text-align:center;background:var(--bg-glass);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);padding:32px}.empty-icon{margin-bottom:8px;font-size:2rem;display:block}.stat-card-highlight{background:linear-gradient(145deg,#22c55e14 0%,#14100e99 100%)!important;border-color:#22c55e66!important}.view-toggle-sub{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:#0006;gap:2px;padding:2px;display:inline-flex}.btn-toggle-sub{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:5px 12px;font-family:inherit;font-size:.78rem;font-weight:600}.btn-toggle-sub:hover{color:var(--text-primary)}.btn-toggle-sub.active{background:var(--bg-glass-active);color:var(--accent-light);box-shadow:0 1px 4px #0000004d}.upcoming-cards-grid{flex-direction:column;gap:16px;display:flex}.upcoming-wedding-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:var(--transition-normal);cursor:pointer;flex-direction:column;gap:16px;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}@media (min-width:860px){.upcoming-wedding-card{flex-direction:row;align-items:center;gap:20px}}.upcoming-wedding-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 30px #d4af8c26,0 4px 12px #0006}.card-next-up{background:linear-gradient(135deg,#d4af8c14 0%,#14100eb3 100%)!important;border-color:#d4af8c80!important;box-shadow:0 0 25px #d4af8c1f,0 4px 20px #0006!important}.card-next-up:before{content:"";background:var(--accent-gradient);width:4px;position:absolute;top:0;bottom:0;left:0}.card-date-badge{border:1px solid var(--border-medium);border-radius:var(--radius-md);text-align:center;background:#00000073;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:120px;padding:14px 12px;display:flex}.date-weekday{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-light);font-size:.72rem;font-weight:700}.date-day-number{color:#fff;margin:4px 0;font-size:2.2rem;font-weight:900;line-height:1}.date-month-year{color:var(--text-secondary);font-size:.72rem;font-weight:600}.date-countdown-tag{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;margin-top:8px;padding:3px 8px;font-size:.68rem;font-weight:800}.pill-urgent{color:#fff;background:#ef4444;animation:2s infinite pulse}.pill-soon{color:#1a1410;background:#f59e0b}.pill-normal{color:var(--accent-light);background:#d4af8c33}.pill-far{color:var(--text-muted);background:#ffffff0f}.card-info-content{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.card-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-couple-names{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.badge-next-wedding{background:var(--accent-gradient);color:#1a1410;border-radius:var(--radius-full);letter-spacing:.04em;padding:3px 8px;font-size:.65rem;font-weight:800}.card-meta-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0a;padding:4px 10px;font-size:.78rem}.chip-location{color:var(--text-primary);font-weight:500}.chip-docs{color:var(--accent-light);background:#d4af8c1a}.card-timeline-snippet{border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#0000004d;margin-top:4px;padding:8px 12px}.timeline-snippet-title{color:var(--accent-light);margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.timeline-snippet-text{color:var(--text-secondary);white-space:pre-line;text-overflow:ellipsis;max-height:48px;margin:0;font-size:.76rem;line-height:1.4;overflow:hidden}.card-action-side{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:10px;display:flex}@media (min-width:860px){.card-action-side{align-items:flex-end;min-width:220px}}.card-status-dropdown{border-radius:var(--radius-full);cursor:pointer;outline:none;padding:5px 12px;font-family:inherit;font-size:.76rem;font-weight:600}.card-price-block{text-align:left}@media (min-width:860px){.card-price-block{text-align:right}}.price-total-tag{color:var(--text-secondary);font-size:.85rem}.price-total-tag strong{color:#fff;font-size:1rem}.price-remaining-tag{color:#f59e0b;margin-top:2px;font-size:.78rem}.price-remaining-tag strong{font-size:.88rem}.kapara-tag{color:var(--text-muted);font-size:.7rem}.badge-paid-pill{color:#22c55e;align-items:center;gap:4px;margin-top:2px;font-size:.75rem;font-weight:700;display:inline-flex}.card-contact-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-pro-whatsapp{color:#0b2e13;border-radius:var(--radius-full);transition:var(--transition-fast);background:#25d366;align-items:center;gap:4px;padding:6px 12px;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-pro-whatsapp:hover{background:#1eb956;transform:translateY(-1px);box-shadow:0 4px 12px #25d36659}.btn-pro-call{color:var(--text-primary);border-radius:var(--radius-full);border:1px solid var(--border-subtle);transition:var(--transition-fast);background:#ffffff14;align-items:center;gap:4px;padding:6px 12px;font-size:.76rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-pro-call:hover{background:#ffffff26}.btn-pro-edit{color:var(--text-secondary);border-radius:var(--radius-full);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:6px 12px;font-size:.76rem;font-weight:600}.btn-pro-edit:hover{border-color:var(--accent);color:var(--text-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hint{color:var(--text-muted);margin-top:4px;font-size:.72rem;line-height:1.35;display:block}.btn-mail{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.btn-mail:hover{color:var(--text-primary);background:#ffffff1f}.search-icon{pointer-events:none;z-index:1;font-size:.82rem;position:absolute;left:10px}.section-past{opacity:.8}.section-past:hover{opacity:1}@keyframes pulse{50%{opacity:.5}}.card-status-dropdown.status-reserved{color:var(--accent-light);background:#d4af8c26;border:1px solid #d4af8c4d}.card-status-dropdown.status-filmed{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.card-status-dropdown.status-editing{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.card-status-dropdown.status-delivered{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.card-status-dropdown.status-archived{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.day-panel-wedding-item{flex-direction:column;gap:0;display:flex}@media (max-width:768px){.app-header{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:16px}.app-header h1{font-size:1.25rem}.app-subtitle{font-size:.7rem}.logo-icon{font-size:1.8rem}.view-mode-tabs-container{width:100%}.view-mode-tabs{justify-content:center;width:100%}.tab-btn{flex:1;justify-content:center;padding:8px 12px;font-size:.8rem}.tab-icon{display:none}.calendar-grid{gap:2px}.calendar-weekday{padding:6px 0;font-size:.6rem}.calendar-top-bar{flex-direction:column;gap:8px}.date-search-container{width:100%}.date-search-container input{width:100%!important}.day-panel{z-index:1000;border-radius:0;max-height:100vh;position:fixed;inset:0;overflow-y:auto;transform:translateY(100%);width:100%!important}.day-panel.open{transform:translateY(0)}.day-panel-header{z-index:10;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:16px;position:sticky;top:0}.season-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card-number{font-size:1.3rem}.list-controls-bar{flex-direction:column;gap:10px;padding:12px}.filters-group{flex-direction:column;gap:8px;width:100%}.filter-item{width:100%}.filter-select{flex:1;width:100%}.search-filter-wrapper{width:100%}.list-search-input{width:100%!important;min-width:auto!important}.actions-group{justify-content:space-between;width:100%}.upcoming-wedding-card{padding:14px}.card-date-badge{flex-direction:row;align-items:center;gap:10px;min-width:auto;padding:10px 14px}.date-day-number{font-size:1.8rem}.date-countdown-tag{margin-top:0;margin-left:auto}.card-couple-names{font-size:1.05rem}.badge-next-wedding{font-size:.6rem}.card-meta-chips{gap:6px}.meta-chip{padding:3px 8px;font-size:.72rem}.card-action-side{flex-flow:wrap;align-items:center;gap:8px;width:100%}.card-price-block{text-align:left}.card-contact-buttons{width:100%}.wedding-table-wrapper{border-left:none;border-right:none;border-radius:0;margin:0 -12px}.wedding-data-table th,.wedding-data-table td{padding:10px;font-size:.78rem}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:95vh;margin:0}.modal-overlay{align-items:flex-end}.modal-title{font-size:1.1rem}.form-section-card{padding:10px}.section-title{font-size:.8rem}.modal-actions{flex-direction:column;gap:10px}.modal-actions-right{width:100%;margin-left:0}.modal-actions-right .btn{flex:1}.delete-confirm{justify-content:center;width:100%}.wedding-card{padding:12px}.wedding-card-names{font-size:.95rem}.card-quick-actions{flex-direction:column;gap:6px}.quick-action-btn{justify-content:center;width:100%;padding:8px 12px}.card-timeline-snippet{padding:6px 10px}.timeline-snippet-text{max-height:36px}.panel-timeline-box{padding:8px}.finance-summary-box{flex-direction:column;gap:8px}.header-actions{justify-content:flex-end;width:100%;display:flex}}@media (max-width:480px){.main-container{padding:12px 8px 24px}.app-header{gap:8px;margin-bottom:16px;padding-bottom:12px}.app-logo{gap:10px}.app-header h1{font-size:1.1rem}.logo-icon{font-size:1.5rem}.tab-btn{padding:7px 10px;font-size:.75rem}.tab-badge{padding:1px 5px;font-size:.65rem}.calendar-header{margin-bottom:10px}.calendar-title{font-size:1rem}.nav-btn{width:32px;height:32px}.calendar-day{border-radius:6px;min-height:40px;padding:4px 1px 2px}.day-number{font-size:.7rem}.stats-bar{flex-direction:column;gap:6px}.stat-item{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;min-width:auto;padding:8px 12px}.stat-value{order:2;font-size:1rem}.stat-label{order:1;margin-top:0}.season-stats-grid{grid-template-columns:1fr;gap:8px}.season-stat-card{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 14px}.stat-card-number{font-size:1.2rem}.stat-card-subtitle{display:none}.upcoming-wedding-card{gap:12px;padding:12px}.card-date-badge{gap:8px;padding:8px 12px}.date-weekday{font-size:.65rem}.date-day-number{font-size:1.5rem}.date-month-year{font-size:.65rem}.date-countdown-tag{padding:2px 6px;font-size:.6rem}.card-couple-names{font-size:.95rem}.card-info-content{gap:6px}.meta-chip{padding:2px 6px;font-size:.68rem}.card-timeline-snippet{display:none}.card-action-side{flex-direction:column;align-items:stretch}.card-status-dropdown{width:100%;padding:8px 12px;font-size:.8rem}.card-price-block{text-align:left}.price-total-tag{font-size:.8rem}.card-contact-buttons{flex-direction:column}.btn-pro-call,.btn-pro-edit{text-align:center;justify-content:center;width:100%;padding:10px 12px}.view-toggle-sub{display:none}.actions-group{flex-wrap:wrap}.btn-export,.actions-group .btn-primary{flex:1}.list-section-heading{font-size:1rem}.heading-note{display:none}.modal-content{border-radius:0;height:100vh;max-height:100vh;padding:16px}.modal-header{margin-bottom:12px}.modal-title{font-size:1rem}.form-group label{font-size:.78rem}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;font-size:16px}.modal-actions{flex-direction:column;gap:8px;padding-top:12px}.modal-actions .btn{width:100%;padding:12px;font-size:.85rem}.modal-actions-right{flex-direction:column;width:100%}.date-search-input-group{flex-direction:column;gap:6px}.date-search-input-group input{width:100%!important}.date-search-input-group .btn{width:100%}.availability-result{text-align:center}.upload-zone{padding:14px}.document-list-item{flex-direction:column;align-items:flex-start;gap:4px}.day-panel{border-radius:0;padding:0}.day-panel-header{padding:12px}.day-panel-header h3{font-size:1rem}.day-panel-weddings{padding:12px}.booked-day-ring{font-size:.55rem}.booked-deposit-tick{font-size:.5rem}.calendar-wrapper{gap:12px}.login-card{border-radius:var(--radius-lg);padding:28px 20px}.login-title{font-size:1.25rem}.login-icon{font-size:2.2rem}}@media (hover:none) and (pointer:coarse){.calendar-day{min-height:44px}.nav-btn{min-width:44px;min-height:44px}.btn,.tab-btn,.btn-toggle-sub{min-height:44px}.quick-action-btn,.contact-btn,.btn-table-edit{min-height:40px;padding:8px 12px}.upcoming-wedding-card:hover,.btn-pro-whatsapp:hover,.btn-pro-call:hover,.btn-pro-edit:hover{transform:none}.upcoming-wedding-card:active{border-color:var(--accent);background:#d4af8c0f}.calendar-day:active{transform:scale(.96)}}.season-templates-card{background:var(--bg-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:fadeIn var(--transition-fast) ease-out;border:1px solid #d4af8c40;padding:20px;box-shadow:0 4px 20px #00000040}.templates-header-row{border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding-bottom:12px}.templates-title{color:#fff;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.templates-icon{font-size:1.25rem}.templates-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.76rem}.template-alert{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.8rem;display:flex}.alert-error{color:#ff7676;background:#e74c4c26;border:1px solid #e74c4c59}.alert-success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59}.template-slots-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.template-slot-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:var(--transition-fast);background:#00000059;flex-direction:column;justify-content:space-between;gap:14px;padding:16px;display:flex}.template-slot-box:hover{border-color:var(--border-medium)}.slot-filled{background:linear-gradient(145deg,#22c55e0d 0%,#0006 100%);border-color:#22c55e40}.slot-top{align-items:flex-start;gap:12px;display:flex}.slot-icon{flex-shrink:0;font-size:1.6rem}.slot-title-group{flex:1}.slot-title{color:#fff;margin-bottom:2px;font-size:.92rem;font-weight:700}.slot-subtitle{color:var(--text-muted);font-size:.72rem;line-height:1.35}.slot-badge-wrap{flex-shrink:0}.slot-badge{border-radius:var(--radius-full);padding:3px 8px;font-size:.65rem;font-weight:700}.badge-active{color:#4ade80;background:#22c55e2e;border:1px solid #22c55e59}.badge-empty{color:var(--text-muted);border:1px solid var(--border-subtle);background:#ffffff0d}.slot-doc-info{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:#0000004d;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.doc-meta-row{align-items:center;gap:6px;display:flex;overflow:hidden}.doc-name{color:var(--accent-light);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.doc-size{color:var(--text-muted);flex-shrink:0;font-size:.7rem}.doc-date-row{color:var(--text-secondary);font-size:.68rem}.slot-actions-row{align-items:center;gap:6px;margin-top:4px;display:flex}.btn-slot-download{background:var(--accent-gradient);color:#1a1410;border-radius:var(--radius-full);transition:var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-slot-download:hover{transform:translateY(-1px);box-shadow:0 2px 10px #d4af8c66}.btn-slot-replace{color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:#ffffff0f;padding:6px 10px;font-size:.72rem;font-weight:600}.btn-slot-replace:hover{background:#ffffff1f}.btn-slot-delete{color:#ff7676;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #e74c4c4d;padding:6px 8px;font-size:.72rem}.btn-slot-delete:hover{background:#e74c4c26}.slot-upload-empty{border:1px dashed var(--border-medium);border-radius:var(--radius-sm);text-align:center;background:#ffffff03;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex}.empty-hint{color:var(--text-muted);margin:0;font-size:.72rem}.btn-slot-upload{color:var(--accent-light);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:#d4af8c1f;border:1px solid #d4af8c4d;margin-top:2px;padding:7px 16px;font-size:.78rem;font-weight:700}.btn-slot-upload:hover{background:#d4af8c38;transform:translateY(-1px)}.formats-note{color:var(--text-muted);font-size:.65rem}@media (max-width:600px){.season-templates-card{padding:14px}.template-slots-grid{grid-template-columns:1fr;gap:10px}.slot-actions-row{flex-wrap:wrap}.btn-slot-download{width:100%}.btn-slot-replace{flex:1}}.season-templates-view-container{animation:fadeIn var(--transition-fast) ease-out;flex-direction:column;gap:20px;display:flex}.season-templates-header{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.season-templates-main-title{color:#fff;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;display:flex}.main-title-icon{font-size:1.4rem}.season-templates-description{color:var(--text-secondary);max-width:800px;margin-top:4px;font-size:.8rem;line-height:1.5}.year-selector-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0000004d;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.year-selector-label{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700;display:flex}.year-range-hint{color:var(--text-muted);font-size:.72rem;font-weight:400}.year-pills-bar{scrollbar-width:thin;align-items:center;gap:6px;padding:4px 2px 8px;display:flex;overflow-x:auto}.year-pill-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition-fast);background:#ffffff0a;align-items:center;gap:4px;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.year-pill-btn:hover{color:var(--text-primary);border-color:var(--border-medium);background:#ffffff17}.year-pill-btn.active{background:var(--accent-gradient);color:#1a1410;border-color:#0000;font-weight:800;box-shadow:0 2px 10px #d4af8c59}.year-pill-btn.is-current-year:not(.active){color:var(--accent-light);border-color:#d4af8c66}.current-year-dot{color:#22c55e;font-size:1rem;line-height:0}.badge-current-season-pill{color:#4ade80;border-radius:var(--radius-full);background:#22c55e2e;border:1px solid #22c55e59;margin-left:10px;padding:2px 8px;font-size:.68rem;font-weight:700}.templates-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:.85rem}.badge-social-tag{border-radius:var(--radius-full);letter-spacing:.02em;padding:2px 7px;font-size:.68rem;font-weight:700}.badge-social-yes{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59}.badge-social-no{color:#f87171;background:#ef44441f;border:1px solid #ef44444d}.chip-storage{color:#38bdf8!important;background:#38bdf814!important;border-color:#38bdf840!important}.detail-storage{font-size:.74rem;color:#38bdf8!important}.storage-config-group{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#00000040;flex-direction:column;gap:10px;padding:14px;display:flex}.storage-group-header{justify-content:space-between;align-items:center;display:flex}.storage-group-header label{color:var(--text-primary);margin-bottom:0;font-size:.82rem;font-weight:700}.checkbox-mini-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.72rem;display:flex}.checkbox-mini-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.months-input-row{align-items:center;gap:8px;display:flex}.input-months{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border-medium);color:#fff;background:#ffffff0d;width:110px!important;padding:8px 12px!important;font-size:.95rem!important;font-weight:700!important}.input-months:disabled{opacity:.4;cursor:not-allowed}.unit-label{color:var(--text-muted);font-size:.78rem}.preset-pills-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-preset-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0d;padding:4px 10px;font-size:.72rem;font-weight:600}.btn-preset-pill:hover:not(:disabled){color:var(--accent-light);background:#d4af8c26;border-color:#d4af8c4d}.btn-preset-pill.active{background:var(--accent-gradient);color:#1a1410;border-color:#0000;font-weight:800}.btn-preset-pill:disabled{opacity:.3;cursor:not-allowed}.computed-date-badge{color:var(--text-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:#0000004d;padding:6px 10px;font-size:.75rem}.computed-date-badge strong{color:var(--accent-light)}.storage-status-done{color:#4ade80;font-weight:600}.storage-status-empty{color:var(--text-muted);font-style:italic}.stat-card-alert{background:linear-gradient(135deg,#ef44441f 0%,#0006 100%)!important;border-color:#ef444473!important}.stat-card-alert .stat-card-number{color:#f87171!important}.stat-card-alert .stat-card-subtitle{font-weight:700;color:#f87171!important}.select-sort{color:var(--accent-light)!important;background:#d4af8c14!important;border-color:#d4af8c59!important;font-weight:700!important}.filter-active{color:#38bdf8!important;background:#38bdf814!important;border-color:#38bdf8!important}.card-needs-cleanup{border-color:#ef444466!important;box-shadow:0 0 15px #ef444426!important}.card-storage-row{border-top:1px dashed var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.storage-chip-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:#00000059;align-items:center;gap:4px;padding:3px 4px 3px 10px;display:inline-flex}.storage-badge{align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-storage-expired{color:#f87171;font-weight:700;animation:2s ease-in-out infinite pulse}.badge-storage-urgent{color:#fbbf24;font-weight:700}.badge-storage-soon{color:#38bdf8}.badge-storage-ok{color:var(--text-secondary)}.badge-storage-done{color:#4ade80;opacity:.7;text-decoration:line-through}.badge-storage-none{color:var(--text-muted)}.btn-storage-toggle{color:#fca5a5;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:#ef444433;border:1px solid #ef444459;padding:3px 8px;font-size:.65rem;font-weight:700}.btn-storage-toggle:hover{background:#ef444466}.btn-storage-toggle.is-done{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}.btn-storage-toggle.is-done:hover{background:#22c55e40}.table-storage-chips{flex-direction:column;gap:3px;display:flex}.storage-badge-mini{white-space:nowrap;font-size:.68rem}.tab-badge.tab-badge-danger{box-shadow:0 0 8px #ef444480;color:#fff!important;background:#ef4444!important}.storage-manager{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}.storage-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.storage-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-align:left;flex-direction:column;align-items:flex-start;padding:16px;display:flex;position:relative;overflow:hidden}.storage-stat-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.storage-stat-card.stat-active{border-color:var(--accent);background:#d4af8c14;box-shadow:0 0 15px #d4af8c26}.storage-stat-card.stat-danger{background:#ef44440d;border-color:#ef444466}.storage-stat-card.stat-danger.stat-active{border-color:#ef4444;box-shadow:0 0 15px #ef444440}.storage-stat-card.stat-warning{background:#f59e0b0d;border-color:#f59e0b66}.storage-stat-card.stat-warning.stat-active{border-color:#f59e0b;box-shadow:0 0 15px #f59e0b40}.storage-stat-icon{margin-bottom:6px;font-size:1.3rem}.storage-stat-number{color:var(--text-primary);font-size:1.8rem;font-weight:800;line-height:1.1;font-family:var(--font-heading)}.stat-danger .storage-stat-number{color:#f87171}.stat-warning .storage-stat-number{color:#fbbf24}.storage-stat-label{color:var(--text-muted);margin-top:4px;font-size:.8rem}.storage-controls{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.storage-controls-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.storage-sort-group{align-items:center;gap:8px;display:flex}.storage-control-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.storage-sort-btns{gap:6px;display:flex}.btn-sort-option{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;padding:6px 12px;font-size:.8rem;font-weight:600}.btn-sort-option:hover{color:var(--text-primary);background:#ffffff14}.btn-sort-option.active{background:var(--accent);color:#1a1410;border-color:var(--accent);font-weight:700}.storage-controls-right{align-items:center;gap:8px;display:flex}.storage-table-wrap{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}.storage-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.storage-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;background:#0003;padding:14px 16px;font-size:.82rem;font-weight:600}.storage-table th .th-sub{color:var(--text-muted);margin-top:2px;font-size:.7rem;font-weight:400;display:block}.storage-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:14px 16px}.storage-row{transition:background var(--transition-fast)}.storage-row:hover{background:#ffffff05}.storage-row.row-expired{background:#ef44440f}.storage-row.row-expired:hover{background:#ef44441a}.cell-couple strong{color:var(--text-primary)}.cell-location{color:var(--text-muted);margin-top:2px;font-size:.78rem;display:block}.cell-date{color:var(--text-secondary);white-space:nowrap;font-size:.85rem}.cell-deadline{white-space:nowrap}.deadline-badge{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#00000040;padding:4px 8px;font-size:.78rem;font-weight:600;display:inline-block}.deadline-badge.badge-storage-expired{background:#ef444426;border-color:#ef444466}.deadline-badge.badge-storage-urgent{background:#f59e0b26;border-color:#f59e0b66}.deadline-badge.badge-storage-soon{background:#38bdf81a;border-color:#38bdf84d}.deadline-none{color:var(--text-muted)}.months-tag{color:var(--text-muted);background:#ffffff0d;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:.72rem;display:inline-block}.cell-action{white-space:nowrap}.btn-toggle-disk{border-radius:var(--radius-full);color:#fca5a5;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#ef444426;border:1px solid #ef444459;justify-content:center;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.btn-toggle-disk svg{flex-shrink:0}.btn-toggle-disk:hover{background:#ef44444d;border-color:#ef444480}.btn-toggle-disk.is-done{color:#86efac;background:#22c55e26;border-color:#22c55e59}.btn-toggle-disk.is-done:hover{background:#22c55e40;border-color:#22c55e80}.cell-social{text-align:center;font-size:1.1rem}.cell-edit{text-align:right}.btn-storage-edit{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:6px 10px;font-size:.85rem}.btn-storage-edit:hover{border-color:var(--border-medium);background:#ffffff14}.storage-empty-state{text-align:center;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.storage-empty-icon{font-size:2.5rem}.storage-empty-state p{color:var(--text-muted);max-width:420px;margin:0;line-height:1.5}.storage-footer{text-align:center;padding:8px}.storage-footer-text{color:var(--text-muted);font-size:.8rem}@media (max-width:768px){.storage-stats-grid{grid-template-columns:repeat(2,1fr)}.storage-controls{flex-direction:column;align-items:stretch}.storage-controls-left,.storage-controls-right{width:100%}.storage-sort-group{justify-content:space-between;width:100%}.search-filter-wrapper{width:100%}.storage-table th,.storage-table td{padding:10px 12px}}.status-pill{border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;transition:all var(--transition-fast);align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-flex}.status-pill svg{flex-shrink:0}.status-pill.status-pill-success{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e59;box-shadow:0 1px 4px #22c55e1a}.status-pill.status-pill-danger{color:#f87171;background:#ef44441f;border:1px solid #ef44444d;box-shadow:0 1px 4px #ef44441a}.storage-group-title{color:var(--text-primary);align-items:center;gap:6px;font-size:.88rem;font-weight:700;display:flex}.modal-disk-btn{padding:5px 12px;font-size:.75rem;font-weight:600}.social-permission-toggle-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:#00000040;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 16px;display:flex}.social-permission-toggle-box:hover{border-color:var(--border-medium);background:#ffffff08}.social-permission-toggle-box.is-approved{background:#22c55e0a;border-color:#22c55e59}.social-permission-toggle-box.is-forbidden{background:#ef444408;border-color:#ef444440}.social-permission-text{flex-direction:column;gap:3px;display:flex}.social-permission-title{color:var(--text-primary);font-size:.86rem;font-weight:700}.social-permission-sub{color:var(--text-muted);font-size:.74rem}@property --tw-font-weight{syntax:"*";inherits:false}
