:root{--font-title: "Outfit", "Inter", sans-serif;--font-body: "Inter", sans-serif;--bg-body: #f0f2f8;--bg-mesh: radial-gradient(ellipse 80% 50% at 10% 0%, rgba(30, 64, 175, .08) 0%, transparent 50%), radial-gradient(ellipse 60% 40% at 90% 100%, rgba(212, 175, 55, .06) 0%, transparent 50%), var(--bg-body);--bg-header: linear-gradient(135deg, #06142e 0%, #0d2654 60%, #132f5e 100%);--bg-card: rgba(255, 255, 255, .82);--bg-card-elevated: rgba(255, 255, 255, .92);--bg-input: #ffffff;--text-primary: #0f1729;--text-secondary: #3e4c63;--text-tertiary: #6b7a94;--text-muted: #94a3b8;--text-on-dark: #ffffff;--text-on-dark-muted: rgba(255, 255, 255, .7);--royal-blue: #0d2654;--royal-blue-light: #1e40af;--royal-blue-lighter: #3b82f6;--gold: #c9a227;--gold-light: #dfc456;--gold-dark: #9c7d1c;--gold-glow: rgba(201, 162, 39, .35);--emerald: #059669;--emerald-light: #10b981;--amber: #d97706;--rose: #dc2626;--cyan: #0891b2;--border-subtle: rgba(15, 23, 41, .07);--border-medium: rgba(15, 23, 41, .12);--glass-border: rgba(255, 255, 255, .65);--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.03);--shadow-gold: 0 4px 14px -2px rgba(201, 162, 39, .25);--shadow-blue: 0 4px 14px -2px rgba(30, 64, 175, .2);--shadow-inner: inset 0 2px 4px rgba(0,0,0,.04);--blur: blur(16px);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 28px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .15s var(--ease);--transition: .25s var(--ease);--transition-slow: .4s var(--ease)}[data-theme=dark]{--bg-body: #0b1120;--bg-mesh: radial-gradient(ellipse 80% 50% at 10% 0%, rgba(59, 130, 246, .06) 0%, transparent 50%), radial-gradient(ellipse 60% 40% at 90% 100%, rgba(201, 162, 39, .04) 0%, transparent 50%), var(--bg-body);--bg-header: linear-gradient(135deg, #020818 0%, #0b1628 100%);--bg-card: rgba(22, 33, 55, .75);--bg-card-elevated: rgba(28, 40, 65, .85);--bg-input: rgba(22, 33, 55, .9);--text-primary: #edf2f7;--text-secondary: #b0bdd0;--text-tertiary: #7b8ba3;--text-muted: #576882;--royal-blue: #3b82f6;--royal-blue-light: #60a5fa;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .08);--shadow-md: 0 4px 12px -2px rgba(0,0,0,.35);--shadow-lg: 0 10px 20px -4px rgba(0,0,0,.4)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-mesh);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition)}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;line-height:1.2;letter-spacing:-.01em}a{color:var(--royal-blue-light);text-decoration:none}.app-header{background:var(--bg-header);color:var(--text-on-dark);padding:0 1.5rem;height:72px;display:flex;align-items:center;position:sticky;top:0;z-index:1000;border-bottom:none;box-shadow:0 1px #c9a2274d,0 4px 20px #00000040}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),var(--gold),transparent)}.header-container{display:flex;width:100%;max-width:1440px;margin:0 auto;align-items:center;justify-content:space-between;gap:1rem}.logo-area{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.logo-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,#c9a22733,#c9a2270d);border:1px solid rgba(201,162,39,.4);font-size:1.3rem}.gold-glow{color:var(--gold-light);filter:drop-shadow(0 0 6px var(--gold-glow))}.logo-text h1{font-size:1.05rem;letter-spacing:.08em;font-weight:800;background:linear-gradient(90deg,#fff,#e2d8b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-text .sub-title{font-size:.68rem;color:var(--gold);font-weight:500;letter-spacing:.04em}.nav-tabs{display:flex;gap:2px;background:#ffffff0f;border-radius:var(--radius-md);padding:4px}.nav-btn{background:transparent;border:none;color:var(--text-on-dark-muted);padding:.5rem .9rem;font-family:var(--font-title);font-weight:500;font-size:.82rem;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:all var(--transition-fast);position:relative;white-space:nowrap}.nav-btn i{font-size:.9rem}.nav-btn:hover{background:#ffffff14;color:var(--text-on-dark)}.nav-btn.active{background:var(--gold);color:var(--royal-blue);font-weight:700;box-shadow:var(--shadow-gold)}.nav-btn.admin-btn-highlight{border:1px solid transparent}.nav-btn.admin-btn-highlight.active{background:linear-gradient(135deg,var(--royal-blue-lighter),var(--royal-blue-light));color:#fff;border-color:transparent;box-shadow:var(--shadow-blue)}.icon-circle-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text-on-dark-muted);width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--transition-fast)}.icon-circle-btn:hover{background:#ffffff24;color:var(--text-on-dark);transform:rotate(15deg)}.header-actions{flex-shrink:0}.app-main-content{flex:1;padding:2.5rem 2rem;max-width:1440px;width:100%;margin:0 auto}.tab-view{display:none;animation:viewEnter .5s var(--ease) forwards}.tab-view.active{display:block}@keyframes viewEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-glass{background:var(--bg-card);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition);position:relative;overflow:hidden}.card-glass:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);pointer-events:none}.card-glass:hover{box-shadow:var(--shadow-lg);border-color:#c9a22726}.glass-highlight{background:linear-gradient(135deg,#0d2654eb,#1e40afe0);color:var(--text-on-dark);border-color:#3b82f633}.glass-highlight:before{background:linear-gradient(90deg,transparent,rgba(201,162,39,.3),transparent)}.section-title-area{margin-bottom:1.5rem}.section-title-area h3{font-size:1.15rem;display:flex;align-items:center;gap:.6rem;color:var(--text-primary);margin-bottom:.3rem}.section-title-area h3 i{color:var(--gold);font-size:1rem}.section-title-area p{font-size:.85rem;color:var(--text-tertiary);line-height:1.5}.card-header-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}.card-header-icon.color-blue,.color-blue{color:var(--royal-blue-lighter)}.color-gold{color:var(--gold)}.color-green{color:var(--emerald)}.card-header-icon{background:linear-gradient(135deg,#3b82f61a,#3b82f60a)}.hero-section{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center;margin-bottom:2.5rem}.hero-content .badge{margin-bottom:.75rem}.hero-content h2{font-size:2.8rem;font-weight:800;line-height:1.1;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--royal-blue-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin-bottom:1.75rem}.hero-actions{display:flex;gap:.75rem}.icon-box-large{font-size:3rem;color:var(--gold-light);margin-bottom:1.25rem;filter:drop-shadow(0 0 12px var(--gold-glow))}.hero-illustration .card-glass{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:3rem 2rem;height:100%;min-height:300px}.hero-illustration .card-glass h3{font-size:1.25rem;margin-bottom:.5rem}.hero-illustration .card-glass p{font-size:.9rem;opacity:.85;line-height:1.5}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2.5rem}.grid-3 .card-glass h3{font-size:1.05rem;margin-bottom:.4rem}.grid-3 .card-glass p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}.portal-info-split{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem}.mt-10{margin-top:.625rem}.mt-15{margin-top:.9375rem}.mt-20{margin-top:1.25rem}.mb-15{margin-bottom:.9375rem}.subtitle{font-size:.85rem;color:var(--text-tertiary)}.btn{padding:.7rem 1.4rem;font-family:var(--font-title);font-weight:600;font-size:.88rem;border-radius:var(--radius-md);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--royal-blue),var(--royal-blue-light));color:var(--text-on-dark);box-shadow:var(--shadow-blue)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px -3px #1e40af59;filter:brightness(1.1)}.btn-secondary{background:#0f17290f;color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:#0f17291a;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--emerald),var(--emerald-light));color:var(--text-on-dark)}.btn-success:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-outline{background:transparent;border:1.5px solid var(--border-medium);color:var(--text-primary)}.btn-outline:hover{background:var(--royal-blue);border-color:var(--royal-blue);color:var(--text-on-dark)}.btn-outline-circle{background:transparent;border:1px solid var(--border-medium);color:var(--text-primary);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-outline-circle:hover{background:var(--bg-card);box-shadow:var(--shadow-sm)}.btn-sm{padding:.38rem .75rem;font-size:.8rem;border-radius:var(--radius-sm)}.btn-block{width:100%}.step-title{font-size:1.2rem;margin-bottom:.75rem;color:var(--text-primary)}.step-subtitle{font-size:.88rem;color:var(--text-tertiary);margin-bottom:.5rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-gold{background:linear-gradient(135deg,#c9a2271f,#c9a2270f);color:var(--gold-dark);border:1px solid rgba(201,162,39,.25)}.badge-success{background:#0596691a;color:var(--emerald);border:1px solid rgba(5,150,105,.2)}.badge-warning{background:#d977061a;color:var(--amber);border:1px solid rgba(217,119,6,.2)}.badge-danger{background:#dc262614;color:var(--rose);border:1px solid rgba(220,38,38,.2)}.badge-info{background:#0891b214;color:var(--cyan);border:1px solid rgba(8,145,178,.2)}.venue-list{display:flex;flex-direction:column;gap:1rem}.venue-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius-md);background:#fff6;border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.venue-item:hover{background:#ffffffb3;box-shadow:var(--shadow-sm);transform:translate(4px)}.venue-img-placeholder{width:48px;height:48px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#3b82f61a,#c9a22714);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--royal-blue-lighter);flex-shrink:0}.venue-details h4{font-size:.95rem;margin-bottom:.15rem}.venue-details p{font-size:.8rem;color:var(--text-tertiary);margin-bottom:.35rem}.venue-details p i{margin-right:.2rem}.council-members{display:flex;flex-direction:column;gap:.9rem}.council-member{display:flex;align-items:center;gap:.9rem;padding:.9rem;border-radius:var(--radius-md);background:#fff6;border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.council-member:hover{background:#ffffffb3;transform:translate(4px)}.member-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--royal-blue),var(--royal-blue-light));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}.member-info h4{font-size:.92rem}.member-info p{font-size:.78rem;color:var(--text-tertiary)}.form-container{max-width:920px;margin:0 auto;background:var(--bg-card-elevated);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);padding:2.5rem 3rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.form-header{margin-bottom:2rem;text-align:center}.form-header h2{font-size:1.6rem;color:var(--royal-blue);margin-bottom:.4rem}.form-header p{font-size:.9rem;color:var(--text-tertiary)}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.4rem;color:var(--text-secondary);letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.72rem .9rem;border:1.5px solid var(--border-subtle);background-color:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271f}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);font-size:.85rem}.required{color:var(--rose)}.readonly-input{background-color:#c9a2270f!important;font-weight:700;color:var(--gold-dark)!important;border-color:#c9a22733!important}.step-tracker{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;padding:0 1rem}.step-node{display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:2}.step-num{width:40px;height:40px;border-radius:50%;background:var(--bg-body);border:2px solid var(--border-medium);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;font-family:var(--font-title);transition:all var(--transition)}.step-node.active .step-num{background:linear-gradient(135deg,var(--royal-blue),var(--royal-blue-light));border-color:var(--royal-blue);color:#fff;box-shadow:0 0 0 4px #1e40af26,var(--shadow-blue)}.step-node.complete .step-num{background:linear-gradient(135deg,var(--emerald),var(--emerald-light));border-color:var(--emerald);color:#fff}.step-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.step-node.active .step-label{color:var(--royal-blue)}.step-line{flex:1;height:2px;background:var(--border-medium);margin-bottom:1.5rem;border-radius:1px}.form-step-content{display:none;animation:viewEnter .35s var(--ease)}.form-step-content.active{display:block}.form-actions-step{display:flex;justify-content:space-between;margin-top:2rem;border-top:1px solid var(--border-subtle);padding-top:1.5rem}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);margin:1rem 0;display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;line-height:1.5}.alert i{margin-top:2px;font-size:1rem}.alert-warning{background:#d977060f;border:1px solid rgba(217,119,6,.2);color:#92400e}.alert-info{background:#0891b20f;border:1px solid rgba(8,145,178,.2);color:#155e75}.alert-danger{background:#dc26260f;border:1px solid rgba(220,38,38,.2);color:#991b1b}.d-none{display:none!important}.services-checklist{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.25rem}.checklist-card{background:#ffffff80;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem}[data-theme=dark] .checklist-card{background:#ffffff08}.checklist-card h4{font-size:.95rem;margin-bottom:1rem;color:var(--royal-blue);border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-container{display:block;position:relative;padding-left:32px;cursor:pointer;font-size:.84rem;-webkit-user-select:none;user-select:none;line-height:1.45;color:var(--text-secondary);transition:color var(--transition-fast)}.checkbox-container:hover{color:var(--text-primary)}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:1px;left:0;height:20px;width:20px;background-color:var(--bg-body);border:1.5px solid var(--border-medium);border-radius:var(--radius-xs);transition:all var(--transition-fast)}.checkbox-container:hover .checkmark{border-color:var(--royal-blue-lighter)}.checkbox-container input:checked~.checkmark{background:linear-gradient(135deg,var(--royal-blue),var(--royal-blue-light));border-color:var(--royal-blue)}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.card-glass-form-sub{background:#c9a2270a;border-left:3px solid var(--gold);padding:1.25rem;border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:1rem}.card-glass-form-sub h5{font-size:.92rem;margin-bottom:.75rem;color:var(--royal-blue)}.letter-container{background:#f8f9fb;padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);max-height:500px;overflow-y:auto;box-shadow:var(--shadow-inner)}.letter-paper{background:#fff;padding:3rem;min-height:600px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:#1a1a1a;font-family:Georgia,Times New Roman,serif;font-size:.95rem;line-height:1.65}.print-actions{display:flex;justify-content:flex-end;margin-top:1rem}.calendar-layout-container{display:grid;grid-template-columns:260px 1fr;gap:1.5rem}.calendar-sidebar .card-glass{padding:1.5rem}.calendar-legend{margin-top:1.5rem;border-top:1px solid var(--border-subtle);padding-top:1rem}.calendar-legend h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;color:var(--text-muted)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.5rem;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:var(--shadow-xs)}.status-approved{background:var(--emerald)}.status-pending{background:var(--amber)}.status-conflict{background:var(--rose)}.calendar-header-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header-nav h2{font-size:1.3rem}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding-bottom:.6rem;margin-bottom:.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:95px;gap:3px}.calendar-day-cell{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:.4rem;background-color:#ffffff59;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:all var(--transition-fast)}[data-theme=dark] .calendar-day-cell{background-color:#ffffff05}.calendar-day-cell:hover{background-color:#ffffffa6;box-shadow:inset 0 0 0 2px var(--gold)}.calendar-day-cell.other-month{opacity:.35}.calendar-day-cell.today{background:#c9a22714;border-color:var(--gold);box-shadow:inset 0 0 0 1px #c9a22726}.day-number{font-weight:700;font-size:.82rem;color:var(--text-tertiary)}.calendar-day-cell.today .day-number{color:var(--gold-dark)}.day-events-container{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:65px}.calendar-event-pill{font-size:.65rem;padding:2px 5px;border-radius:3px;color:#fff;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer;transition:transform var(--transition-fast)}.calendar-event-pill:hover{transform:scale(1.03);filter:brightness(.92)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0b11208c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:viewEnter .2s var(--ease)}.modal-card{background:var(--bg-card-elevated);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:92%;max-width:620px;padding:2rem;box-shadow:var(--shadow-xl)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.75rem}.modal-header h3{font-size:1.15rem}.close-btn{background:#0f17290d;border:1px solid var(--border-subtle);width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn:hover{background:#dc26261a;color:var(--rose);border-color:#dc262633}.modal-body p{font-size:.88rem;margin-bottom:.4rem;color:var(--text-secondary)}.modal-body p strong{color:var(--text-primary)}.modal-details-sub{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.modal-details-sub h4{font-size:.92rem;margin-bottom:.75rem;color:var(--royal-blue)}.clean-list{list-style:none}.clean-list li{display:flex;align-items:center;gap:.5rem;font-size:.84rem;margin-bottom:.4rem;color:var(--text-secondary)}.permit-layout-container{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}.tab-sub-selector{display:flex;gap:2px;margin-bottom:1rem;background:#0f17290a;padding:3px;border-radius:var(--radius-sm)}[data-theme=dark] .tab-sub-selector{background:#ffffff0a}.btn-sub-tab{background:transparent;border:none;padding:.4rem .75rem;font-size:.82rem;font-family:var(--font-title);font-weight:500;color:var(--text-tertiary);cursor:pointer;border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition-fast)}.btn-sub-tab.active{background:var(--bg-card-elevated);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.district-guide-info{font-size:.88rem;line-height:1.65}.district-guide-info h4{color:var(--royal-blue);margin-bottom:.5rem;font-size:1rem}.district-guide-info ul{padding-left:1.25rem;margin-bottom:1rem}.district-guide-info ul li{margin-bottom:.2rem}.permit-receipt-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--gold);padding-bottom:1rem;margin-bottom:1.25rem}.permit-receipt-title h4{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em}.permit-receipt-title h5{font-size:.85rem;color:var(--text-secondary)}.permit-receipt-title h3{font-size:1.15rem;color:var(--royal-blue)}.permit-receipt-number{text-align:right}.permit-receipt-number .label{font-size:.72rem;display:block;color:var(--text-muted)}.permit-receipt-number .value{font-family:Courier New,monospace;font-weight:700;font-size:1.05rem;color:var(--rose)}.permit-receipt-body{margin-bottom:1.25rem;font-size:.88rem}.permit-receipt-footer{border-top:1px solid var(--border-subtle);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.digital-signature{font-weight:700;color:var(--gold-dark);display:flex;align-items:center;gap:.5rem;font-size:.85rem}.qr-code-box{display:flex;align-items:center;gap:1.5rem;background:#ffffff73;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;margin-top:1.5rem}[data-theme=dark] .qr-code-box{background:#ffffff08}.qr-display{width:130px;height:130px;background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mock-qr-graphic{font-size:5rem;color:var(--royal-blue)}.qr-instructions h4{font-size:1rem;color:var(--royal-blue);margin-bottom:.25rem}.qr-instructions p{font-size:.82rem;color:var(--text-tertiary);line-height:1.5}.admin-grid-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;margin-bottom:1.5rem}.admin-stat{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem}.admin-stat-icon{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}.bg-blue{background:linear-gradient(135deg,#1e40af,#3b82f6)}.bg-gold{background:linear-gradient(135deg,var(--gold-dark),var(--gold))}.bg-red{background:linear-gradient(135deg,#b91c1c,#ef4444)}.bg-green{background:linear-gradient(135deg,var(--emerald),var(--emerald-light))}.admin-stat-details .label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:.05em}.admin-stat-details h3{font-size:1.6rem;color:var(--text-primary);font-weight:800}.admin-workspace-split{display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem}.table-responsive{width:100%;overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:.84rem}.data-table th,.data-table td{padding:.75rem .9rem;border-bottom:1px solid var(--border-subtle)}.data-table th{font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#0f172905;position:sticky;top:0}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#3b82f608}.row-flex-between{display:flex;justify-content:space-between;align-items:center}.chart-container{position:relative;margin:auto;height:260px;width:100%}.form-group-row{display:flex;gap:.5rem}.flex-grow{flex:1}.form-group-row input{padding:.72rem .9rem;border:1.5px solid var(--border-subtle);background-color:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271f}.blacklist-quick-list{margin-top:1rem;border-top:1px dashed var(--border-medium);padding-top:1rem}.blacklist-quick-list h4{font-size:.82rem;margin-bottom:.5rem;color:var(--text-muted)}.blacklist-quick-list ul{padding-left:1.25rem;font-size:.8rem;line-height:1.65}.policy-alert-compose{background:#0f172905;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}[data-theme=dark] .policy-alert-compose{background:#ffffff05}.active-alerts-list h4{font-size:.82rem;color:var(--text-muted);margin-bottom:.5rem}.active-alerts-list li{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border-subtle)}.active-alerts-list li p{font-size:.82rem;margin-top:.3rem;color:var(--text-secondary);line-height:1.5}.app-footer{background:var(--bg-header);color:#ffffff80;padding:1.5rem 2rem;text-align:center;font-size:.78rem;border-top:none;margin-top:auto;position:relative}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),var(--gold),transparent)}.footer-container{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:.2rem}.footer-container p:first-child{color:#ffffffa6}@media print{body *{visibility:hidden}#letter-content,#letter-content *{visibility:visible}#letter-content{position:absolute;left:0;top:0;width:100%;box-shadow:none;padding:0}}@media (max-width: 1200px){.nav-btn span{display:none}.nav-btn{padding:.5rem .65rem}.nav-btn i{font-size:1.05rem}}@media (max-width: 1024px){.hero-section{grid-template-columns:1fr}.hero-illustration{display:none}.hero-content h2{font-size:2.2rem}.portal-info-split,.calendar-layout-container,.permit-layout-container,.admin-workspace-split{grid-template-columns:1fr}}@media (max-width: 768px){.app-header{height:auto;padding:.75rem 1rem}.header-container{flex-wrap:wrap;justify-content:center;gap:.75rem}.logo-area{width:100%;justify-content:center}.nav-tabs{flex-wrap:wrap;justify-content:center}.nav-btn span{display:inline}.nav-btn{font-size:.78rem;padding:.4rem .7rem}.app-main-content{padding:1.25rem 1rem}.form-container{padding:1.5rem}.services-checklist{grid-template-columns:1fr}.hero-content h2{font-size:1.8rem}}
