:root{--primary-blue: #1E40AF;--primary-blue-dark: #1E3A8A;--primary-blue-light: #3B82F6;--text-dark: #1F2937;--text-gray: #6B7280;--bg-light: #F9FAFB;--bg-white: #FFFFFF;--border-color: #E5E7EB;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);font-family:Open Sans,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1f2937;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}.subscription-banner{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;color:#92400e;font-size:.9375rem}.subscription-banner-icon{font-size:1.25rem}.subscription-banner-text{flex:1;min-width:200px}.subscription-banner-cta{display:inline-block;padding:.4rem 1rem;background:#d97706;color:#fff;border-radius:8px;font-weight:600;text-decoration:none;white-space:nowrap}.subscription-banner-cta:hover{background:#b45309;color:#fff}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:none;border:none;cursor:pointer;border-radius:8px;transition:background .2s;-webkit-tap-highlight-color:transparent}.nav-toggle:hover{background:#1e40af14}.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--primary-blue);border-radius:1px;transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.logo{text-decoration:none}.logo-img{height:64px;width:auto;display:block}.nav-auth-links{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--border-color)}.nav-profile-wrap{position:relative}.nav-profile-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:var(--primary-blue-light);color:var(--primary-blue);cursor:pointer;transition:background .2s,transform .2s}.nav-profile-trigger:hover{background:#1e40af33}.nav-profile-trigger[aria-expanded=true]{background:var(--primary-blue);color:#fff}.nav-profile-icon{font-size:1.25rem;line-height:1}.nav-profile-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:180px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);padding:.5rem 0;z-index:1100}.nav-profile-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;font-size:.9375rem;color:var(--text-dark);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;transition:background .2s}.nav-profile-item:hover{background:var(--bg-light);color:var(--primary-blue)}.nav-profile-logout{color:var(--text-gray);border-top:1px solid var(--border-color);margin-top:.25rem;padding-top:.6rem}.nav-link-btn{color:var(--text-gray)!important;font-size:.9375rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.nav-link-btn:hover{color:var(--primary-blue)!important;background:#1e40af0d}.nav-admin-link{font-size:.75rem;color:var(--border-color)!important;text-decoration:none;margin-left:.5rem;padding:.25rem 0;transition:color .2s}.nav-admin-link:hover{color:var(--text-gray)!important}.main-content{min-height:calc(100vh - 80px)}.nav-auth-links .btn-primary{color:#fff!important;font-weight:700;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.15);letter-spacing:.02em}.nav-auth-links .btn-primary:hover{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.2)}.btn-primary{background:var(--primary-blue);color:#fff!important;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary:hover{background:var(--primary-blue-dark);color:#fff!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}@media(max-width:768px){.nav-toggle{display:flex;order:2}.nav-links:not(.nav-links-open){display:none!important}.nav-links{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;order:3;background:var(--bg-white);border-top:1px solid var(--border-color);margin-top:.25rem;margin-left:-2rem;margin-right:-2rem;padding:.5rem 2rem;box-shadow:0 4px 12px #00000014}.nav-links.nav-links-open{display:flex!important}.nav-links-open a,.nav-links-open .nav-auth-links a{display:block}.nav-links-open .nav-auth-links{display:flex}.nav-links>a{padding:.75rem 0;border-bottom:1px solid var(--border-color);font-size:1rem}.nav-links>a:last-of-type{border-bottom:none}.nav-auth-links{margin-left:0;padding-left:0;border-left:none;border-top:1px solid var(--border-color);padding-top:1rem;padding-bottom:.5rem;width:100%;justify-content:flex-start;gap:.75rem;flex-wrap:wrap}.nav-auth-links .btn-primary{display:inline-block;text-align:center}.nav-admin-link{margin-left:0}}:root{--primary-blue: #1E40AF;--primary-blue-dark: #1E3A8A;--primary-blue-light: #3B82F6;--text-dark: #1F2937;--text-gray: #6B7280;--bg-light: #F9FAFB;--bg-white: #FFFFFF;--border-color: #E5E7EB;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}.app{font-family:Open Sans,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-dark);line-height:1.6;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.navbar{background:var(--bg-white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000;padding:1rem 0}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-blue);letter-spacing:-.5px}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{color:var(--text-dark);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--primary-blue)}.btn-primary{background:var(--primary-blue);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary:hover{background:var(--primary-blue-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-secondary:hover{background:var(--primary-blue);color:#fff;transform:translateY(-1px)}.btn-large{padding:1rem 2rem;font-size:1.1rem}.hero{background:linear-gradient(135deg,#f0f4ff,#e0e7ff);padding:6rem 0;min-height:600px;display:flex;align-items:center}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{animation:fadeInUp .8s ease-out}.hero-title{font-size:3.5rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;color:var(--text-gray);margin-bottom:2.5rem;line-height:1.8}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-card{background:#fff;padding:3rem;border-radius:16px;box-shadow:var(--shadow-xl);text-align:center;max-width:400px;animation:fadeIn 1s ease-out .3s both}.hero-card .card-icon{font-size:4rem;margin-bottom:1rem}.hero-card h3{color:var(--primary-blue);margin-bottom:1rem;font-size:1.5rem}.hero-card p{color:var(--text-gray)}.features{padding:6rem 0;background:var(--bg-white)}.section-title{font-size:2.5rem;font-weight:700;color:var(--text-dark);text-align:center;margin-bottom:1rem}.section-subtitle{font-size:1.2rem;color:var(--text-gray);text-align:center;margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:#fff;padding:2.5rem;border-radius:12px;border:1px solid var(--border-color);transition:all .3s;text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary-blue-light)}.feature-icon{font-size:3rem;margin-bottom:1.5rem}.feature-card h3{font-size:1.5rem;color:var(--text-dark);margin-bottom:1rem;font-weight:600}.feature-card p{color:var(--text-gray);line-height:1.7}.benefits{padding:6rem 0;background:var(--bg-light)}.benefits-content{max-width:900px;margin:0 auto}.benefits-text h2{font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-bottom:2rem;text-align:center}.benefits-list{list-style:none;display:flex;flex-direction:column;gap:1.5rem}.benefits-list li{padding:1.5rem;background:#fff;border-radius:8px;border-left:4px solid var(--primary-blue);box-shadow:var(--shadow-sm)}.benefits-list li strong{color:var(--primary-blue);display:block;margin-bottom:.5rem;font-size:1.1rem}.cta{padding:6rem 0;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-dark) 100%);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta .btn-primary,.cta .cta-get-started{background:#fff;color:var(--primary-blue)!important;font-weight:700;font-size:1.125rem;letter-spacing:.02em;text-decoration:none;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #00000026}.cta .btn-primary:hover,.cta .cta-get-started:hover{background:var(--bg-light);color:var(--primary-blue-dark)!important;transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#fff}.footer{background:var(--text-dark);color:#fff;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h3{color:var(--primary-blue-light);margin-bottom:1rem;font-size:1.5rem}.footer-section h4{margin-bottom:1rem;font-size:1.1rem}.footer-section p{color:#ffffffb3;margin-bottom:.5rem}.footer-section a{display:block;color:#ffffffb3;text-decoration:none;margin-bottom:.5rem;transition:color .2s}.footer-section a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#ffffffb3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-container{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{justify-content:center}.section-title{font-size:2rem}.features-grid{grid-template-columns:1fr}.cta-content h2{font-size:2rem}.footer-content{grid-template-columns:1fr}}@media(max-width:480px){.hero{padding:4rem 0}.hero-title{font-size:2rem}.btn-large{padding:.875rem 1.5rem;font-size:1rem}}.blog-page{background:var(--bg-light);min-height:100vh;padding:2rem 0}.blog-container{max-width:900px;margin:0 auto;padding:0 2rem}.blog-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}.blog-title{font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.blog-subtitle{font-size:1.1rem;color:var(--text-gray)}.btn-create-post{padding:.875rem 1.75rem;font-size:1rem;white-space:nowrap}.blog-form-messages{position:relative;z-index:2;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.blog-form-messages .error-banner,.blog-form-messages .success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem}.blog-form-messages .error-banner{background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.blog-form-messages .success-banner{background:#d1fae5;color:#065f46;border:1px solid #6EE7B7}.blog-form-messages .error-icon,.blog-form-messages .success-icon{font-size:1.25rem;flex-shrink:0}.blog-form-messages .banner-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.blog-form-messages .error-banner .banner-close{color:#991b1b}.blog-form-messages .error-banner .banner-close:hover{background:#991b1b1a;border-radius:4px}.blog-form-messages .success-banner .banner-close{color:#065f46}.blog-form-messages .success-banner .banner-close:hover{background:#065f461a;border-radius:4px}.posts-section{margin-top:2rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:var(--shadow-sm)}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;color:var(--text-dark);margin-bottom:.5rem}.empty-state p{color:var(--text-gray);margin-bottom:2rem}.posts-list{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:768px){.blog-header{flex-direction:column}.blog-title{font-size:2rem}.btn-create-post{width:100%}}.post-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s}.post-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-blue-light)}.post-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.post-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-blue-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.author-info{display:flex;flex-direction:column}.author-name{font-weight:600;color:var(--text-dark);font-size:1rem}.author-role{font-weight:500;color:var(--text-gray)}.post-meta{font-size:.875rem;color:var(--text-gray);margin-top:.25rem}.author-unit{margin-right:.5rem}.author-unit:after{content:" · ";margin-left:.25rem}.post-date{font-size:.875rem;color:var(--text-gray)}.post-badge{background:var(--primary-blue-light);color:var(--primary-blue-dark);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.post-content{margin-bottom:1.5rem}.post-title{font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem;line-height:1.4}.post-text{font-size:1rem;color:var(--text-gray);line-height:1.7;white-space:pre-wrap}.post-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.reactions-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reaction-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-dark)}.reaction-btn:hover:not(:disabled){background:var(--primary-blue-light);border-color:var(--primary-blue);color:var(--primary-blue-dark);transform:translateY(-1px)}.reaction-btn:disabled{opacity:.6;cursor:not-allowed}.reaction-btn span{font-weight:600}.reaction-count{font-size:.875rem;color:var(--text-gray);margin-left:.5rem}.comment-toggle-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-dark)}.comment-toggle-btn:hover{background:var(--bg-light);border-color:var(--primary-blue);color:var(--primary-blue)}@media(max-width:768px){.post-card{padding:1.5rem}.post-actions{flex-direction:column;align-items:stretch}.reactions-section{justify-content:center}.comment-toggle-btn{width:100%;text-align:center}}.comment-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.comments-list{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.no-comments{text-align:center;padding:2rem;color:var(--text-gray);font-style:italic}.comment-item{display:flex;gap:1rem;padding:1rem;background:var(--bg-light);border-radius:8px}.comment-author-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-blue-light);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.comment-content{flex:1}.comment-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.5rem}.comment-author{font-weight:600;color:var(--text-dark);font-size:.875rem}.comment-author-role{font-weight:500;color:var(--text-gray)}.comment-meta{font-size:.75rem;color:var(--text-gray)}.comment-meta-sep{margin:0 .25rem}.comment-date{font-size:.75rem;color:var(--text-gray)}.comment-replies .comment-header{margin-bottom:.35rem}.comment-text{font-size:.9375rem;color:var(--text-dark);line-height:1.6;white-space:pre-wrap}.comment-form{display:flex;gap:.75rem;align-items:flex-start}.comment-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:20px;font-size:.9375rem;font-family:inherit;outline:none;transition:all .2s}.comment-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e40af1a}.comment-input::placeholder{color:var(--text-gray)}.comment-submit-btn{padding:.75rem 1.5rem;background:var(--primary-blue);color:#fff;border:none;border-radius:20px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;white-space:nowrap}.comment-submit-btn:hover:not(:disabled){background:var(--primary-blue-dark);transform:translateY(-1px)}.comment-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.comment-form{flex-direction:column}.comment-submit-btn{width:100%}}.busy-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.busy-btn:disabled{cursor:not-allowed;opacity:.85}.busy-btn-spinner{width:1.125rem;height:1.125rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:busy-btn-spin .6s linear infinite;flex-shrink:0}.busy-btn-text{white-space:nowrap}@keyframes busy-btn-spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0}.modal-close-btn{background:none;border:none;font-size:2rem;color:var(--text-gray);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close-btn:hover{background:var(--bg-light);color:var(--text-dark)}.post-form{padding:2rem}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;outline:none;transition:all .2s;resize:vertical}.form-input:disabled,.form-textarea:disabled{background:var(--bg-light);cursor:not-allowed}.form-textarea{min-height:150px;font-family:inherit;line-height:1.6}.char-count{display:block;text-align:right;font-size:.75rem;color:var(--text-gray);margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.modal-content{max-width:100%;margin:1rem}.modal-header,.post-form{padding:1.5rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e40af,#1e3a8a);padding:2rem}.login-container{background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);width:100%;max-width:450px;padding:3rem;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-header p{color:var(--text-gray);font-size:.9375rem}.form-help{font-size:.8125rem;color:var(--text-gray);margin-top:.25rem}.form-message{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem;margin-bottom:.25rem}.btn-login{width:100%;padding:1rem;font-size:1rem;margin-top:.5rem}.login-footer{margin-top:2rem;text-align:center}.login-footer p{color:var(--text-gray);font-size:.875rem}.login-credentials-hint{margin-top:1.5rem;padding:1rem;background:var(--bg-light);border-radius:8px;border:1px dashed var(--border-color)}.login-credentials-hint p{margin:.25rem 0;font-size:.8125rem;color:var(--text-gray)}.login-credentials-hint p:first-child{margin-bottom:.5rem}.login-credentials-hint strong{color:var(--text-dark);font-weight:600}@media(max-width:768px){.login-container{padding:2rem 1.5rem}}.admin-dashboard{min-height:100vh;background:var(--bg-light);padding:2rem}.dashboard-header{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.dashboard-subtitle{color:var(--text-gray);font-size:.9375rem}.header-actions{display:flex;align-items:center;gap:1rem}.admin-email{color:var(--text-gray);font-size:.875rem}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:var(--shadow-sm)}.tab-btn{flex:1;padding:.875rem 1.5rem;border:none;background:transparent;border-radius:8px;font-weight:600;color:var(--text-gray);cursor:pointer;transition:all .2s;font-size:.9375rem}.tab-btn:hover{background:var(--bg-light);color:var(--text-dark)}.tab-btn.active{background:var(--primary-blue);color:#fff}.dashboard-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overview-tab{display:flex;flex-direction:column;gap:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.chart-card{background:var(--bg-light);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.chart-card h3{font-size:1.25rem;font-weight:600;color:var(--text-dark);margin-bottom:1.5rem}.subscription-list{display:flex;flex-direction:column;gap:1rem}.subscription-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:8px;border:1px solid var(--border-color)}.subscription-info{display:flex;flex-direction:column;gap:.25rem}.plan-name{font-weight:600;color:var(--text-dark);font-size:1rem}.plan-count{font-size:.875rem;color:var(--text-gray)}.subscription-revenue{font-size:1.25rem;font-weight:700;color:var(--primary-blue)}.detailed-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.stat-box{background:var(--bg-light);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.stat-box h4{font-size:1.125rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.stat-row:last-child{border-bottom:none}.stat-row span{color:var(--text-gray);font-size:.9375rem}.stat-row strong{color:var(--text-dark);font-size:1rem;font-weight:600}@media(max-width:768px){.admin-dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-tabs{flex-direction:column}.stats-grid,.charts-section{grid-template-columns:1fr}}.stats-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;align-items:flex-start;gap:1rem;transition:all .3s}.stats-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-icon{font-size:2.5rem;line-height:1}.stats-content{flex:1}.stats-title{font-size:.875rem;font-weight:500;color:var(--text-gray);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stats-value{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem;line-height:1.2}.stats-change{font-size:.875rem;color:var(--text-gray)}.stats-card-blue .stats-value{color:var(--primary-blue)}.stats-card-green .stats-value{color:#10b981}.stats-card-orange .stats-value{color:#f59e0b}.stats-card-purple .stats-value{color:#8b5cf6}.pricing-management{display:flex;flex-direction:column;gap:2rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.section-header h2{font-size:1.75rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.section-header p{color:var(--text-gray);font-size:.9375rem}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.pricing-plan-card{background:var(--bg-light);border:2px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s}.pricing-plan-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md)}.pricing-plan-card.inactive{opacity:.6;border-color:var(--border-color)}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.plan-header h3{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.plan-description{color:var(--text-gray);font-size:.875rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-blue)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.plan-pricing{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.price-main{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:.5rem}.price-line{display:flex;align-items:baseline;gap:.25rem}.currency{font-size:1.25rem;font-weight:600;color:var(--text-gray)}.amount{font-size:2.5rem;font-weight:700;color:var(--text-dark)}.period{font-size:1rem;color:var(--text-gray)}.price-main .vat-note{font-size:.75rem;color:var(--text-gray)}.price-annual{font-size:.875rem;color:var(--text-gray);display:flex;align-items:center;gap:.5rem}.discount-badge{background:#10b981;color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.plan-limits{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.limit-item{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem}.limit-item span{color:var(--text-gray)}.limit-item strong{color:var(--text-dark);font-weight:600}.limit-item.overage{background:#1e40af0d;padding:.5rem;border-radius:6px;margin-top:.25rem}.plan-messaging,.plan-onboarding{margin-bottom:1.5rem;padding:1rem;background:#1e40af0d;border-radius:8px;border-left:3px solid var(--primary-blue)}.plan-messaging h4,.plan-onboarding h4{font-size:.9375rem;font-weight:600;color:var(--text-dark);margin-bottom:.75rem}.messaging-info{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:var(--text-gray)}.onboarding-info{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.onboarding-info span{color:var(--text-gray)}.onboarding-info strong{color:var(--text-dark);font-weight:600;font-size:1rem}.plan-features{margin-bottom:1.5rem}.plan-features h4{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.plan-features ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.plan-features li{font-size:.875rem;padding:.5rem;border-radius:6px}.plan-features li.enabled{color:#10b981;background:#10b9811a}.plan-features li.disabled{color:var(--text-gray);background:var(--bg-light)}.plan-actions{display:flex;gap:.75rem}@media(max-width:768px){.plans-grid{grid-template-columns:1fr}}.pricing-modal{max-width:900px;max-height:90vh;overflow-y:auto}.pricing-form{padding:2rem;display:flex;flex-direction:column;gap:2rem}.form-section{padding:1.5rem;background:var(--bg-light);border-radius:8px;border:1px solid var(--border-color)}.form-section h3{font-size:1.125rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group label{font-weight:600;color:var(--text-dark);font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;font-family:inherit;outline:none;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e40af1a}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.feature-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem}.feature-checkbox:hover{background:var(--bg-light)}.feature-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-blue)}.feature-checkbox span{color:var(--text-dark);-webkit-user-select:none;user-select:none}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.pricing-modal{max-width:100%;margin:1rem}.form-row,.features-grid{grid-template-columns:1fr}}.platform-settings{display:flex;flex-direction:column;gap:2rem}.settings-form{display:flex;flex-direction:column;gap:2.5rem}.settings-section{padding:1.5rem;background:var(--bg-light);border-radius:12px;border:1px solid var(--border-color)}.settings-section h3{font-size:1.25rem;font-weight:600;color:var(--text-dark);margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.9375rem}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;outline:none;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e40af1a}.form-input:disabled,.form-textarea:disabled{background:#e5e7eb;cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-help{margin-top:.5rem;font-size:.875rem;color:var(--text-gray)}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-blue)}.settings-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.save-message{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500}.save-message.success{background:#d1fae5;color:#065f46;border:1px solid #10B981}.growth-chart{width:100%;height:300px;display:flex;align-items:flex-end}.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;width:100%;height:100%;gap:.5rem}.chart-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;gap:.5rem}.chart-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:100%;background:linear-gradient(180deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border-radius:8px 8px 0 0;position:relative;transition:all .3s;min-width:40px;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}.chart-bar:hover{opacity:.8;transform:scaleY(1.05)}.bar-value{color:#fff;font-weight:600;font-size:.875rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.chart-label{font-size:.875rem;color:var(--text-gray);font-weight:500;text-align:center}.estate-signup{min-height:100vh;background:linear-gradient(135deg,#f0f4ff,#e0e7ff);padding:3rem 2rem}.signup-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);padding:3rem}.signup-header{text-align:center;margin-bottom:3rem}.signup-header h1{font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.signup-header p{font-size:1.125rem;color:var(--text-gray)}.progress-steps{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:2px;background:var(--border-color);z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1}.step-number{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-gray);transition:all .3s}.step.active .step-number{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.step.current .step-number{transform:scale(1.1);box-shadow:0 0 0 4px #1e40af33}.step-label{font-size:.875rem;font-weight:500;color:var(--text-gray);text-align:center}.step.active .step-label{color:var(--primary-blue);font-weight:600}.step-content{min-height:400px;margin-bottom:2rem}.signup-step h2{font-size:1.75rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.step-description{color:var(--text-gray);margin-bottom:2rem;font-size:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-group input,.form-group select{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;outline:none;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e40af1a}.form-group input.error,.form-group select.error{border-color:#dc2626}.error-text{color:#dc2626;font-size:.875rem}.plans-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1rem;align-items:stretch}@media(max-width:900px){.plans-selection{grid-template-columns:1fr}}.plan-card{position:relative;display:flex;flex-direction:column;width:100%;text-align:center;font:inherit;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s;background:#fff;appearance:none;-webkit-appearance:none}.plan-card:hover{border-color:var(--primary-blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}.plan-card.selected{border-color:var(--primary-blue);background:#1e40af0d;box-shadow:0 0 0 4px #1e40af1a}.plan-card.popular{border-color:#10b981}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#10b981;color:#fff;padding:.25rem 1rem;border-radius:12px;font-size:.75rem;font-weight:600}.plan-tier-badge{display:inline-block;align-self:center;text-transform:capitalize;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}.plan-tier-badge-bronze{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.plan-tier-badge-silver{background:linear-gradient(135deg,silver,#9ca3af);color:#1f2937}.plan-tier-badge-gold{background:linear-gradient(135deg,#d4af37,#b8860b);color:#1f2937}.plan-card h3{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin-bottom:.75rem;line-height:1.3}.plan-price-badge{display:inline-flex;align-items:baseline;justify-content:center;gap:.2rem;padding:.4rem .75rem;border-radius:8px;margin-bottom:.25rem}.plan-price-badge .price-value{font-size:1rem;font-weight:700}.plan-price-badge .price-period{font-size:.75rem;font-weight:500;opacity:.95}.plan-price-badge-bronze{background:#cd7f3233;color:#8b4513}.plan-price-badge-bronze .price-period{color:#6d3a0f}.plan-price-badge-silver{background:#c0c0c059;color:#374151}.plan-price-badge-silver .price-period{color:#4b5563}.plan-price-badge-gold{background:#d4af3740;color:#92400e}.plan-price-badge-gold .price-period{color:#78350f}.plan-vat-note{display:block;font-size:.7rem;color:var(--text-gray);margin-bottom:.75rem}.plan-description{text-align:center;color:var(--text-gray);margin-bottom:1rem;font-size:.8125rem;line-height:1.4}.plan-features{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.plan-features li{font-size:.875rem;color:var(--text-dark);padding:.5rem;background:var(--bg-light);border-radius:6px}.plan-trial{text-align:center;font-size:.875rem;color:#10b981;font-weight:600;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.radio-group{display:flex;flex-direction:column;gap:1rem}.radio-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.radio-option:hover{border-color:var(--primary-blue);background:var(--bg-light)}.radio-option input[type=radio]{margin-top:.25rem;width:20px;height:20px;cursor:pointer;accent-color:var(--primary-blue)}.radio-option input[type=radio]:checked+div{color:var(--primary-blue)}.radio-option strong{display:block;margin-bottom:.25rem;color:var(--text-dark)}.radio-option p{font-size:.875rem;color:var(--text-gray);margin:0}.signup-actions{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid var(--border-color)}.spacer{flex:1}.btn-large{padding:1rem 2rem;font-size:1.125rem}.loading-plans{text-align:center;padding:3rem;color:var(--text-gray);font-size:1.125rem}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fee2e2;border:1px solid #FCA5A5;border-radius:8px;color:#991b1b;margin-bottom:1.5rem;font-size:.9375rem}.summary-step{text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem;font-weight:700}.success-message{font-size:1.125rem;color:var(--text-gray);margin-bottom:2.5rem}.summary-details{text-align:left;background:var(--bg-light);border-radius:12px;padding:2rem;margin-bottom:2rem}.summary-section{margin-bottom:2rem}.summary-section:last-child{margin-bottom:0}.summary-section h3{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:600;color:var(--text-gray)}.summary-value{color:var(--text-dark);text-align:right}.next-steps-list{list-style:none;padding:0;margin:0}.next-steps-list li{padding:.75rem 0 .75rem 1.5rem;position:relative;color:var(--text-dark)}.next-steps-list li:before{content:"→";position:absolute;left:0;color:var(--primary-blue);font-weight:700}.summary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.estate-signup{padding:1rem}.signup-container{padding:2rem 1.5rem}.form-grid,.plans-selection{grid-template-columns:1fr}.progress-steps{gap:.5rem}.step-label{font-size:.75rem}}.searchable-select{position:relative;width:100%}.searchable-select-input{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;background:#fff;box-sizing:border-box}.searchable-select-input:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 2px #2563eb33}.searchable-select-input.error{border-color:#dc2626}.searchable-select-arrow{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#666;font-size:.65rem}.searchable-select.open .searchable-select-arrow{transform:translateY(-50%) rotate(180deg)}.searchable-select-list{position:absolute;left:0;right:0;top:100%;margin:0;padding:0;list-style:none;max-height:220px;overflow-y:auto;border:1px solid #ccc;border-radius:6px;background:#fff;box-shadow:0 4px 12px #00000026;z-index:100}.searchable-select-item{padding:.5rem .75rem;cursor:pointer}.searchable-select-item:hover,.searchable-select-item.highlight{background:#f1f5f9}.searchable-select-item.selected{background:#e0e7ff;font-weight:500}.searchable-select-item.empty{cursor:default;color:#64748b}.estate-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f4ff,#e0e7ff);padding:2rem}.login-container{width:100%;max-width:450px;background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);padding:3rem}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{margin-bottom:1rem}.logo-text{font-size:1.75rem;font-weight:700;color:var(--primary-blue)}.login-header h1{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.login-header p{font-size:1rem;color:var(--text-gray)}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-dark);font-size:.9375rem}.form-group input{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;outline:none;transition:all .2s}.form-group input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e40af1a}.form-group input:disabled{background:var(--bg-light);cursor:not-allowed}.form-help{font-size:.875rem;color:var(--text-gray);margin-top:.25rem}.form-message-brought-forward{position:relative;z-index:2;margin-bottom:.25rem}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fee2e2;border:1px solid #FCA5A5;border-radius:8px;color:#991b1b;font-size:.9375rem}.success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#d1fae5;border:1px solid #6EE7B7;border-radius:8px;color:#065f46;font-size:.9375rem}.success-banner .banner-close:hover{background:#065f461a}.error-icon{font-size:1.25rem}.btn-login{width:100%;padding:1rem;font-size:1.125rem;margin-top:.5rem}.login-footer{margin-top:2rem;text-align:center;padding-top:2rem;border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-gray);font-size:.9375rem}.link-primary{color:var(--primary-blue);text-decoration:none;font-weight:600}.link-primary:hover{text-decoration:underline}@media(max-width:768px){.estate-login-page{padding:1rem}.login-container{padding:2rem 1.5rem}}.user-landing{min-height:100vh;background:var(--bg-light)}.landing-header{background:#fff;border-bottom:1px solid var(--border-color);padding:2rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.landing-header h1{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.estate-name{color:var(--text-gray);font-size:1rem}.subscription-summary{margin-top:.5rem;font-size:.9375rem;color:var(--text-gray)}.subscription-summary-text{margin-right:.5rem}.subscription-summary-expired{color:#b91c1c}.subscription-summary-expired a{color:var(--primary-blue);font-weight:600}.subscription-summary-link{color:var(--primary-blue);font-weight:500;margin-left:.25rem}.subscription-summary-link:hover{text-decoration:underline}.landing-content{max-width:1200px;margin:0 auto;padding:2rem}.welcome-section{margin-bottom:3rem}.welcome-card{background:linear-gradient(135deg,var(--primary-blue) 0%,#1e40af 100%);color:#fff;padding:3rem;border-radius:16px;box-shadow:var(--shadow-lg)}.welcome-card h2{font-size:2rem;font-weight:700;margin-bottom:1rem}.welcome-card p{font-size:1.125rem;opacity:.95}.become-resident-success{margin-top:.5rem}.become-resident-success .success-message{margin:0 0 .75rem}.become-resident-success .success-message:last-child{margin-bottom:0}.become-resident-success .success-heading{font-weight:700;font-size:1.2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.feature-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s;display:flex;flex-direction:column;align-items:center;text-align:center}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-blue)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.feature-card p{color:var(--text-gray);margin-bottom:1.5rem;flex:1}.btn-sm{padding:.625rem 1.25rem;font-size:.9375rem}.quick-actions{background:#fff;border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.quick-actions h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-btn{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:var(--bg-light);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9375rem;font-weight:600;color:var(--text-dark)}.action-btn:hover{border-color:var(--primary-blue);background:#1e40af0d;transform:translateY(-2px)}.action-icon{font-size:2rem}@media(max-width:768px){.landing-content{padding:1rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.welcome-card{padding:2rem 1.5rem}.welcome-card h2{font-size:1.5rem}.features-grid{grid-template-columns:1fr}.actions-grid{grid-template-columns:repeat(2,1fr)}}.units-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.units-modal-content{background:#fff;border-radius:12px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.units-modal-content-wide{max-width:1400px}.units-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.units-modal-header h2{margin:0;color:#333;font-size:1.5rem}.units-modal-header .close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.units-modal-header .close-btn:hover{background-color:#f5f5f5;color:#333}.units-modal-body{padding:24px;overflow-y:auto;flex:1}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem 0;padding:.5rem 0}.pagination-info{font-size:.9rem;color:var(--text-muted, #666)}.pagination-controls{display:flex;align-items:center;gap:.75rem}.pagination-page{font-size:.9rem;color:var(--text-muted, #666)}.pagination-btn{padding:.4rem .75rem;font-size:.9rem;border:1px solid var(--border-color, #ddd);background:var(--bg-card, #fff);color:var(--text-primary, #333);border-radius:4px;cursor:pointer}.pagination-btn:hover:not(:disabled){background:var(--bg-hover, #f5f5f5);border-color:var(--primary, #1e40af)}.pagination-btn:disabled{opacity:.6;cursor:not-allowed}.unit-management{padding:20px}.search-input{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem;min-width:200px}.filter-select{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem}.form-messages-top{position:relative;z-index:2;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.error-banner,.success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem}.error-banner{background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.success-banner{background:#d1fae5;color:#065f46;border:1px solid #6EE7B7}.error-icon,.success-icon{font-size:1.25rem;flex-shrink:0}.error-banner .banner-close,.success-banner .banner-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-banner .banner-close{color:#991b1b}.success-banner .banner-close{color:#065f46}.success-banner .banner-close:hover{background:#065f461a;border-radius:4px}.unit-form .form-group{margin-bottom:16px}.unit-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.unit-form input,.unit-form textarea,.unit-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.unit-form textarea{resize:vertical;min-height:80px}.unit-form .form-readonly{padding:10px 0;font-weight:500;color:#333}.unit-form .form-hint,.unit-form .form-note{display:block;margin-top:6px;font-size:12px;color:#666}.units-table{overflow-x:auto}.units-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.units-table thead{background-color:#f5f5f5}.units-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.units-table td{padding:12px 16px;border-bottom:1px solid #eee}.units-table tbody tr:hover{background-color:#f9f9f9}.primary-resident-section{margin-top:24px;padding-top:24px;border-top:2px solid #e0e0e0}.primary-resident-section h4{margin:0 0 8px;color:#333;font-size:1.1rem}.section-note{margin:0 0 16px;color:#666;font-size:.9rem}.resident-management{padding:20px}.resident-management .search-input{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem;min-width:200px}.resident-management .filter-select{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem}.resident-form input.read-only{background:var(--bg-light, #f5f5f5);cursor:not-allowed}.btn-activate{background-color:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;margin-right:5px}.btn-resend{background-color:#17a2b8;color:#fff}.btn-resend:hover{background-color:#138496}.modal-form-error{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;border-radius:8px;font-size:.9375rem;background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.modal-form-error .error-icon{font-size:1.25rem;flex-shrink:0}.modal-form-error .banner-close{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-form-error .banner-close:hover{background:#991b1b1a;border-radius:4px}.resident-form .form-group{margin-bottom:16px}.resident-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.resident-form input,.resident-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.resident-form small{display:block;margin-top:4px;color:#666;font-size:12px}.residents-table{overflow-x:auto}.residents-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.residents-table thead{background-color:#f5f5f5}.residents-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.residents-table td{padding:12px 16px;border-bottom:1px solid #eee}.residents-table tbody tr:hover{background-color:#f9f9f9}.badge-muted{background-color:#ececec;color:#757575}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.access-credential-management{padding:20px}.credential-form .form-group{margin-bottom:16px}.credential-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.credential-form input,.credential-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.credential-form small{display:block;margin-top:4px;color:#666;font-size:12px}.generated-credential{padding:20px 0}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:16px;border-radius:4px;margin-bottom:24px}.success-message h4{margin:0 0 8px;color:#2e7d32}.success-message p{margin:0;font-size:14px}.credential-display{background-color:#f9f9f9;border-radius:8px;padding:24px;margin-bottom:24px}.credential-info{margin-bottom:24px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:500;color:#666}.info-row .value{color:#333;font-weight:500}.qr-code-display{text-align:center;padding:20px;background:#fff;border-radius:8px;border:2px dashed #ddd}.qr-code-image{max-width:300px;width:100%;height:auto;margin-bottom:16px}.qr-instruction{color:#666;font-size:14px;margin:0}.password-display{text-align:center;padding:20px}.password-box{background:#fff;border:2px solid #4CAF50;border-radius:8px;padding:24px;margin-bottom:16px}.password-value{font-size:32px;font-weight:700;font-family:Courier New,monospace;color:#2e7d32;letter-spacing:4px}.password-instruction{color:#666;font-size:14px;margin:0}.credentials-table{overflow-x:auto}.credentials-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.credentials-table thead{background-color:#f5f5f5}.credentials-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.credentials-table td{padding:12px 16px;border-bottom:1px solid #eee}.credentials-table tbody tr:hover{background-color:#f9f9f9}.btn-revoke{background-color:#ff9800;color:#fff}.btn-revoke:hover{background-color:#f57c00}@media(max-width:768px){.credentials-table{font-size:12px}.action-buttons{flex-direction:column}.password-value{font-size:24px;letter-spacing:2px}}.visitor-management{padding:20px}.list-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.visitor-management .search-input{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem;min-width:200px}.visitor-management .filter-select{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9375rem}.credentials-section{margin-bottom:30px;padding:20px;background-color:#f9f9f9;border-radius:8px}.credentials-section h3{margin-top:0;margin-bottom:20px;color:#333}.modal-content{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.visitor-form .form-group{margin-bottom:16px}.visitor-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.visitor-form input,.visitor-form textarea,.visitor-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.visitor-form textarea{resize:vertical;min-height:80px}.visitor-form small{display:block;margin-top:4px;color:#666;font-size:12px}.visitors-table{overflow-x:auto}.visitors-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.visitors-table thead{background-color:#f5f5f5}.visitors-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.visitors-table td{padding:12px 16px;border-bottom:1px solid #eee}.visitors-table tbody tr:hover{background-color:#f9f9f9}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:6px 12px;font-size:13px;border:none;border-radius:4px;cursor:pointer}.btn-status{background-color:#4caf50;color:#fff}.btn-status:hover{background-color:#45a049}@media(max-width:768px){.form-row{grid-template-columns:1fr}.visitors-table{font-size:12px}.action-buttons{flex-direction:column}}.gate-management{padding:20px}.section-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:20px}.header-actions{display:flex;gap:12px;align-items:center}.error-banner{background-color:#fee;color:#c33;padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#c33;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px}.success-banner{background-color:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:4px;margin-bottom:20px;border-left:4px solid #4caf50;font-size:14px}.tabs{display:flex;margin-bottom:20px;border-bottom:1px solid #eee}.tab{padding:10px 20px;cursor:pointer;border:none;background:none;font-size:16px;color:#555;border-bottom:2px solid transparent;transition:all .2s ease-in-out}.tab:hover{color:var(--primary-blue, #1E40AF)}.tab.active{color:var(--primary-blue, #1E40AF);border-bottom-color:var(--primary-blue, #1E40AF);font-weight:600}.dashboard{padding:20px 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.logs-section{padding:20px 0}.filters{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.filter-group select,.filter-group input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-actions{display:flex;align-items:flex-end}.logs-table{overflow-x:auto}.logs-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.logs-table thead{background-color:#f5f5f5}.logs-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.logs-table td{padding:12px 16px;border-bottom:1px solid #eee}.logs-table tbody tr:hover{background-color:#f9f9f9}.gate-entry-form .form-group{margin-bottom:16px}.gate-entry-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.gate-entry-form input,.gate-entry-form select,.gate-entry-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.gate-entry-form textarea{resize:vertical;min-height:80px}.gate-entry-form input[type=checkbox]{width:auto;margin-right:8px}@media(max-width:768px){.stats-grid,.filters{grid-template-columns:1fr}.logs-table{font-size:12px}}.role-management{padding:20px}.large-modal{max-width:900px}.role-form .form-group{margin-bottom:16px}.role-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.role-form input[type=text],.role-form input[type=datetime-local],.role-form textarea,.role-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.role-form textarea{resize:vertical}.role-form input[type=checkbox]{width:auto;margin-right:8px}.role-form small{display:block;margin-top:4px;color:#666;font-size:12px}.roles-table{overflow-x:auto}.roles-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.roles-table thead{background-color:#f5f5f5}.roles-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.roles-table td{padding:12px 16px;border-bottom:1px solid #eee}.roles-table tbody tr:hover{background-color:#f9f9f9}.btn-permissions{background-color:#9c27b0;color:#fff}.btn-permissions:hover{background-color:#7b1fa2}.btn-assign{background-color:#ff9800;color:#fff}.btn-assign:hover{background-color:#f57c00}.permissions-list{max-height:60vh;overflow-y:auto}.permission-select-all{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #eee}.permission-select-all .select-all-row{background-color:#f5f5f5}.permission-category{margin-bottom:24px}.permission-category h4{margin:0 0 12px;color:#333;font-size:16px;border-bottom:2px solid #eee;padding-bottom:8px}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.permission-item{display:flex;align-items:flex-start;padding:12px;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background-color .2s}.permission-item:hover{background-color:#f9f9f9}.permission-item input[type=checkbox]{margin-right:12px;margin-top:2px}.permission-item strong{display:block;color:#333;margin-bottom:4px}.permission-item small{display:block;color:#666;font-size:12px}@media(max-width:768px){.permissions-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}.vehicle-management{padding:20px}.section-header h2{margin:0;color:#333}.error-banner,.success-banner{padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-banner{background-color:#fee;color:#c33}.success-banner{background-color:#d4edda;color:#155724}.error-banner button,.success-banner button{background:none;border:none;font-size:20px;cursor:pointer;padding:0;margin-left:10px}.error-banner button{color:#c33}.success-banner button{color:#155724}.filters{margin-bottom:20px;padding:12px;background:#f9f9f9;border-radius:4px}.filters label{display:flex;align-items:center;gap:10px;font-weight:500}.filters select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.vehicle-form .form-group{margin-bottom:16px}.vehicle-form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.vehicle-form input,.vehicle-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.vehicle-form small{display:block;margin-top:4px;color:#666;font-size:12px}.loading,.empty-state{text-align:center;padding:40px;color:#666}.vehicles-table{overflow-x:auto}.vehicles-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.vehicles-table thead{background-color:#f5f5f5}.vehicles-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.vehicles-table td{padding:12px 16px;border-bottom:1px solid #eee}.vehicles-table tbody tr:hover{background-color:#f9f9f9}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.btn-sm{padding:6px 12px;font-size:13px;border:none;border-radius:4px;cursor:pointer;margin-right:8px}.btn-edit{background-color:#2196f3;color:#fff}.btn-edit:hover{background-color:#1976d2}.btn-suspend{background-color:#ff9800;color:#fff}.btn-suspend:hover{background-color:#f57c00}.btn-activate{background-color:#28a745;color:#fff}.btn-activate:hover{background-color:#218838}.btn-expire{background-color:#dc3545;color:#fff}.btn-expire:hover{background-color:#c82333}.btn-delete{background-color:#f44336;color:#fff}.btn-delete:hover{background-color:#d32f2f}@media(max-width:768px){.form-row{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}.levy-form.form,.fine-form.form{max-width:720px;margin-bottom:20px}.levy-form .form-row,.fine-form .form-row{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-start;margin-bottom:16px}.levy-form .form-row:last-of-type,.fine-form .form-row:last-of-type{margin-bottom:0}.levy-form .form-group,.fine-form .form-group{margin-bottom:16px;flex:0 1 auto}.levy-form .form-row .form-group,.fine-form .form-row .form-group{margin-bottom:0}.levy-form .form-group.flex-grow,.fine-form .form-group.flex-grow{flex:1 1 200px}.levy-form .form-group label:not(.checkbox-label),.fine-form .form-group label:not(.checkbox-label){display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.levy-form .form-group input[type=text],.levy-form .form-group input[type=number],.levy-form .form-group input[type=date],.levy-form .form-group select,.levy-form .form-group input[type=email],.fine-form .form-group input[type=text],.fine-form .form-group input[type=number],.fine-form .form-group input[type=date],.fine-form .form-group select{display:block;width:100%;min-width:0;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.levy-form .form-group-checkbox,.fine-form .form-group-checkbox{display:flex;align-items:center;min-height:40px}.levy-form .form-group-checkbox label,.levy-form .form-group label.checkbox-label,.fine-form .form-group-checkbox label{display:inline-flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer;font-weight:500;color:#333;font-size:14px}.levy-form .form-group-checkbox input[type=checkbox],.levy-form .form-group label.checkbox-label input[type=checkbox],.fine-form .form-group-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer;vertical-align:middle}.levy-form .form-actions,.fine-form .form-actions{display:flex;gap:12px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.levy-form .form-group .unit-checkboxes{display:flex;flex-wrap:wrap;gap:8px 16px}.levy-form .form-group .unit-checkboxes label{display:inline-flex;align-items:center;gap:6px;margin-bottom:0;cursor:pointer;font-weight:400;font-size:14px}.levy-form .form-group .unit-checkboxes input[type=checkbox]{width:16px;height:16px;margin:0}@media(max-width:600px){.levy-form .form-row,.fine-form .form-row{flex-direction:column;gap:16px}.levy-form .form-group,.fine-form .form-group{width:100%}}.data-import{padding:20px}.di-template-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}.di-template-btn{display:inline-flex;align-items:center;gap:6px;font-weight:500}.di-hint{font-size:13px}.di-columns-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px 16px;font-size:13px;line-height:1.6}.di-upload-area{border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;transition:border-color .2s,background .2s}.di-upload-area:hover{border-color:var(--primary-blue, #1E40AF);background:#eff6ff}.di-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;cursor:pointer;gap:10px}.di-upload-icon{font-size:40px}.di-upload-text{font-size:15px;color:#475569;text-align:center}.di-file-input{display:none}.di-file-loaded{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px}.di-file-name{font-weight:500;color:#166534;font-size:14px}.di-change-btn{margin-left:auto;color:#64748b;font-size:13px}.di-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.di-preview-header h3{margin:0;display:flex;align-items:center;gap:10px}.di-row-count{font-size:13px;font-weight:400;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:10px}.di-summary-banner{display:flex;gap:24px;align-items:center;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:16px;font-weight:600;font-size:14px}.di-summary-created{color:#16a34a}.di-summary-skipped{color:#d97706}.di-summary-failed{color:#dc2626}.di-table-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.di-preview-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;min-width:900px}.di-preview-table thead{background:#f8fafc;position:sticky;top:0;z-index:1}.di-preview-table th{padding:10px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e2e8f0;white-space:nowrap}.di-preview-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.di-preview-table tbody tr:hover{background:#f8fafc}.di-th-check,.di-td-check{width:36px;text-align:center;padding:8px 6px}.di-td-num{color:#94a3b8;font-size:12px;text-align:right;padding-right:6px}.di-td-amount{text-align:right;font-variant-numeric:tabular-nums}.di-row-deselected td{opacity:.4}.di-row-created td{background:#f0fdf4}.di-row-skipped td{background:#fffbeb}.di-row-failed td{background:#fff1f2}.di-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.di-badge-created{background:#dcfce7;color:#15803d}.di-badge-skipped{background:#fef9c3;color:#a16207}.di-badge-failed{background:#fee2e2;color:#b91c1c}.di-badge-neutral{background:#f1f5f9;color:#64748b}.di-badge-msg{font-weight:400;font-size:11px}.di-missing{color:#dc2626;font-size:11px;font-weight:600;margin-left:4px}.di-process-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:12px}.text-muted{color:#94a3b8;font-size:13px}@media(max-width:768px){.di-template-row,.di-preview-header{flex-direction:column;align-items:flex-start}.di-summary-banner{flex-direction:column;gap:8px;align-items:flex-start}.di-process-footer{flex-direction:column;align-items:flex-start}}.principal-resident-dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.dashboard-header h1{margin:0 0 8px;color:#333;font-size:28px}.unit-info{color:#666;margin:0;font-size:14px}.dashboard-date{color:#888;margin:4px 0 0;font-size:13px;font-weight:500}.form-hint,.principal-resident-dashboard .form small{display:block;margin-top:4px;color:#666;font-size:12px}.form-messages-top{position:relative;z-index:2;margin-bottom:1rem}.form-message-brought-forward{margin-bottom:0}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem;background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.error-banner .banner-close{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-banner .banner-close:hover{background:#991b1b1a;border-radius:4px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:24px}.stat-card-dues-zero .stat-value{color:#059669}.stat-card-dues-zero{border-left:4px solid #059669}.stat-card-dues-outstanding .stat-value{color:#dc2626}.stat-card-dues-outstanding{border-left:4px solid #dc2626}.stat-card-link{display:inline-block;margin-top:8px;font-size:13px;color:#2563eb;text-decoration:none}.stat-card-link:hover{text-decoration:underline}.stat-icon{font-size:32px;margin-bottom:12px}.stat-value{font-size:36px;font-weight:700;color:#333;margin-bottom:8px}.stat-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px}.dashboard-sections{display:grid;gap:24px}.section-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0;color:#333;font-size:20px}.empty-state{text-align:center;padding:40px;color:#666}.table-container{overflow-x:auto}.table-container table{width:100%;border-collapse:collapse}.table-container thead{background-color:#f5f5f5}.table-container th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.table-container td{padding:12px 16px;border-bottom:1px solid #eee}.table-container tbody tr:hover{background-color:#f9f9f9}.text-muted{color:#666;font-size:12px}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-info{background-color:#e3f2fd;color:#1976d2}.badge-warning{background-color:#fff3e0;color:#f57c00}.badge-success{background-color:#e8f5e9;color:#388e3c}.badge-danger{background-color:#ffebee;color:#d32f2f}.badge-secondary{background-color:#f5f5f5;color:#666}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.form .form-group{margin-bottom:16px}.form label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form input,.form select,.form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box}.form textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.loading{text-align:center;padding:40px;color:#666}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-stats,.form-row{grid-template-columns:1fr}.table-container{font-size:12px}}.principal-resident-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:40px;width:100%;max-width:450px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#333;margin:0 0 8px;font-size:28px;font-weight:600}.login-header p{color:#666;margin:0;font-size:14px}.login-form{margin-bottom:24px}.form-message{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem;margin-bottom:1rem}.form-message-error{background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.form-message-success{background:#d1fae5;color:#065f46;border:1px solid #6EE7B7}.error-icon{font-size:1.25rem;flex-shrink:0}.banner-close{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1}.banner-close:hover{background:#991b1b1a;border-radius:4px}.form-message-success .banner-close{color:#065f46}.form-message-success .banner-close:hover{background:#065f461a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.btn-login{width:100%;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;padding-top:20px;border-top:1px solid #eee}.login-footer p{color:#666;font-size:13px;margin:0}.accountant-dashboard{min-height:100vh;background:var(--bg-light, #f5f5f5)}.accountant-header{background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb);padding:1rem 0}.accountant-header .header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.accountant-header h1{font-size:1.5rem;font-weight:700;color:var(--text-dark, #111);margin:0}.accountant-tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--border-color, #e5e7eb);background:#fff;padding:0 2rem;max-width:1200px;margin:0 auto}.accountant-tabs button{padding:.75rem 1.25rem;border:none;background:none;color:var(--text-gray, #6b7280);font-weight:500;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}.accountant-tabs button:hover{color:var(--primary-blue, #2563eb)}.accountant-tabs button.active{color:var(--primary-blue, #2563eb);border-bottom-color:var(--primary-blue, #2563eb)}.accountant-content{max-width:1200px;margin:0 auto;padding:2rem}.acc-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #00000014;border:1px solid var(--border-color, #e5e7eb)}.acc-panel h2{font-size:1.25rem;margin:0 0 1rem;color:var(--text-dark, #111)}.acc-table-wrap{overflow-x:auto;margin-bottom:1rem}.acc-table{width:100%;border-collapse:collapse}.acc-table th,.acc-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-color, #e5e7eb)}.acc-table th{font-weight:600;color:var(--text-gray, #6b7280);font-size:.875rem}.acc-table td{font-size:.9375rem}.acc-table tr:hover td{background:var(--bg-light, #f9fafb)}.acc-form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.acc-form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--text-dark, #111)}.acc-form-row input,.acc-form-row select{padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;min-width:140px}.acc-form-row input:focus,.acc-form-row select:focus{outline:none;border-color:var(--primary-blue, #2563eb);box-shadow:0 0 0 2px #2563eb33}.acc-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9375rem}.acc-message.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.acc-message.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.acc-report-section{margin-bottom:1.5rem}.acc-report-section h3{font-size:1rem;margin:0 0 .5rem;color:var(--text-dark, #111)}.acc-report-table .total-row{font-weight:700;border-top:2px solid var(--border-color, #e5e7eb)}.acc-report-table .subtotal-row{font-weight:600;background:var(--bg-light, #f9fafb)}.acc-journal-lines{margin-top:1rem}.acc-journal-line{display:grid;grid-template-columns:1fr 120px 120px 80px;gap:.5rem;align-items:center;margin-bottom:.5rem}.acc-journal-line select{padding:.5rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px}.acc-journal-line input{padding:.5rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;text-align:right}.acc-add-line-btn{margin-top:.5rem}.text-muted{color:var(--text-gray, #6b7280);font-size:.875rem}.acc-empty{color:var(--text-gray, #6b7280);padding:2rem;text-align:center}.bill-modal-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.bill-modal{background:#fff;border-radius:14px;padding:2rem;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px #0003}.bill-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.bill-modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-dark, #111)}.bill-modal-close{background:none;border:none;cursor:pointer;color:var(--text-gray, #6b7280);font-size:1.4rem;line-height:1;padding:.25rem;border-radius:6px;transition:background .15s}.bill-modal-close:hover{background:var(--bg-light, #f3f4f6);color:var(--text-dark, #111)}.bill-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.bill-modal-grid .full-width{grid-column:1 / -1}.bill-field{display:flex;flex-direction:column;gap:.3rem}.bill-field label{font-size:.82rem;font-weight:600;color:var(--text-gray, #6b7280);text-transform:uppercase;letter-spacing:.04em}.bill-field input,.bill-field select,.bill-field textarea{padding:.55rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:.9375rem;color:var(--text-dark, #111);background:#fff;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.bill-field input:focus,.bill-field select:focus,.bill-field textarea:focus{outline:none;border-color:var(--primary-blue, #2563eb);box-shadow:0 0 0 3px #2563eb26}.bill-field textarea{resize:vertical;min-height:64px}.bill-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.bill-modal-footer{display:flex;gap:.75rem;margin-top:1.75rem;justify-content:flex-end}.bill-action-btn{font-size:.78rem;padding:.28rem .7rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-weight:500;white-space:nowrap}.bill-action-btn:disabled{opacity:.55;cursor:not-allowed}.bill-action-btn.post{background:var(--primary-blue,#2563eb);color:#fff;border-color:var(--primary-blue,#2563eb)}.bill-action-btn.pay{background:#f0fdf4;color:#166534;border-color:#86efac}.bill-action-btn.edit{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.bill-action-btn.pause{background:#fffbeb;color:#92400e;border-color:#fcd34d}.bill-action-btn.del{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.bill-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em}.bill-status-badge.active{background:#d1fae5;color:#065f46}.bill-status-badge.paused{background:#fef3c7;color:#92400e}.reports-page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.reports-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.reports-back-btn{background:none;border:1px solid var(--border-color);border-radius:6px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;color:var(--text-gray);transition:background .15s}.reports-back-btn:hover{background:var(--bg-light)}.reports-header h1{font-size:1.6rem;font-weight:700;color:var(--text-dark);margin:0}.reports-header p{margin:0;color:var(--text-gray);font-size:.9rem}.reports-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border-color);margin-bottom:2rem;flex-wrap:wrap}.reports-tab-btn{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.65rem 1.1rem;font-size:.9rem;font-weight:500;color:var(--text-gray);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.reports-tab-btn:hover{color:var(--primary-blue)}.reports-tab-btn.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);font-weight:600}.reports-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.reports-stat-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm)}.reports-stat-card .stat-label{font-size:.875rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.reports-stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text-dark);line-height:1.2}.reports-stat-card .stat-sub{font-size:.8rem;color:var(--text-gray);margin-top:.4rem}.reports-stat-card.warning{background:#fffbeb;border-left:4px solid #F59E0B}.reports-stat-card.warning .stat-value{color:#d97706}.reports-stat-card.danger{background:#fef2f2;border-left:4px solid #EF4444}.reports-stat-card.danger .stat-value{color:#dc2626}.reports-stat-card.success{background:#f0fdf4;border-left:4px solid #22C55E}.reports-stat-card.success .stat-value{color:#16a34a}.reports-stat-card.info{background:#eff6ff;border-left:4px solid #3B82F6}.reports-stat-card.info .stat-value{color:var(--primary-blue)}.occupancy-rate-display{display:flex;align-items:center;gap:2rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:10px;padding:1.5rem 2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.occupancy-rate-number{font-size:3rem;font-weight:800;color:var(--primary-blue);line-height:1}.occupancy-rate-label{font-size:.9rem;color:var(--text-gray);margin-top:.25rem}.reports-section-title{font-size:1rem;font-weight:600;color:var(--text-dark);margin:0 0 .75rem}.reports-filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.reports-filter-bar label{font-size:.85rem;color:var(--text-gray);font-weight:500}.reports-filter-bar input[type=date]{border:1px solid var(--border-color);border-radius:6px;padding:.4rem .6rem;font-size:.85rem;color:var(--text-dark);background:var(--bg-white)}.reports-filter-bar .btn-primary{padding:.42rem 1rem;font-size:.85rem}.reports-table-wrap{background:var(--bg-white);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.reports-table{width:100%;border-collapse:collapse;font-size:.875rem}.reports-table thead tr{background:var(--bg-light)}.reports-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-gray);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color)}.reports-table td{padding:.75rem 1rem;color:var(--text-dark);border-bottom:1px solid var(--border-color)}.reports-table tr:last-child td{border-bottom:none}.reports-table tbody tr:hover{background:var(--bg-light)}.reports-table .amount-cell{font-weight:600;font-variant-numeric:tabular-nums}.reports-table .badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-danger{background:#fee2e2;color:#dc2626}.badge-warning{background:#fef3c7;color:#d97706}.badge-success{background:#d1fae5;color:#16a34a}.reports-alert{display:flex;align-items:center;gap:.6rem;background:#fef3c7;border:1px solid #FCD34D;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:#92400e;font-weight:500}.reports-alert.danger{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}.trend-chart{display:flex;align-items:flex-end;gap:.5rem;height:80px;margin-top:.5rem}.trend-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;justify-content:flex-end}.trend-bar{width:100%;background:var(--primary-blue-light);border-radius:3px 3px 0 0;min-height:3px;transition:height .3s}.trend-bar-label{font-size:.7rem;color:var(--text-gray);margin-top:.25rem;white-space:nowrap}.trend-bar-count{font-size:.7rem;font-weight:600;color:var(--primary-blue);margin-bottom:2px}.reports-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}@media(max-width:680px){.reports-two-col{grid-template-columns:1fr}.reports-stat-grid{grid-template-columns:1fr 1fr}}.reports-loading{text-align:center;padding:3rem 1rem;color:var(--text-gray);font-size:.95rem}.reports-empty{text-align:center;padding:2rem 1rem;color:var(--text-gray);font-size:.875rem}.bill-type-row{display:flex;gap:1rem;margin-bottom:1.5rem}.bill-type-card{flex:1;background:var(--bg-white);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.bill-type-card .btc-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text-gray);margin-bottom:.3rem}.bill-type-card .btc-value{font-size:1.3rem;font-weight:700;color:var(--text-dark)}.subscription-renewal{max-width:520px;margin:2rem auto;padding:0 1rem}.subscription-renewal-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border:1px solid var(--border-color, #e5e7eb)}.subscription-renewal-card h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-dark, #1f2937)}.subscription-renewal-intro{color:var(--text-gray, #6b7280);font-size:.9375rem;margin-bottom:1.5rem;line-height:1.5}.subscription-status-box{background:var(--bg-light, #f9fafb);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.subscription-status-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9375rem}.subscription-status-row span{color:var(--text-gray, #6b7280)}.subscription-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9375rem}.subscription-message.success{background:#d1fae5;color:#065f46}.subscription-message.error{background:#fee2e2;color:#991b1b}.subscription-months{margin-bottom:1.5rem}.subscription-months label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9375rem}.subscription-months select{width:100%;max-width:200px;padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:1rem}.subscription-months-hint{margin-top:.5rem;font-size:.8125rem;color:var(--text-gray, #6b7280)}.subscription-pay-btn{width:100%;margin-bottom:1rem}.subscription-renewal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.subscription-renewal-actions .btn-secondary{flex:1;min-width:120px}.subscription-expired{max-width:480px;margin:3rem auto;padding:0 1rem}.subscription-expired-card{text-align:center;background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border:1px solid var(--border-color, #e5e7eb)}.subscription-expired-icon{font-size:4rem;margin-bottom:1rem}.subscription-expired-card h1{margin:0 0 1rem;font-size:1.5rem;color:var(--text-dark, #1f2937)}.subscription-expired-message{color:var(--text-gray, #6b7280);font-size:1rem;line-height:1.6;margin-bottom:1rem}.subscription-expired-contact{color:var(--text-dark, #1f2937);font-size:.9375rem;line-height:1.5;margin-bottom:1.5rem}.subscription-expired-actions{margin-top:1.5rem}.subscription-expired-actions .btn-primary{display:inline-block;text-decoration:none}.contact-us-page{min-height:80vh;padding:3rem 2rem;background:linear-gradient(135deg,#f0f4ff,#e0e7ff)}.contact-us-container{max-width:560px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 10px 40px #1e40af14;padding:2.5rem}.contact-us-header{text-align:center;margin-bottom:2rem}.contact-us-header h1{font-size:2rem;font-weight:700;color:var(--text-dark, #1e293b);margin-bottom:.5rem}.contact-us-header p{font-size:1rem;color:var(--text-gray, #64748b)}.contact-success{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46}.contact-success .success-icon{font-size:1.25rem;flex-shrink:0}.contact-error{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.contact-error .error-icon{flex-shrink:0}.contact-error .banner-close{margin-left:auto;background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;padding:0 .25rem}.contact-form .form-group{margin-bottom:1.25rem}.contact-form label{display:block;font-weight:500;color:var(--text-dark, #1e293b);margin-bottom:.5rem}.contact-form input,.contact-form textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:1rem;font-family:inherit}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary-blue, #1e40af);box-shadow:0 0 0 3px #1e40af26}.contact-form button[type=submit]{width:100%;margin-top:.5rem}.contact-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e2e8f0);font-size:.9rem;color:var(--text-gray, #64748b);text-align:center}.contact-footer a{color:var(--primary-blue, #1e40af);text-decoration:none}.contact-footer a:hover{text-decoration:underline}
