:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{overflow-y:scroll;overflow-x:hidden}:root{--warm-white: #F8F6F0;--pure-white: #FFFFFF;--cream: #F5F2EB;--vanilla: #F0EDE4;--taupe: #B8A99A;--taupe-light: #C9BBB0;--taupe-dark: #A69587;--warm-gray: #D4C8BE;--warm-gray-light: #E8E0D8;--sage-green: #9CA88B;--sage-green-light: #AEB99A;--sage-green-dark: #8A9679;--sage-green-muted: #B8C2AD;--text-dark: #2D2D2D;--text-medium: #4A4A4A;--text-light: #6B6B6B;--text-muted: #8B8B8B;--text-color: #2D2D2D;--border-light: #E8E6E0;--border-medium: #D4D0C5;--shadow-light: rgba(184, 169, 154, .08);--shadow-medium: rgba(184, 169, 154, .15);--shadow-heavy: rgba(184, 169, 154, .25);--success: #8FA86B;--success-light: #A8B88A;--warning: #D4A574;--warning-light: #E0B894;--error: #C4907A;--error-light: #D4A899;--info: #9CA88B;--info-light: #B8C2AD;--hover-overlay: rgba(156, 168, 139, .1);--active-overlay: rgba(156, 168, 139, .15);--focus-ring: rgba(156, 168, 139, .5);--bg-secondary: #FAF8F4;--bg-tertiary: #F5F2EB;--bg-muted: #F0EDE4;--card-bg: #FFFFFF;--input-bg: #FAF8F4;--button-primary: #9CA88B;--button-secondary: #B8A99A;--button-ghost: transparent}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--warm-white) 0%,var(--pure-white) 100%);padding:20px}.auth-card{background:var(--card-bg);border-radius:16px;padding:48px;box-shadow:0 12px 48px var(--shadow-medium);max-width:420px;width:100%;text-align:center;position:relative}.auth-card h1{color:var(--text-dark);margin-bottom:8px;font-size:2rem;font-weight:300}.tagline{color:var(--text-medium);margin-bottom:32px;font-size:1rem;line-height:1.5}.auth-form{text-align:left}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:var(--text-dark);font-size:.9rem;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--border-light);border-radius:6px;font-size:1rem;background:var(--input-bg);color:var(--text-dark);transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:var(--text-medium);opacity:.8}.form-group input:focus{outline:none;border-color:var(--sage-green);box-shadow:0 0 0 3px var(--focus-ring)}.auth-button{width:100%;padding:14px;background:var(--button-primary);color:var(--pure-white);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.auth-button:hover:not(:disabled){background:var(--sage-green-dark)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--error);font-size:.9rem;margin-bottom:16px;padding:8px 12px;background:var(--error-light);border-radius:4px}.auth-switch{margin-top:24px;color:var(--text-medium);font-size:.95rem}.link-button{background:none;border:none;color:var(--sage-green);cursor:pointer;text-decoration:underline;font-size:inherit}.link-button:hover{color:var(--sage-green-dark)}.dashboard{min-height:100vh;background:var(--bg-secondary)}.dashboard-header{background:var(--card-bg);border-bottom:1px solid var(--border-light);padding:12px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px var(--shadow-light);position:fixed;top:0;left:0;right:0;z-index:1000;gap:32px}.dashboard-header h1{color:var(--text-dark);margin:0;font-size:1.5rem;font-weight:300}.user-info{display:flex;align-items:center;gap:16px;color:var(--text-dark);flex-shrink:0}.logout-button{background:var(--button-secondary);color:var(--pure-white);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.logout-button:hover{background:var(--taupe-dark)}.account-menu{position:relative;flex-shrink:0}.account-button{background:none;border:none;padding:8px 16px;cursor:pointer;font-size:.9rem;color:var(--text-medium);border-radius:6px;display:flex;align-items:center;gap:8px;transition:background-color .2s}.account-button:hover{background:var(--hover-overlay)}.dropdown-arrow{font-size:.7rem;transition:transform .2s}.account-menu.open .dropdown-arrow{transform:rotate(180deg)}.account-dropdown{position:absolute;top:100%;right:0;background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px var(--shadow-medium);min-width:160px;z-index:1000}.account-dropdown button{width:100%;background:none;border:none;padding:12px 16px;cursor:pointer;font-size:.9rem;color:var(--text-medium);text-align:left;transition:background-color .2s;border-radius:0}.account-dropdown button:first-child{border-radius:8px 8px 0 0}.account-dropdown button:last-child{border-radius:0 0 8px 8px}.account-dropdown button:only-child{border-radius:8px}.profile-view{padding-bottom:80px}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.profile-header h2{margin:0;color:var(--text-dark)}.edit-button{background:var(--sage-green);color:var(--pure-white);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-medium);padding:4px 8px;border-radius:4px;transition:background-color .2s}.close-button:hover{background:var(--hover-overlay);color:var(--text-dark)}.profile-content{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start}@media(max-width:768px){.profile-content{grid-template-columns:1fr;gap:1.5rem}}.profile-picture-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-picture-container{position:relative;width:200px;height:200px;border-radius:50%;overflow:hidden;border:3px solid var(--border-light);background:var(--bg-secondary)}.profile-picture{width:100%;height:100%;object-fit:cover}.profile-picture-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--sage-green-light);color:var(--sage-green-dark);font-size:4rem;font-weight:300}.upload-button{background:var(--sage-green);color:var(--pure-white);border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.upload-button:hover{background:var(--sage-green-dark)}.crop-container{position:relative;width:100%;height:100%;cursor:crosshair;overflow:hidden}.crop-image{width:100%;height:100%;object-fit:cover;display:block}.crop-overlay{position:absolute;border:2px solid var(--sage-green);background:#9ca88b4d;cursor:move;box-sizing:border-box}.crop-overlay:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--pure-white);border-radius:50%;background:var(--sage-green)}.crop-controls{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);display:flex;gap:8px}.crop-apply-button,.crop-cancel-button{padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid var(--border-light)}.crop-apply-button{background:var(--sage-green);color:var(--pure-white);border-color:var(--sage-green)}.crop-apply-button:hover{background:var(--sage-green-dark)}.crop-cancel-button{background:var(--pure-white);color:var(--text-medium)}.crop-cancel-button:hover{background:var(--bg-secondary)}.profile-info-section{max-width:500px;width:100%}.profile-info-section h3{color:var(--text-dark);margin-bottom:1.5rem;font-size:1.2rem}.form-group label{display:block;color:var(--text-medium);font-weight:500;margin-bottom:.5rem;font-size:.9rem}.profile-input{width:100%;padding:12px 16px;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;background:var(--pure-white);color:var(--text-dark);transition:border-color .2s}.profile-input:focus{outline:none;border-color:var(--sage-green);box-shadow:0 0 0 3px var(--focus-ring)}.info-display{padding:12px 16px;background:var(--bg-secondary);border-radius:8px;color:var(--text-dark);font-size:1rem;min-height:48px;display:flex;align-items:center}.profile-toolbar{position:fixed;bottom:0;left:0;right:0;background:var(--pure-white);border-top:1px solid var(--border-light);padding:16px 32px;display:flex;justify-content:flex-end;gap:12px;box-shadow:0 -4px 12px var(--shadow-light);z-index:100}.cancel-button{background:var(--pure-white);color:var(--text-medium);border:2px solid var(--border-light);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.cancel-button:hover{background:var(--bg-secondary);color:var(--text-dark)}.save-button{background:var(--sage-green);color:var(--pure-white);border:2px solid var(--sage-green);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.save-button:hover:not(:disabled){background:var(--sage-green-dark);border-color:var(--sage-green-dark)}.save-button:disabled{background:var(--warm-gray);border-color:var(--warm-gray);color:var(--text-light);cursor:not-allowed;opacity:.6}@media(max-width:768px){.profile-toolbar{padding:12px 16px}.cancel-button,.save-button{flex:1;padding:14px}.profile-picture-container{width:150px;height:150px}.profile-picture-placeholder{font-size:3rem}}.dashboard-nav{background:none;border:none;padding:0;display:flex;gap:8px;flex-grow:1}.dashboard-nav button{background:none;border:none;padding:8px 16px;cursor:pointer;font-size:.9rem;color:var(--text-medium);border-radius:6px;transition:all .2s}.dashboard-nav button.active{color:var(--pure-white);background:var(--sage-green)}.dashboard-nav button:hover{color:var(--text-dark);background:var(--hover-overlay)}.dashboard-content{padding:64px 32px 32px}.view-content{max-width:1200px;margin:0 auto}.view-content h2{color:var(--text-dark);margin-bottom:8px;font-size:1.8rem;font-weight:300}.view-content>p{color:var(--text-medium);margin-bottom:32px;font-size:1.1rem;line-height:1.5}.placeholder{background:var(--pure-white);border:1px solid var(--border-light);border-radius:8px;padding:48px;text-align:center;color:var(--text-medium);font-style:italic}@media(max-width:768px){.auth-card{padding:24px}.dashboard-header{padding:12px 16px;flex-direction:column;gap:12px}.dashboard-nav{padding:0 16px}.dashboard-nav button{padding:12px 16px;font-size:.9rem}.dashboard-content{padding:64px 16px 16px}}.page-container{min-height:100vh;background:var(--bg-secondary)}.page-header{background:var(--card-bg);border-bottom:1px solid var(--border-light);padding:16px 32px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px var(--shadow-light)}.page-header .back-button{background:var(--button-secondary);color:var(--pure-white);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.page-header .back-button:hover{background:var(--taupe-dark)}.page-header h1{margin:0;color:var(--text-dark);font-size:1.5rem;font-weight:300}.page-content{padding:32px;max-width:1200px;margin:0 auto}@media(max-width:768px){.page-header{padding:12px 16px}.page-header h1{font-size:1.2rem}.page-content{padding:16px}}.settings-section{background:var(--pure-white);border:1px solid var(--border-light);border-radius:8px;padding:24px;margin-bottom:24px}.settings-section h3{color:var(--text-dark);margin-bottom:8px;font-size:1.2rem;font-weight:500}.section-description{color:var(--text-medium);margin-bottom:20px;font-size:.95rem;line-height:1.5}.retention-settings{display:flex;flex-direction:column;gap:20px}.setting-group{position:relative}.setting-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.setting-header label{font-weight:500;color:var(--text-dark)}.help-icon{width:20px;height:20px;border-radius:50%;background:var(--sage-green);color:var(--pure-white);border:none;cursor:help;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.help-icon:hover{background:#8a9679}.tooltip{position:absolute;top:100%;left:0;right:0;background:var(--text-dark);color:var(--pure-white);padding:12px;border-radius:4px;font-size:.85rem;line-height:1.4;z-index:10;margin-top:4px;box-shadow:0 4px 12px #00000026}.setting-group select{width:100%;padding:10px 12px;border:1px solid var(--border-light);border-radius:4px;background:var(--warm-white);font-size:1rem;color:var(--text-dark)}.setting-group select:focus{outline:none;border-color:var(--sage-green)}.settings-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.save-button{background:var(--sage-green);color:var(--pure-white);border:none;padding:12px 24px;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover{background:#8a9679}.export-button,.delete-button{background:var(--taupe);color:var(--pure-white);border:none;padding:10px 20px;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.export-button:hover{background:#a69384}.danger-zone{border-color:#d32f2f}.danger-zone h3{color:#d32f2f}.delete-button{background:#d32f2f}.delete-button:hover{background:#b71c1c}@media(max-width:768px){.settings-section{padding:16px}.retention-settings{gap:16px}.tooltip{position:static;margin-top:8px}}.billing-overview{margin-bottom:24px}.billing-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.plan-info{border-right:1px solid var(--border-light);padding-right:24px}.plan-info h4{color:var(--text-dark);font-size:1.4rem;font-weight:500;margin:0 0 8px}.plan-price{color:var(--sage-green);font-size:1.2rem;font-weight:600;margin:0 0 4px}.billing-cycle{color:var(--text-medium);font-size:.9rem;margin:0;text-transform:capitalize}.seat-management{display:flex;flex-direction:column;gap:16px}.seat-controls{display:flex;flex-direction:column;gap:8px}.seat-controls label{color:var(--text-dark);font-weight:500;font-size:.95rem}.seat-adjuster{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;padding:8px 12px;width:fit-content}.seat-button{width:32px;height:32px;border:1px solid var(--border-light);background:var(--pure-white);color:var(--text-dark);border-radius:50%;cursor:pointer;font-size:18px;font-weight:500;display:flex;align-items:center;justify-content:center;transition:all .2s}.seat-button:hover:not(:disabled){background:var(--sage-green);color:var(--pure-white);border-color:var(--sage-green)}.seat-button:disabled{opacity:.4;cursor:not-allowed}.current-seats{font-size:1.2rem;font-weight:600;color:var(--text-dark);min-width:24px;text-align:center}.billing-preview{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;padding:16px}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light);color:var(--text-dark)}.preview-item:last-child{border-bottom:none}.preview-item.new-total{background:var(--success-light);margin:8px -16px;padding:12px 16px;border-radius:6px;border-bottom:none}.price{font-weight:600;color:var(--text-dark)}.new-price{color:var(--success);font-size:1.1rem}.next-billing{color:var(--text-medium);font-size:.9rem}.billing-actions{padding-top:20px;border-top:1px solid var(--border-light)}.change-preview{background:var(--bg-secondary);border-radius:8px;padding:16px}.change-summary{color:var(--text-dark);font-weight:500;margin:0 0 12px}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.cancel-button{background:var(--button-ghost);border:1px solid var(--border-light);color:var(--text-medium);padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .2s}.cancel-button:hover{background:var(--hover-overlay);border-color:var(--border-medium)}.payment-info{background:var(--bg-secondary);border-radius:8px;padding:16px}.payment-info h4{color:var(--text-dark);font-size:1.1rem;margin:0 0 8px}.payment-info p{color:var(--text-medium);margin:0 0 8px}@media(max-width:768px){.billing-card{grid-template-columns:1fr;gap:20px}.plan-info{border-right:none;border-bottom:1px solid var(--border-light);padding-right:0;padding-bottom:20px}.seat-adjuster{margin:0 auto}.billing-preview{margin-top:16px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.accessibility-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.accessibility-settings .setting-group{margin-bottom:0}.accessibility-settings .setting-group select{margin-bottom:8px}.toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative}.toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:44px;height:24px;background:var(--border-light);border-radius:24px;transition:background-color .2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:var(--pure-white);border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px #0000001a}.toggle-label input:checked+.toggle-slider{background:var(--sage-green)}.toggle-label input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-label input:focus+.toggle-slider{box-shadow:0 0 0 3px var(--focus-ring)}.toggle-text{font-size:.9rem;color:var(--text-medium);font-weight:500}.high-contrast{--text-dark: #000000;--text-medium: #000000;--text-light: #333333;--pure-white: #FFFFFF;--card-bg: #FFFFFF;--bg-secondary: #F8F8F8;--border-light: #000000;--border-medium: #333333;--shadow-light: rgba(0, 0, 0, .2);--shadow-medium: rgba(0, 0, 0, .3);--sage-green: #006400;--sage-green-dark: #004400;--taupe: #654321}:root{--base-font-size: 16px}.font-size-small{--base-font-size: 14px}.font-size-large{--base-font-size: 18px}.font-size-extra-large{--base-font-size: 20px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.keyboard-navigation-enhanced :focus-visible{outline:2px solid var(--sage-green);outline-offset:2px;border-radius:4px}.simplified-interface .dashboard-nav button{padding:20px 32px;font-size:1.2rem;margin:0 8px}.simplified-interface .action-button,.simplified-interface .save-button,.simplified-interface .export-button,.simplified-interface .delete-button{padding:16px 24px;font-size:1.1rem;min-height:48px}.simplified-interface .timeline-post{padding:24px}.simplified-interface .post-actions button{padding:12px 16px;font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.accessibility-announcements{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:768px){.accessibility-settings{grid-template-columns:1fr;gap:20px}.toggle-label{flex-direction:column;align-items:flex-start;gap:8px}.toggle-slider{align-self:flex-start}}@media(max-width:768px){.family-activity-sidebar{gap:16px}.sidebar-section{padding:12px}.activity-item{padding:6px}.recent-reactions{justify-content:center}}.three-column-layout{display:grid;grid-template-columns:200px 1fr;gap:24px;max-width:1600px;margin:0 auto;padding:0 24px}.layout-sidebar-left{grid-column:1}.layout-main{grid-column:2}.layout-sidebar-right{display:none}@media(max-width:1024px){.three-column-layout{grid-template-columns:180px 1fr;gap:20px;padding:0 16px}}@media(max-width:768px){.three-column-layout{grid-template-columns:1fr;gap:16px;padding:0 12px}.layout-sidebar-left{order:-1;margin-bottom:16px}}.time-scrubber{width:100%;background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;padding:16px;position:sticky;top:20px;height:fit-content}.scrubber-header h3{margin:0 0 16px;color:var(--text-dark);font-size:1.1rem;font-weight:500}.scrubber-years{display:flex;flex-direction:column;gap:8px}.year-button{width:100%;padding:12px 16px;background:var(--warm-white);border:2px solid transparent;border-radius:6px;color:var(--text-dark);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.year-button:hover{background:var(--sage-green);color:var(--pure-white);border-color:var(--sage-green)}.year-button.active{background:var(--sage-green);color:var(--pure-white);border-color:var(--sage-green);box-shadow:0 2px 8px #8a96794d}.scrubber-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.clear-filter-button{width:100%;padding:8px 16px;background:var(--taupe);color:var(--pure-white);border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.clear-filter-button:hover{background:#a69384}.timeline-posts{flex:1;min-width:0}.timeline-post{background:var(--pure-white);border:1px solid var(--border-light);border-radius:8px;padding:20px;margin-bottom:16px}.post-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.post-author{font-weight:500;color:var(--text-dark)}.post-date{color:var(--text-medium);font-size:.9rem}.post-content{margin-bottom:16px}.post-content p{margin:0;line-height:1.5;color:var(--text-dark)}.post-reactions{display:flex;gap:12px;margin-bottom:12px}.reaction{background:var(--warm-white);padding:4px 8px;border-radius:12px;font-size:.9rem;border:1px solid var(--border-light)}.post-actions{display:flex;gap:8px}.action-button{background:none;border:1px solid var(--border-light);padding:6px 12px;border-radius:4px;color:var(--text-dark);cursor:pointer;font-size:.9rem;transition:all .2s}.action-button:hover{background:var(--warm-white);border-color:var(--sage-green)}.loading,.empty-state{text-align:center;padding:40px 20px;color:var(--text-medium)}.empty-state p{margin:0;font-size:1.1rem}.family-activity-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;padding:16px;box-shadow:0 2px 8px var(--shadow-light)}.sidebar-section h3{color:var(--text-dark);margin:0 0 12px;font-size:1.1rem;font-weight:500}.activity-feed{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:6px;background:var(--bg-secondary);transition:background-color .2s}.activity-item:hover{background:var(--hover-overlay)}.activity-icon{font-size:1.1rem;flex-shrink:0}.activity-content{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-text{color:var(--text-dark);font-size:.9rem;line-height:1.3}.activity-time{color:var(--text-medium);font-size:.8rem}.recent-reactions{display:flex;gap:12px;flex-wrap:wrap}.reaction-item{display:flex;align-items:center;gap:4px;background:var(--bg-secondary);padding:6px 10px;border-radius:16px;border:1px solid var(--border-light)}.reaction-emoji{font-size:1rem}.reaction-count{color:var(--text-medium);font-size:.85rem;font-weight:500}.online-status{display:flex;flex-direction:column;gap:8px}.online-member{display:flex;align-items:center;gap:8px;padding:6px 0}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.online-member.online .status-indicator{background:var(--success);box-shadow:0 0 6px var(--success-light)}.online-member.away .status-indicator{background:var(--warning);box-shadow:0 0 6px var(--warning-light)}.online-member.offline .status-indicator{background:var(--text-muted);box-shadow:none}.online-member span{color:var(--text-dark);font-size:.9rem}.privacy-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--success-light);color:var(--success);border-radius:10px;font-size:.75rem;font-weight:500;border:1px solid var(--success)}.privacy-indicator:before{content:"🔒";font-size:.8rem}.family-only-badge{position:absolute;top:8px;right:8px;background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:4px 8px;font-size:.75rem;color:var(--text-medium);box-shadow:0 2px 4px var(--shadow-light);z-index:10}.family-only-badge:before{content:"👨‍👩‍👧‍👦";margin-right:4px}.post-privacy-notice{background:linear-gradient(135deg,var(--warning-light),var(--warning));border:1px solid var(--warning);border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:.85rem;color:var(--text-dark);display:flex;align-items:center;gap:8px}.post-privacy-notice:before{content:"🛡️";font-size:1rem}.sharing-controls{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.share-button{background:var(--button-ghost);border:1px solid var(--border-light);color:var(--text-medium);padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.share-button:hover{background:var(--hover-overlay);border-color:var(--sage-green);color:var(--sage-green)}.share-button.family-only{background:var(--success);border-color:var(--success);color:var(--pure-white)}.share-button.family-only:before{content:"👨‍👩‍👧‍👦"}.share-button.external:before{content:"🚫";color:var(--error)}.share-button.external{background:var(--error-light);border-color:var(--error);color:var(--error);cursor:not-allowed;opacity:.6}.privacy-tooltip{position:relative}.privacy-tooltip:hover .tooltip-content{opacity:1;visibility:visible}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-dark);color:var(--pure-white);padding:8px 12px;border-radius:4px;font-size:.8rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s;z-index:100;margin-bottom:4px}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text-dark)}.anti-public-banner{background:linear-gradient(135deg,var(--sage-green-light),var(--sage-green));color:var(--pure-white);padding:12px 24px;text-align:center;border-radius:8px;margin-bottom:20px;position:relative;overflow:hidden}.anti-public-banner:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='grain' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='%23ffffff' opacity='0.1'/%3E%3Ccircle cx='75' cy='75' r='1' fill='%23ffffff' opacity='0.1'/%3E%3Ccircle cx='50' cy='10' r='0.5' fill='%23ffffff' opacity='0.1'/%3E%3Ccircle cx='90' cy='40' r='0.5' fill='%23ffffff' opacity='0.1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100' height='100' fill='url(%23grain)'/%3E%3C/svg%3E");pointer-events:none}.anti-public-banner h3{margin:0 0 4px;font-size:1.1rem;font-weight:500;position:relative;z-index:1}.anti-public-banner p{margin:0;font-size:.9rem;opacity:.9;position:relative;z-index:1}.privacy-lock-icon{display:inline-block;width:16px;height:16px;background:var(--pure-white);border-radius:50%;text-align:center;line-height:16px;font-size:10px;margin-right:6px;vertical-align:middle}.privacy-lock-icon:before{content:"🔒"}.protected-content{position:relative}.content-protection-notice{position:absolute;inset:0;background:#f8f6f0f2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:8px;z-index:20}.protection-icon{font-size:2rem;margin-bottom:12px;opacity:.7}.protection-message{color:var(--text-dark);font-size:1rem;font-weight:500;margin-bottom:8px}.protection-subtitle{color:var(--text-medium);font-size:.9rem;max-width:300px}.hearth-header{margin-bottom:1.5rem}.hearth-header h2{color:var(--text-dark);font-size:1.8rem;font-weight:500;margin:0 0 .5rem}.hearth-header p{color:var(--text-medium);font-size:1rem;margin:0}.create-post-section{margin-bottom:2rem;padding:1.5rem;background:var(--pure-white);border-radius:12px;border:1px solid var(--border-light)}.create-post-form{display:flex;flex-direction:column;gap:1rem}.share-button.family-only:hover{background:var(--success);border-color:var(--success);color:var(--pure-white);opacity:.9}.create-post-form textarea{width:100%;padding:1rem;border:1px solid var(--border-light);border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;background:var(--bg-secondary);color:var(--text-color)}.create-post-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a}.create-post-actions{display:flex;justify-content:space-between;align-items:center}.create-post-form textarea::placeholder{color:var(--text-medium);opacity:.8}.character-count{font-size:.875rem;color:var(--text-medium)}.create-post-button{background:var(--sage-green);color:var(--pure-white);border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.create-post-button:not(:disabled){color:var(--pure-white)}.create-post-button:hover:not(:disabled){background:var(--sage-green-dark)}.create-post-button:active:not(:disabled){background:var(--sage-green-dark);filter:brightness(.95)}.create-post-button:focus-visible{outline:2px solid var(--sage-green);outline-offset:2px}.create-post-button:disabled{background:#bdbdbd;color:var(--pure-white);cursor:not-allowed}.post-reactions{margin-bottom:1rem}.reaction-button{background:none;border:1px solid var(--border-color);padding:.5rem .75rem;border-radius:20px;margin-right:.5rem;margin-bottom:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem}.reaction-button:hover{border-color:var(--primary-color);background:#4a90e20d}.reaction-button.active{border-color:var(--primary-color);background:#4a90e21a;color:var(--primary-color)}.comments-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.comment-thread{display:flex;flex-direction:column;gap:1.5rem}.new-comment-form form{display:flex;flex-direction:column;gap:.75rem}.new-comment-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--background-color);color:var(--text-color);min-height:80px}.new-comment-form textarea:focus{outline:none;border-color:var(--primary-color)}.comment-form-actions{display:flex;justify-content:flex-end}.submit-comment-button{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-comment-button:hover:not(:disabled){background:var(--primary-hover)}.submit-comment-button:disabled{background:var(--text-muted);cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1rem}.no-comments{text-align:center;color:var(--text-secondary);font-style:italic;padding:2rem}.comment{padding:1rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color)}.comment-indent-1{margin-left:2rem}.comment-indent-2{margin-left:4rem}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comment-author{font-weight:600;color:var(--text-color)}.comment-date{font-size:.75rem;color:var(--text-secondary)}.comment-content p{margin:0;line-height:1.5;color:var(--text-color)}.comment-actions{margin-top:.75rem}.reply-button{background:none;border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.reply-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.reply-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.reply-form textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.875rem;resize:vertical;background:var(--background-color);color:var(--text-color);margin-bottom:.5rem}.reply-form textarea:focus{outline:none;border-color:var(--primary-color)}.reply-actions{display:flex;gap:.5rem;justify-content:flex-end}.submit-reply-button{background:var(--primary-color);color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-reply-button:hover:not(:disabled){background:var(--primary-hover)}.submit-reply-button:disabled{background:var(--text-muted);cursor:not-allowed}.cancel-reply-button{background:none;border:1px solid var(--border-color);padding:.375rem .75rem;border-radius:4px;font-size:.875rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.cancel-reply-button:hover{border-color:var(--error-color);color:var(--error-color)}html,body,#root{min-height:100vh;width:100%;margin:0;padding:0}.landing-page{min-height:100vh;width:100%;background:linear-gradient(180deg,var(--warm-white) 0%,var(--pure-white) 100%)}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:6rem 4rem;max-width:1400px;margin:0 auto;align-items:center;background:transparent;min-height:80vh}.hero-content{padding-left:0;display:flex;flex-direction:column;justify-content:center}.hero-title{font-size:3.5rem;font-weight:600;color:var(--text-dark);line-height:1.15;margin-bottom:1.5rem;max-width:600px;letter-spacing:-.02em}.hero-subtitle{font-size:1.3rem;color:var(--text-medium);line-height:1.6;margin-bottom:2.5rem;max-width:500px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.cta-button{padding:1rem 2.5rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 4px 12px #00000014}.cta-button.primary{background:linear-gradient(135deg,var(--sage-green) 0%,var(--sage-green-dark) 100%);color:var(--pure-white);border-color:transparent}.cta-button.primary:hover{background:linear-gradient(135deg,var(--sage-green-dark) 0%,#7A8568 100%);transform:translateY(-3px);box-shadow:0 12px 28px #9ca88b66}.cta-button.secondary{background:var(--pure-white);color:var(--sage-green-dark);border:2px solid var(--sage-green)}.cta-button.secondary:hover{background:var(--hover-overlay);border-color:var(--sage-green-dark);transform:translateY(-3px);box-shadow:0 8px 20px #9ca88b26}.cta-button.large{padding:1.2rem 3rem;font-size:1.2rem}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-illustration{position:relative;width:300px;height:300px}.family-circle{position:relative;width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--sage-green-light),var(--sage-green));display:flex;align-items:center;justify-content:center;margin:0 auto}.family-member{position:absolute;font-size:2.5rem;animation:gentleFloat 4s ease-in-out infinite;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}@keyframes gentleFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-2deg)}50%{transform:translateY(-4px) rotate(0)}75%{transform:translateY(-12px) rotate(2deg)}}.family-member.mom{top:-20px;left:50%;transform:translate(-50%);animation-delay:0s}.family-member.dad{bottom:-20px;left:50%;transform:translate(-50%);animation-delay:1s}.family-member.kid1{top:50%;left:-20px;transform:translateY(-50%);animation-delay:.5s}.family-member.kid2{top:50%;right:-20px;transform:translateY(-50%);animation-delay:1.5s}.privacy-shield{position:absolute;top:-30px;right:-30px;font-size:3rem;background:var(--pure-white);border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--shadow-medium);border:3px solid var(--sage-green)}.value-props{padding:6rem 2rem;background:var(--card-bg)}.value-props-content{max-width:1200px;margin:0 auto;text-align:center}.value-props h2{font-size:2.5rem;font-weight:300;color:var(--text-dark);margin-bottom:3rem}.props-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.prop-card{padding:2.5rem 2rem;background:var(--pure-white);border-radius:16px;border:1px solid var(--border-light);box-shadow:0 4px 16px var(--shadow-light);transition:all .3s ease}.prop-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px var(--shadow-medium);border-color:var(--sage-green-light)}.prop-icon{font-size:3rem;margin-bottom:1rem;display:block}.prop-card h3{font-size:1.3rem;font-weight:500;color:var(--text-dark);margin-bottom:1rem}.prop-card p{color:var(--text-medium);line-height:1.6;margin:0}.features-preview{padding:6rem 2rem;background:var(--bg-secondary)}.features-content{max-width:1200px;margin:0 auto;text-align:center}.features-content h2{font-size:2.5rem;font-weight:300;color:var(--text-dark);margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:1fr;gap:4rem;margin-top:3rem}.feature-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:2rem;background:var(--pure-white);border-radius:20px;box-shadow:0 8px 32px var(--shadow-light);border:1px solid var(--border-light)}.feature-description h3{font-size:1.8rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.feature-description p{color:var(--text-medium);line-height:1.7;font-size:1.1rem}.timeline-preview,.vault-preview,.chat-preview{background:var(--card-bg);border-radius:8px;padding:1.5rem;border:1px solid var(--border-light);max-width:400px}.timeline-post-preview{background:var(--bg-secondary);border-radius:6px;padding:1rem;border:1px solid var(--border-light)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.preview-author{font-weight:500;color:var(--text-dark)}.preview-badge{font-size:.8rem;color:var(--text-medium);background:var(--success-light);padding:2px 6px;border-radius:8px}.preview-content{color:var(--text-dark);margin-bottom:.5rem;font-style:italic}.preview-reactions{display:flex;gap:.5rem;font-size:.9rem;color:var(--text-medium)}.vault-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.vault-item{aspect-ratio:1;background:var(--bg-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem;border:1px solid var(--border-light);transition:all .2s}.vault-item:hover{background:var(--hover-overlay);border-color:var(--sage-green)}.chat-messages{background:var(--bg-secondary);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.chat-message{font-size:.9rem}.message-author{font-weight:500;color:var(--text-dark)}.message-content{color:var(--text-medium)}.privacy-promise{padding:6rem 2rem;background:linear-gradient(135deg,var(--sage-green-light),var(--sage-green));color:var(--pure-white);text-align:center}.privacy-content{max-width:800px;margin:0 auto}.privacy-icon{font-size:4rem;margin-bottom:2rem;opacity:.9}.privacy-promise h2{font-size:2.5rem;font-weight:300;margin-bottom:2rem}.privacy-promise p{font-size:1.2rem;line-height:1.6;opacity:.9;margin-bottom:3rem}.privacy-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.privacy-feature{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.check-icon{color:var(--success);font-size:1.2rem;font-weight:700}.privacy-feature span:last-child{text-align:left;opacity:.9}.final-cta{padding:6rem 2rem;background:var(--card-bg);text-align:center}.cta-content{max-width:600px;margin:0 auto}.final-cta h2{font-size:2.5rem;font-weight:300;color:var(--text-dark);margin-bottom:1rem}.final-cta p{font-size:1.2rem;color:var(--text-medium);margin-bottom:3rem}.cta-note{font-size:.9rem;color:var(--text-medium);margin-top:2rem}.landing-footer{padding:3rem 2rem;background:var(--text-dark);color:var(--pure-white)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-brand h3{font-size:1.5rem;font-weight:300;margin-bottom:.5rem}.footer-brand p{font-size:.9rem;opacity:.8;margin:0}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--pure-white);text-decoration:none;font-size:.9rem;opacity:.8;transition:opacity .2s}.footer-links a:hover{opacity:1}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:1024px){.hero-section{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-content{padding-left:0}.hero-title{font-size:2.8rem}.features-grid{grid-template-columns:1fr}.feature-item{grid-template-columns:1fr;gap:2rem;text-align:center}}@media(max-width:768px){.hero-section{padding:4rem 1rem}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1.1rem}.props-grid{grid-template-columns:1fr}.value-props,.features-preview,.privacy-promise,.final-cta{padding:4rem 1rem}.footer-content{flex-direction:column;gap:2rem;text-align:center}.footer-links{flex-direction:column;gap:1rem}}.legacy-view{max-width:900px;margin:0 auto;padding:2rem 1rem}.legacy-header{margin-bottom:2rem}.legacy-header h2{font-size:1.8rem;font-weight:300;color:var(--text-dark);margin-bottom:.5rem}.legacy-header p{color:var(--text-light);font-size:1rem}.import-section{display:grid;grid-template-columns:1fr;gap:1.5rem}.import-source-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:2rem;transition:box-shadow .2s}.import-source-card:not(.disabled):hover{box-shadow:0 4px 20px var(--shadow-medium)}.import-source-card.disabled{opacity:.5;pointer-events:none}.source-icon{width:48px;height:48px;border-radius:12px;background:var(--sage-green-muted);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;margin-bottom:1rem}.import-source-card h3{font-size:1.2rem;font-weight:500;color:var(--text-dark);margin-bottom:.5rem}.import-source-card>p{color:var(--text-light);margin-bottom:1.5rem;line-height:1.5}.import-instructions{background:var(--bg-secondary);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.import-instructions h4{font-size:.9rem;font-weight:600;color:var(--text-medium);margin-bottom:.75rem}.import-instructions ol{padding-left:1.25rem;margin:0}.import-instructions li{color:var(--text-light);font-size:.85rem;line-height:1.6;margin-bottom:.25rem}.upload-dropzone{border:2px dashed var(--border-medium);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-secondary)}.upload-dropzone:hover{border-color:var(--sage-green);background:var(--hover-overlay)}.upload-dropzone.drag-over{border-color:var(--sage-green);background:var(--active-overlay);transform:scale(1.01)}.dropzone-icon{font-size:2.5rem;color:var(--sage-green);margin-bottom:.75rem;line-height:1}.dropzone-text{font-size:1rem;color:var(--text-medium);margin-bottom:.25rem}.dropzone-hint{font-size:.8rem;color:var(--text-muted)}.import-progress-section,.import-preview-section,.import-complete-section,.import-error-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:3rem 2rem;text-align:center;max-width:600px;margin:0 auto}.import-progress-section h3,.import-preview-section h3,.import-complete-section h3,.import-error-section h3{font-size:1.3rem;font-weight:400;color:var(--text-dark);margin-bottom:1.5rem}.progress-bar-container{width:100%;height:8px;background:var(--warm-gray-light);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-bar{height:100%;background:var(--sage-green);border-radius:4px;transition:width .3s ease}.progress-bar.progress-indeterminate{width:30%;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-text{color:var(--text-medium);font-size:.9rem;margin-bottom:.5rem}.stage-text{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.import-stats{display:flex;gap:1.5rem;justify-content:center;margin-bottom:.75rem;font-size:.9rem;color:var(--text-medium)}.import-stats .stat-failed{color:var(--error)}.preview-subtitle{color:var(--text-light);margin-bottom:2rem;font-size:.95rem}.import-preview-section{text-align:left;max-width:650px}.manifest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.manifest-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:1rem;text-align:center}.manifest-item label{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer}.manifest-item input[type=checkbox]{accent-color:var(--sage-green);width:18px;height:18px}.manifest-count{font-size:1.8rem;font-weight:300;color:var(--text-dark);line-height:1}.manifest-label{font-size:.85rem;color:var(--text-light)}.manifest-item.info-only{opacity:.7}.manifest-size,.manifest-format{color:var(--text-muted);font-size:.85rem;margin-bottom:.25rem}.preview-actions{display:flex;gap:1rem;margin-top:2rem}.confirm-button{background:var(--sage-green);color:var(--pure-white);border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;cursor:pointer;transition:background .2s;font-weight:500}.confirm-button:hover{background:var(--sage-green-dark)}.cancel-button{background:transparent;color:var(--text-muted);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem 2rem;font-size:.9rem;cursor:pointer;transition:all .2s}.cancel-button:hover{color:var(--error);border-color:var(--error)}.complete-icon{width:64px;height:64px;border-radius:50%;background:var(--success);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.complete-stats{display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem}.stat-item{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:300;color:var(--text-dark)}.stat-label{font-size:.85rem;color:var(--text-light)}.stat-item.stat-failed .stat-value{color:var(--error)}.import-complete-section p{color:var(--text-light);line-height:1.6;margin-bottom:1.5rem}.error-icon{width:64px;height:64px;border-radius:50%;background:var(--error);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.error-message{color:var(--error);margin-bottom:1.5rem;line-height:1.5}.error-banner{background:var(--error-light);border:1px solid var(--error);border-radius:8px;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.error-banner p{color:var(--text-dark);font-size:.9rem;margin:0}.error-banner button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-medium);padding:0 .25rem}.past-imports-section{margin-top:3rem}.past-imports-section h3{font-size:1.1rem;font-weight:500;color:var(--text-dark);margin-bottom:1rem}.past-imports-list{display:flex;flex-direction:column;gap:.75rem}.past-import-item{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.import-info{display:flex;flex-direction:column;gap:.25rem}.import-filename{font-weight:500;color:var(--text-dark);font-size:.95rem}.import-date{color:var(--text-muted);font-size:.8rem}.import-meta{display:flex;align-items:center;gap:1rem;font-size:.85rem}.import-status{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge-completed{background:var(--success-light);color:var(--text-dark)}.status-badge-failed{background:var(--error-light);color:var(--text-dark)}.status-badge-cancelled{background:var(--warm-gray-light);color:var(--text-medium)}.import-count,.import-size{color:var(--text-muted)}@media(max-width:768px){.legacy-view{padding:1rem}.manifest-grid{grid-template-columns:repeat(2,1fr)}.past-import-item{flex-direction:column;align-items:flex-start;gap:.5rem}.preview-actions{flex-direction:column}}.billing-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.billing-header{margin-bottom:2rem}.billing-header h2{font-size:1.8rem;font-weight:300;color:var(--text-dark);margin-bottom:.5rem}.billing-header p{color:var(--text-light);font-size:1rem}.billing-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-light)}.billing-tabs button{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;color:var(--text-medium);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;margin-bottom:-2px}.billing-tabs button:hover{color:var(--text-dark)}.billing-tabs button.active{color:var(--sage-green);border-bottom-color:var(--sage-green)}.billing-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{font-size:1.3rem;font-weight:400;color:var(--text-dark)}.subscriptions-table{overflow-x:auto}.subscriptions-table table{width:100%;border-collapse:collapse}.subscriptions-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-secondary);color:var(--text-medium);font-weight:500;font-size:.9rem;border-bottom:2px solid var(--border-light)}.subscriptions-table td{padding:1rem;border-bottom:1px solid var(--border-light);color:var(--text-dark)}.subscriptions-table tr:hover{background:var(--hover-overlay)}.mono-text{font-family:Courier New,monospace;font-size:.85rem;color:var(--text-muted)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.status-active{background:var(--success-light);color:var(--text-dark)}.status-trialing{background:var(--info-light);color:var(--text-dark)}.status-past_due{background:var(--warning-light);color:var(--text-dark)}.status-pending{background:var(--warm-gray-light);color:var(--text-medium)}.status-completed{background:var(--success-light);color:var(--text-dark)}.status-failed{background:var(--error-light);color:var(--text-dark)}.status-processing,.status-in_progress{background:var(--info-light);color:var(--text-dark)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.product-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:1.5rem}.product-card h4{font-size:1.1rem;font-weight:500;color:var(--text-dark);margin-bottom:.5rem}.product-description{color:var(--text-light);font-size:.9rem;margin-bottom:1rem}.prices-list{display:flex;flex-direction:column;gap:.5rem}.price-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--pure-white);border-radius:4px}.price-amount{font-weight:500;color:var(--text-dark)}.price-interval{color:var(--text-muted);font-size:.9rem}.inactive-badge{margin-left:auto;padding:.25rem .5rem;background:var(--warm-gray-light);color:var(--text-muted);font-size:.75rem;border-radius:4px}.price-change-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.price-change-form{background:var(--card-bg);border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-header h3{font-size:1.3rem;font-weight:400;color:var(--text-dark)}.form-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-medium);padding:0;width:32px;height:32px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-medium);font-weight:500;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:1rem;background:var(--input-bg);color:var(--text-dark)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--sage-green)}.form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.85rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.primary-button{background:var(--sage-green);color:var(--pure-white);border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background .2s;font-weight:500}.primary-button:hover{background:var(--sage-green-dark)}.secondary-button{background:transparent;color:var(--text-muted);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .2s}.secondary-button:hover{color:var(--text-dark);border-color:var(--text-dark)}.price-changes-list{display:flex;flex-direction:column;gap:1.5rem}.price-change-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:1.5rem}.price-change-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.price-change-header h4{font-size:1.2rem;font-weight:400;color:var(--text-dark);margin-bottom:.25rem}.price-change-meta{color:var(--text-muted);font-size:.9rem}.price-change-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{color:var(--text-muted);font-size:.85rem}.view-migrations-button{background:var(--button-secondary);color:var(--pure-white);border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background .2s}.view-migrations-button:hover{background:var(--taupe-dark)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--card-bg);border-radius:12px;padding:2rem;max-width:900px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{font-size:1.3rem;font-weight:400;color:var(--text-dark)}.modal-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-medium);padding:0;width:32px;height:32px}.migrations-table{overflow-x:auto}.migrations-table table{width:100%;border-collapse:collapse}.migrations-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-secondary);color:var(--text-medium);font-weight:500;font-size:.9rem;border-bottom:2px solid var(--border-light)}.migrations-table td{padding:1rem;border-bottom:1px solid var(--border-light);color:var(--text-dark)}.error-cell{color:var(--error);font-size:.85rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{text-align:center;padding:3rem;color:var(--text-muted);font-style:italic}@media(max-width:768px){.billing-tabs{flex-direction:column;gap:0}.billing-tabs button{border-bottom:1px solid var(--border-light);border-left:3px solid transparent;margin-bottom:0}.billing-tabs button.active{border-bottom-color:var(--border-light);border-left-color:var(--sage-green)}.subscriptions-table{font-size:.85rem}.products-grid,.price-change-details{grid-template-columns:1fr}.form-actions{flex-direction:column}}.vault-view{display:flex;flex-direction:column;gap:24px}.vault-header{text-align:center;margin-bottom:1rem}.vault-header h2{font-size:2.2rem;background:linear-gradient(135deg,var(--primary-color, #3b82f6),var(--secondary-color, #8b5cf6));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.vault-header p{color:var(--text-color-muted, #718096);font-size:1.1rem}.vault-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:10px}.vault-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:pointer;box-shadow:0 4px 15px #00000014;transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease;background:var(--bg-color-secondary, #f8f9fa)}.vault-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 25px #00000026}.vault-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.vault-item:hover .vault-image{transform:scale(1.08)}.vault-item-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 15px 15px;background:linear-gradient(to top,#000c,#0000);display:flex;flex-direction:column;opacity:0;transition:opacity .3s ease;pointer-events:none}.vault-item:hover .vault-item-overlay{opacity:1}.vault-item-title{color:#fff;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.vault-item-date{color:#fffc;font-size:.8rem}.vault-lightbox{position:fixed;inset:0;background-color:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;background:transparent;align-items:center}.lightbox-close{position:absolute;top:-40px;right:-10px;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s;z-index:10}.lightbox-close:hover{opacity:1}.lightbox-image-container{display:flex;justify-content:center;align-items:center;min-height:200px}.lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080;animation:zoomIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-info{margin-top:16px;color:#fff;background:#00000080;padding:12px 24px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:space-between;align-items:center;width:100%;max-width:600px;gap:20px;flex-wrap:wrap}.lightbox-info-details{text-align:left}.lightbox-info h3{margin:0 0 4px;font-size:1.1rem}.lightbox-info p{margin:0;font-size:.9rem;color:#cbd5e1}.vault-loading,.vault-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-color-muted, #718096);min-height:300px}.vault-spinner{width:40px;height:40px;border:4px solid rgba(var(--primary-color-rgb, 59, 130, 246),.2);border-radius:50%;border-top-color:var(--primary-color, #3b82f6);animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.vault-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.vault-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}@media(max-width:768px){.vault-header-content{flex-direction:column;text-align:center}}.vault-actions{display:flex;align-items:center}.vault-upload-btn{background:linear-gradient(135deg,var(--primary-color, #3b82f6),var(--secondary-color, #8b5cf6));color:#fff;border:none;padding:12px 24px;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #3b82f64d;transition:all .3s ease}.vault-upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.vault-upload-btn:disabled{opacity:.7;cursor:not-allowed;background:#94a3b8;box-shadow:none}.vault-delete-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.vault-delete-btn:hover{background:#ef4444;color:#fff}
