:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-header:#1e293b;--bg-row:#1e293b;--bg-row-alt:rgba(30,41,59,.6);--bg-hover:#334155;--bg-active:#475569;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0f172a;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--accent-secondary:#8b5cf6;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444;--accent-info:#06b6d4;--border-primary:#334155;--border-secondary:#475569;--border-light:#1e293b;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -2px rgba(0,0,0,.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.6),0 10px 10px -5px rgba(0,0,0,.3);--background:var(--bg-primary);--foreground:var(--text-primary);--admin-navbar-height:70px;--admin-content-padding:1rem 1.5rem}@media (max-width:768px){.application-detail-form{grid-template-columns:1fr!important}}html{min-height:100vh;min-height:100dvh;background-color:var(--bg-primary)}body,html{max-width:100vw;overflow-x:hidden}body{min-height:100vh;min-height:100dvh;color:var(--text-primary);background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}.min-vh-100{min-height:100vh}.todo-viewer-scroll::-webkit-scrollbar{display:none}.admin-main-wrapper{min-height:100vh}.admin-content-area{padding:var(--admin-content-padding)}.bg-white{background-color:var(--bg-card)!important;color:var(--text-primary)!important}.bg-light{background-color:var(--bg-secondary)!important}.text-dark{color:var(--text-primary)!important}.text-muted{color:var(--text-muted)!important}.border{border-color:var(--border-primary)!important}.border-bottom{border-bottom-color:var(--border-primary)!important}.border-top{border-top-color:var(--border-primary)!important}.border-end{border-right-color:var(--border-primary)!important}.table{color:var(--text-primary);background-color:var(--bg-card)}.table th{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border-primary);background-color:var(--bg-secondary)}body:not(.application-light-theme) .table thead>tr,body:not(.application-light-theme) .table>thead{background-color:var(--bg-secondary)!important}body:not(.application-light-theme) .table thead th,body:not(.application-light-theme) .table>thead>tr>th{background-color:var(--bg-secondary)!important;color:var(--text-secondary)!important;border-color:var(--border-primary)!important}body:not(.application-light-theme) .spot-admission-signups-table thead th{color:var(--text-primary)!important}.spot-admission-table-scroll{max-height:min(72vh,calc(100vh - 260px));overflow:auto;border-radius:0 0 .375rem .375rem}.spot-admission-table-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--border-primary)}body:not(.application-light-theme) .spot-admission-pagination .page-link{background-color:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary)}body:not(.application-light-theme) .spot-admission-pagination .page-item.disabled .page-link{background-color:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border-primary)}.table td{vertical-align:middle;border-color:var(--border-primary)}.table-striped>tbody>tr:nth-of-type(odd)>td{background-color:var(--bg-secondary)}.table-hover>tbody>tr:hover>td{background-color:var(--bg-hover);color:var(--text-primary)}.table tbody tr,.table tbody tr td{background-color:var(--bg-card)!important;color:var(--text-primary)!important}.table tbody tr:hover,.table tbody tr:hover td{background-color:var(--bg-hover)!important}.table tbody tr:hover td{color:var(--text-primary)!important}.table tbody tr:nth-child(2n),.table tbody tr:nth-child(2n) td,.table tbody tr:nth-child(odd),.table tbody tr:nth-child(odd) td{background-color:var(--bg-card)!important}.table-bordered td,.table-bordered th{border-color:var(--border-primary)!important;color:var(--text-primary)}.table-bordered thead th{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.card{background-color:var(--bg-card);border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.card,.card-header{color:var(--text-primary)}.card-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);font-weight:600}.card-body{color:var(--text-primary)}.btn-outline-primary{border-color:var(--accent-primary);color:var(--accent-primary)}.btn-outline-primary:hover{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-outline-secondary{border-color:var(--border-secondary);color:var(--text-secondary)}.btn-outline-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary)}.btn-primary:hover{background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.form-control{border-color:var(--border-primary)}.form-control,.form-control:focus{background-color:var(--bg-secondary);color:var(--text-primary)}.form-control:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .2rem rgba(59,130,246,.25)}body:not(.application-light-theme) .form-control::placeholder{color:var(--text-secondary);opacity:1}.form-select{border-color:var(--border-primary)}.form-select,.form-select:focus{background-color:var(--bg-secondary);color:var(--text-primary)}.form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .2rem rgba(59,130,246,.25)}.form-label{color:var(--text-secondary)}.btn-group .btn{background-color:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary)}.btn-group .btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.btn-group .btn.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-group .btn.btn-primary:hover:not(:disabled){background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:#fff}.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem}.badge{font-weight:500;padding:.35em .65em}.bg-danger{background-color:var(--accent-danger)!important}.landing-page-root{min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);background-image:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 50%,var(--bg-secondary) 100%);background-repeat:no-repeat}.landing-hero-tagline-track{display:inline-flex;flex-wrap:wrap;justify-content:center;row-gap:.05em;column-gap:0;max-width:100%;vertical-align:bottom}.landing-hero-tagline-char{display:inline-block;transform:translateZ(0);animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform,opacity}.landing-hero-tagline-track--v0 .landing-hero-tagline-char{animation-name:landingHeroLoopV0;animation-duration:3.8s;animation-delay:calc(var(--char-i) * 55ms)}@keyframes landingHeroLoopV0{0%,to{opacity:.28;transform:translate3d(-.22em,0,0)}22%{opacity:1;transform:translateZ(0)}48%{opacity:1;transform:translateZ(0)}72%{opacity:.3;transform:translate3d(.18em,0,0)}}.landing-hero-tagline-track--v1 .landing-hero-tagline-char{animation-name:landingHeroLoopV1;animation-duration:4.2s;animation-delay:calc(var(--char-i) * .06s)}@keyframes landingHeroLoopV1{0%,to{opacity:.35;transform:translate3d(0,.2em,0) scale(.92)}25%{opacity:1;transform:translate3d(0,-.04em,0) scale(1.04)}50%{opacity:1;transform:translateZ(0) scale(1)}75%{opacity:.32;transform:translate3d(0,.16em,0) scale(.94)}}.landing-hero-tagline-track--v2 .landing-hero-tagline-char{animation-name:landingHeroLoopV2;animation-duration:3.6s;animation-delay:calc(var(--char-i) * 48ms)}@keyframes landingHeroLoopV2{0%,to{opacity:.4;transform:scale(.88)}30%{opacity:1;transform:scale(1.08)}55%{opacity:1;transform:scale(1)}80%{opacity:.36;transform:scale(.9)}}.landing-hero-tagline-track--v3 .landing-hero-tagline-char{animation-name:landingHeroLoopV3;animation-duration:4s;animation-delay:calc(var(--char-i) * 52ms)}@keyframes landingHeroLoopV3{0%,to{opacity:.3;transform:translateZ(0) rotate(-5deg)}20%{opacity:1;transform:translate3d(.04em,0,0) rotate(0deg)}45%{opacity:1;transform:translateZ(0) rotate(0deg)}68%{opacity:.38;transform:translate3d(-.06em,0,0) rotate(4deg)}}@media (prefers-reduced-motion:reduce){.landing-hero-tagline-char{animation:none!important;opacity:1!important;transform:none!important;will-change:auto}}.text-purple{color:var(--accent-secondary)!important}.bg-purple{background-color:var(--accent-secondary)!important}.cta-book-appointment{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.875rem 1.5rem;font-weight:600;font-size:1rem;color:#fff!important;background:var(--accent-primary);border:none;border-radius:.75rem;box-shadow:0 0 20px rgba(59,130,246,.5),0 4px 14px 0 rgba(59,130,246,.4);transition:transform .2s ease,box-shadow .2s ease;animation:cta-zoom-pulse 2s ease-in-out infinite,cta-glow-pulse 2s ease-in-out infinite;-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-decoration:none!important}.cta-book-appointment:hover{color:#fff!important}@media (hover:hover) and (pointer:fine){.cta-book-appointment:focus-visible,.cta-book-appointment:hover{transform:scale(1.05);box-shadow:0 0 28px rgba(59,130,246,.7),0 6px 20px 0 rgba(59,130,246,.5)}}.cta-book-appointment:active{transform:scale(.98)}@media (max-width:576px){.cta-book-appointment{min-height:52px;padding:1rem 1.25rem;width:100%;max-width:320px}}@media (prefers-reduced-motion:reduce){.cta-book-appointment{animation:none}}@keyframes cta-zoom-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes cta-glow-pulse{0%,to{box-shadow:0 0 20px rgba(59,130,246,.5),0 4px 14px 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 32px rgba(59,130,246,.7),0 4px 18px 0 rgba(59,130,246,.5)}}a.cta-participate,a.cta-participate span,a.cta-participate:focus,a.cta-participate:hover{text-decoration:none!important}.cta-participate{position:relative;overflow:hidden;min-height:48px;padding:.875rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:1rem;color:#fff!important;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border:none;border-radius:.75rem;box-shadow:0 4px 14px 0 rgba(59,130,246,.4);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;animation:cta-enter .4s ease-out both;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.cta-participate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2) 50%,transparent);animation:cta-shimmer 1.5s ease-in-out infinite}.cta-participate .cta-icon-check{flex-shrink:0}.cta-participate .cta-icon-arrow{flex-shrink:0;animation:cta-arrow-bounce 1s ease-in-out infinite}.cta-participate{animation:cta-enter .4s ease-out both,cta-pulse-glow 1.2s ease-in-out .4s infinite}@media (hover:hover) and (pointer:fine){.cta-participate:focus-visible,.cta-participate:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px 0 rgba(59,130,246,.5)}}.cta-participate:active{transform:translateY(0) scale(.98)}@media (max-width:576px){.cta-participate{min-height:52px;padding:1rem 1.25rem;font-size:1rem;width:100%;max-width:320px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.cta-participate .cta-icon-arrow,.cta-participate:before{animation:none}.cta-participate{animation:cta-enter .3s ease-out both}}@keyframes cta-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cta-shimmer{0%{left:-100%}50%{left:100%}to{left:100%}}@keyframes cta-arrow-bounce{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}@keyframes cta-pulse-glow{0%,to{box-shadow:0 4px 14px 0 rgba(59,130,246,.4)}50%{box-shadow:0 6px 20px 0 rgba(59,130,246,.55)}}.landing-footer{margin-top:auto;background:linear-gradient(180deg,var(--bg-secondary) 0,#0f172a 100%);border-top:1px solid var(--border-primary);color:var(--text-secondary)}.landing-footer a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease,transform .2s ease}.landing-footer a:hover{color:var(--accent-primary)}.landing-footer-logo{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:1.125rem}.landing-footer-brand{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.landing-footer-desc{font-size:.9rem;line-height:1.6;max-width:320px;margin-bottom:1.25rem;color:var(--text-muted)}.landing-footer-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem}.landing-footer-links li{margin-bottom:.5rem}.landing-footer-links a{font-size:.9rem}.landing-footer-sns{display:flex;gap:.5rem}.landing-footer-sns-link{width:40px;height:40px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:var(--text-secondary)!important;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.landing-footer-sns-link:hover{background:var(--accent-primary);color:#fff!important;border-color:var(--accent-primary);transform:translateY(-2px)}.landing-footer-bottom{border-top:1px solid var(--border-primary)}.landing-footer-copy{font-size:.85rem;color:var(--text-muted)}.landing-footer-legal{font-size:.85rem;color:var(--text-muted)!important}.landing-footer-legal:hover{color:var(--accent-primary)!important}@media (max-width:768px){.landing-footer .container{padding-left:1rem;padding-right:1rem}.landing-footer-desc{max-width:100%}.landing-footer-sns-link{width:44px;height:44px}}.landing-steps-section{padding-top:2.5rem!important;padding-bottom:2.5rem!important;background-color:var(--bg-secondary)}.landing-steps-section .container{max-width:100%;padding-left:1rem;padding-right:1rem}.landing-steps-grid{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;max-width:100%;margin:0 auto}.landing-step-card{flex:0 0 120px;max-width:140px;background:linear-gradient(145deg,var(--bg-card) 0,rgba(30,41,59,.95) 100%);border:1px solid var(--border-primary);border-radius:.75rem;padding:.85rem;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.landing-step-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-radius:3px 0 0 3px}.landing-step-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(59,130,246,.15),0 2px 8px rgba(0,0,0,.25);border-color:rgba(59,130,246,.3)}.landing-step-badge{position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:#fff;font-size:.65rem;font-weight:700;box-shadow:0 2px 6px rgba(59,130,246,.4)}.landing-step-badge,.landing-step-icon{display:flex;align-items:center;justify-content:center}.landing-step-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(139,92,246,.15));border:1px solid rgba(59,130,246,.2);font-size:1.15rem;color:var(--accent-primary);margin-bottom:.6rem}.landing-step-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem;letter-spacing:.02em}.landing-step-desc{font-size:.7rem;color:var(--text-secondary);line-height:1.4;margin:0}@media (max-width:576px){.landing-steps-grid{gap:.6rem}.landing-step-card{flex:1 1 95px;max-width:none;padding:.65rem}.landing-step-card:before{width:2px}.landing-step-icon{width:32px;height:32px;font-size:1rem}.landing-step-title{font-size:.78rem}.landing-step-desc{font-size:.65rem}}.navbar{border-color:var(--border-primary)!important}.navbar,.navbar-light{background-color:var(--bg-card)!important}.navbar.admin-dark-stroke-bottom,.table thead.admin-dark-stroke-bottom{border-bottom-color:var(--bg-primary)!important;border-bottom:2px solid var(--bg-primary)!important}.navbar-brand{color:var(--text-primary)!important}body.application-light-theme{background-color:#f8f9fa!important;color:#1f2937!important}body.application-light-theme .card,body.application-light-theme .card-body,body.application-light-theme .card-header{background-color:#fff!important;color:#1f2937!important;border-color:#e5e7eb!important}body.application-light-theme .card-header{background-color:#f8fafc!important}body.application-light-theme .form-control,body.application-light-theme .form-control:focus,body.application-light-theme .form-select,body.application-light-theme .form-select:focus{background-color:#fff!important;border-color:#d1d5db!important;color:#1f2937!important}body.application-light-theme .spot-admission-file-input.form-control{color:#0f172a!important;padding-top:.5rem;padding-bottom:.5rem}body.application-light-theme .spot-admission-file-input::file-selector-button{margin-right:.75rem;padding:.375rem .75rem;font-weight:600;font-size:.875rem;color:#0f172a;background-color:#e2e8f0;border:1px solid #94a3b8;border-radius:.375rem;cursor:pointer}body.application-light-theme .spot-admission-file-input::-webkit-file-upload-button:hover{background-color:#cbd5e1}body.application-light-theme .spot-admission-file-input::file-selector-button:hover{background-color:#cbd5e1}body.application-light-theme .spot-admission-file-input::-webkit-file-upload-button{margin-right:.75rem;padding:.375rem .75rem;font-weight:600;font-size:.875rem;color:#0f172a;background-color:#e2e8f0;border:1px solid #94a3b8;border-radius:.375rem;cursor:pointer}body.application-light-theme input[type=tel],body.application-light-theme input[type=text],body.application-light-theme textarea.form-control{text-transform:uppercase}body.application-light-theme input[type=email]{text-transform:none}body.application-light-theme .form-label,body.application-light-theme .text-muted{color:#6b7280!important}body.application-light-theme .navbar,body.application-light-theme .navbar-light{background-color:#fff!important;border-color:#e5e7eb!important}body.application-light-theme .navbar-brand,body.application-light-theme .navbar-brand *{color:#1e3a8a!important}body.application-light-theme .btn-outline-secondary{background-color:transparent!important;color:#374151!important;border-color:#d1d5db!important}body.application-light-theme .badge.bg-primary{background-color:#2563eb!important;color:#fff!important}body.application-light-theme .input-group-text{background-color:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important}body.application-light-theme .visa-form-page input[type=date],body.application-light-theme .visa-form-page input[type=number],body.application-light-theme .visa-form-page input[type=tel],body.application-light-theme .visa-form-page input[type=text],body.application-light-theme .visa-form-page select.form-select,body.application-light-theme .visa-form-page textarea.form-control{text-transform:none!important;font-size:.9375rem}body.application-light-theme .visa-form-page .visa-section-card{border-radius:.5rem;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px rgba(15,23,42,.06)!important;overflow:hidden}body.application-light-theme .visa-form-page .visa-section-card .card-header{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;border-bottom:1px solid #e2e8f0!important;font-size:.95rem;letter-spacing:.01em;padding:.875rem 1rem}@media (max-width:576px){body.application-light-theme .visa-form-page .visa-section-card .card-header{padding:.75rem .875rem;font-size:.875rem}body.application-light-theme .visa-form-page .visa-section-card .card-body{padding:.875rem!important}}body.application-light-theme .visa-form-page .visa-field-hint{font-size:.8125rem;color:#64748b!important;line-height:1.45;margin-bottom:.5rem}body.application-light-theme .visa-form-page .visa-applicant-banner{background:linear-gradient(135deg,#eff6ff,#e0f2fe)!important;border:1px solid #bfdbfe!important;border-radius:.5rem}body.application-light-theme .visa-form-page .visa-navbar{box-shadow:0 1px 0 #e5e7eb}.dropdown-menu{background-color:var(--bg-card);border-color:var(--border-primary);box-shadow:var(--shadow-lg)}.dropdown-item,.dropdown-item:hover{color:var(--text-primary)}.dropdown-item:hover{background-color:var(--bg-hover)}.dropdown-item.active{background-color:var(--accent-primary);color:#fff}.modal-content{background-color:var(--bg-card);border-color:var(--border-primary);color:var(--text-primary)}.modal-header{border-bottom-color:var(--border-primary)}.modal-footer{border-top-color:var(--border-primary)}.modal .modal-header h1,.modal .modal-header h2,.modal .modal-header h3,.modal .modal-header h4,.modal .modal-header h5,.modal .modal-header h6,.modal .modal-title{color:var(--text-primary)!important;opacity:1!important}.modal .form-control,.modal .form-control:focus,.modal .form-select,.modal .form-select:focus,.modal textarea.form-control{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important;box-shadow:none!important;opacity:1!important;-webkit-text-fill-color:var(--text-primary)!important}.modal .form-control::placeholder,.modal textarea.form-control::placeholder{color:var(--text-secondary)!important;opacity:1!important}.modal .form-check-input{background-color:var(--bg-secondary)!important;border-color:#64748b!important;accent-color:var(--accent-primary)!important;box-shadow:none!important;opacity:1!important}.modal .form-check-input:checked{background-color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.modal .form-check-label,.modal .text-body-secondary,.modal .text-muted,.modal .text-secondary{color:#cbd5e1!important;opacity:1!important}.admin-main-wrapper,.admin-main-wrapper .card,.admin-main-wrapper .card-body,.admin-main-wrapper .card-header,.admin-main-wrapper .table,.admin-main-wrapper .table tbody td,.admin-main-wrapper .table tbody tr,.admin-main-wrapper .table thead th{background-color:var(--bg-card)!important;color:var(--text-primary)!important}.admin-main-wrapper .table thead th{background-color:var(--bg-secondary)!important}.admin-main-wrapper .table tbody td,.admin-main-wrapper .table thead th{border-color:var(--border-primary)!important}.admin-main-wrapper .modal .nav-tabs{border-bottom-color:var(--border-primary)!important}.admin-main-wrapper .modal .nav-tabs .nav-link{color:var(--text-secondary)!important;background-color:transparent!important;border-color:transparent!important}.admin-main-wrapper .modal .nav-tabs .nav-link.active{color:var(--text-primary)!important;background-color:var(--bg-card)!important;border-color:var(--border-primary) var(--border-primary) var(--bg-card)!important}.billing-admin-theme .modal .form-control,.billing-admin-theme .modal .form-control:focus,.billing-admin-theme .modal .form-select,.billing-admin-theme .modal .form-select:focus,.billing-admin-theme .modal textarea.form-control{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important;box-shadow:none!important;opacity:1!important;-webkit-text-fill-color:var(--text-primary)!important}.billing-admin-theme .modal .form-control::placeholder,.billing-admin-theme .modal textarea.form-control::placeholder{color:var(--text-secondary)!important;opacity:1!important}.billing-admin-theme .modal option{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.billing-admin-theme .modal .modal-body,.billing-admin-theme .modal .modal-content,.billing-admin-theme .modal .modal-footer,.billing-admin-theme .modal .modal-header{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}.billing-admin-theme .modal .form-check-label,.billing-admin-theme .modal .form-label,.billing-admin-theme .modal .small,.billing-admin-theme .modal h1,.billing-admin-theme .modal h2,.billing-admin-theme .modal h3,.billing-admin-theme .modal h4,.billing-admin-theme .modal h5,.billing-admin-theme .modal h6,.billing-admin-theme .modal p{color:var(--text-primary)!important}.billing-admin-theme .modal textarea.form-control,.billing-admin-theme .modal textarea.form-control:disabled,.billing-admin-theme .modal textarea.form-control[readonly]{opacity:1!important;color:var(--text-primary)!important;-webkit-text-fill-color:var(--text-primary)!important}.billing-admin-theme .modal .small.text-muted,.billing-admin-theme .modal .text-body-secondary,.billing-admin-theme .modal .text-dark,.billing-admin-theme .modal .text-muted,.billing-admin-theme .modal .text-secondary,.billing-admin-theme .modal p.text-muted{color:#cbd5e1!important;opacity:1!important}.billing-admin-theme .modal .form-check-input{background-color:var(--bg-secondary)!important;border-color:#64748b!important;opacity:1!important;box-shadow:none!important;accent-color:var(--accent-primary)!important}.billing-admin-theme .modal .form-check-input:checked{background-color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.billing-admin-theme .modal .form-check-label{color:#e2e8f0!important;opacity:1!important}.billing-admin-theme .modal .form-control:disabled,.billing-admin-theme .modal .form-control[readonly],.billing-admin-theme .modal .form-select:disabled{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;opacity:1!important;-webkit-text-fill-color:var(--text-primary)!important}body:not(.application-light-theme) .docs-generator-wrapper{--bs-body-bg:var(--bg-primary);--bs-body-color:var(--text-primary);--bs-heading-color:var(--text-primary);--bs-card-bg:var(--bg-card);--bs-card-cap-bg:var(--bg-secondary);--bs-card-border-color:var(--border-primary);--bs-border-color:var(--border-primary);--bs-secondary-bg:var(--bg-secondary);--bs-tertiary-bg:var(--bg-tertiary)}body:not(.application-light-theme) .docs-generator-wrapper .card{background-color:var(--bg-card)!important;color:var(--text-primary);border-color:var(--border-primary)}body:not(.application-light-theme) .docs-generator-wrapper .card-header{background-color:var(--bg-secondary)!important;color:var(--text-primary);border-bottom-color:var(--border-primary)}body:not(.application-light-theme) .docs-generator-wrapper .card-body{background-color:var(--bg-card)!important;color:var(--text-primary)}body:not(.application-light-theme) .docs-generator-wrapper .docs-generator-panels .card-body .border.rounded:not(.border-primary){background-color:var(--bg-secondary)!important;border-color:var(--border-primary)!important}body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .card,body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .card-body,body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .card-header{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .card-header{background-color:var(--bg-secondary)!important}body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .form-control,body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .form-control:focus,body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .form-select,body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .form-select:focus{background-color:var(--bg-secondary)!important;border-color:var(--border-primary)!important;color:var(--text-primary)!important}body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .form-control::placeholder{color:var(--text-secondary)!important;opacity:1}body.application-light-theme .docs-generator-wrapper[data-bs-theme=dark] .docs-generator-panels .card-body .border.rounded:not(.border-primary){background-color:var(--bg-secondary)!important;border-color:var(--border-primary)!important}.docs-generator-wrapper .form-range::-webkit-slider-runnable-track{background-color:var(--bg-tertiary);border-radius:.25rem;height:.35rem}.docs-generator-wrapper .form-range::-moz-range-track{background-color:var(--bg-tertiary);border-radius:.25rem;height:.35rem}.docs-generator-wrapper .nav-tabs{border-bottom-color:var(--border-primary)}.docs-generator-wrapper .nav-tabs .nav-link{color:var(--text-secondary)}.docs-generator-wrapper .nav-tabs .nav-link:hover{color:var(--text-primary);border-color:var(--border-primary);background-color:var(--bg-secondary)}.docs-generator-wrapper .nav-tabs .nav-link.active{color:var(--text-primary);background-color:var(--bg-card);border-color:var(--border-primary) var(--border-primary) var(--bg-card)}.docs-generator-layout .min-h-0{min-height:0!important}.docs-generator-layout .docs-generator-panels{flex:1 1 auto;min-height:0;overflow:hidden}.docs-generator-layout .docs-generator-panels>[class*=col-]{display:flex;flex-direction:column;min-height:0}.docs-generator-layout .docs-generator-panels>[class*=col-]>.card{flex:1 1 auto;min-height:0;max-height:min(72dvh,calc(100dvh - var(--admin-navbar-height) - 12rem));overflow:hidden}.docs-generator-layout .docs-generator-panels .card-body.flex-grow-1,.docs-generator-layout .docs-generator-panels .card-body.overflow-y-auto{min-height:0!important}@media (max-width:991.98px){.docs-generator-layout .docs-generator-panels>[class*=col-]>.card{max-height:min(58dvh,520px)}.docs-generator-layout .docs-generator-panels .card-body.overflow-y-auto{max-height:min(48dvh,420px)}}.docs-generator-main-below{flex:0 1 auto;min-height:0;max-height:min(36dvh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch}.docs-generator-modal-root.modal{overflow-y:auto}.docs-generator-modal-root .modal-dialog{max-height:calc(100dvh - 1rem);margin-top:.5rem;margin-bottom:.5rem}.docs-generator-modal-root .modal-content{max-height:calc(100dvh - 1rem);display:flex;flex-direction:column}.docs-generator-modal-root .docs-generator-modal-inner-card,.docs-generator-modal-root .modal-body.docs-generator-modal-scroll{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.docs-generator-modal-root .docs-generator-modal-inner-card>.card-header{flex-shrink:0}.docs-generator-modal-root .docs-generator-modal-tabstrip{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.docs-generator-modal-root .docs-generator-modal-inner-card>.card-body{flex:1 1 auto;min-height:0;overflow-y:auto}.docs-generator-modal-root .docs-generator-preview-host{min-height:200px;max-height:min(62dvh,calc(100dvh - 15rem));overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-main-wrapper .docs-generator-preview-host,.docs-generator-modal-root .docs-generator-preview-host,.docs-generator-wrapper .docs-generator-preview-host{color:#111827!important;-webkit-text-fill-color:#111827!important;background-color:#fff!important;caret-color:#111827}.admin-main-wrapper .docs-generator-preview-host a,.docs-generator-modal-root .docs-generator-preview-host a,.docs-generator-wrapper .docs-generator-preview-host a{color:#1d4ed8!important;-webkit-text-fill-color:#1d4ed8!important}.admin-main-wrapper .docs-generator-preview-host a:visited,.docs-generator-modal-root .docs-generator-preview-host a:visited,.docs-generator-wrapper .docs-generator-preview-host a:visited{color:#5b21b6!important;-webkit-text-fill-color:#5b21b6!important}body:not(.application-light-theme) .cost-estimation-admin[data-bs-theme=dark]{--bs-body-bg:var(--bg-primary);--bs-body-color:var(--text-primary);--bs-card-bg:var(--bg-card);--bs-secondary-bg:var(--bg-secondary);--bs-border-color:var(--border-primary);--bs-tertiary-bg:var(--bg-tertiary)}body:not(.application-light-theme) .cost-estimation-admin .card,body:not(.application-light-theme) .cost-estimation-admin .card-body{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}body:not(.application-light-theme) .cost-estimation-admin .card-header,body:not(.application-light-theme) .cost-estimation-admin .form-control,body:not(.application-light-theme) .cost-estimation-admin .form-control:focus,body:not(.application-light-theme) .cost-estimation-admin .form-select,body:not(.application-light-theme) .cost-estimation-admin .form-select:focus{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}body:not(.application-light-theme) .cost-estimation-admin .form-control::placeholder{color:var(--text-secondary)!important;opacity:1}body:not(.application-light-theme) .cost-estimation-admin .input-group-text{background-color:var(--bg-tertiary)!important;border-color:var(--border-primary)!important;color:var(--text-secondary)!important}body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .card,body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .card-body{background-color:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .card-header{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .form-control,body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .form-control:focus,body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .form-select,body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .form-select:focus{background-color:var(--bg-secondary)!important;border-color:var(--border-primary)!important;color:var(--text-primary)!important}body.application-light-theme .cost-estimation-admin[data-bs-theme=dark] .input-group-text{background-color:var(--bg-tertiary)!important;border-color:var(--border-primary)!important;color:var(--text-secondary)!important}.list-group-item{background-color:var(--bg-card);border-color:var(--border-primary);color:var(--text-primary)}.list-group-item.active{background-color:var(--accent-primary);border-color:var(--accent-primary)}.alert{border-color:var(--border-primary)}.alert-primary{background-color:rgba(59,130,246,.1);border-color:var(--accent-primary);color:var(--accent-primary)}.spinner-border,.spinner-grow{display:none!important;width:0!important;height:0!important;border:0!important;animation:none!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}.admin-sidebar-nav{scrollbar-width:none;-ms-overflow-style:none}.admin-sidebar-nav::-webkit-scrollbar{display:none}.admin-navbar-actions{scrollbar-width:none;-ms-overflow-style:none}.admin-navbar-actions::-webkit-scrollbar{display:none}@media (max-width:768px){body{font-size:14px}.container{padding-left:1rem;padding-right:1rem}.card{margin-bottom:1rem}.btn{padding:.5rem 1rem}.btn,.table{font-size:.875rem}.table td,.table th{padding:.5rem}.modal-dialog{margin:.5rem}.modal-content{border-radius:.5rem}}@media (max-width:576px){body{font-size:13px}.container{padding-left:.75rem;padding-right:.75rem}.btn{padding:.375rem .75rem;font-size:.8125rem}.card-body{padding:1rem}.table{font-size:.8125rem}.table td,.table th{padding:.375rem}}.booking-page #booking-form{scroll-margin-top:1rem}.booking-main .booking-grid-wrapper{max-width:100%;-webkit-overflow-scrolling:touch}.booking-grid{table-layout:fixed;min-width:600px;font-size:.8rem}.booking-grid td,.booking-grid th{border-color:var(--border-primary)!important;vertical-align:middle}.booking-grid-time{width:72px;min-width:72px;font-weight:600;color:var(--text-muted)}.booking-grid-day{min-width:70px;font-weight:600;color:var(--text-secondary)}.booking-slot{min-height:44px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;font-weight:500;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.booking-slot:disabled{cursor:not-allowed}.booking-slot-available{background:rgba(59,130,246,.2);color:var(--accent-primary);border:1px solid rgba(59,130,246,.35)}.booking-slot-available:hover:not(:disabled){background:rgba(59,130,246,.35);transform:scale(1.02)}.booking-slot-booked{background:var(--bg-tertiary);color:var(--text-muted)}.booking-slot-selected{background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary)}.booking-slot-past{background:var(--bg-secondary);color:var(--text-muted)}.booking-slot-break,.booking-slot-off{background:var(--bg-tertiary);color:var(--text-muted)}.booking-mobile-picker{width:100%}.booking-mobile-days{-webkit-overflow-scrolling:touch;scrollbar-width:none}.booking-mobile-days::-webkit-scrollbar{display:none}.booking-mobile-day-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.booking-mobile-times .booking-slot{min-height:48px;font-size:.9375rem}@media (max-width:991.98px){.booking-sidebar{margin-bottom:0}.booking-grid{min-width:520px}.booking-grid-time{width:64px;min-width:64px}.booking-grid-day{min-width:60px}.booking-slot{min-height:44px;padding:.5rem .25rem!important;font-size:.7rem}}@media (max-width:576px){.booking-main .container-fluid{padding-left:.5rem;padding-right:.5rem}.booking-sidebar .card-body{padding:1rem}.booking-grid{min-width:480px;font-size:.75rem}.booking-grid-time{width:56px;min-width:56px}.booking-grid-day{min-width:52px}.booking-slot{min-height:44px;padding:.4rem .2rem!important;font-size:.65rem}.cta-book-appointment.btn{min-height:48px}}.abrodia-page-loader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.18),transparent 45%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.14),transparent 45%),var(--bg-primary)}.abrodia-loader-inner{text-align:center;padding:1.75rem 2rem;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(30,41,59,.7);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.abrodia-loader-logo{display:inline-flex;gap:.28rem;font-size:clamp(1.65rem,3.6vw,2.6rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.abrodia-loader-logo span{color:var(--text-muted);opacity:.45;transform:translateY(0);animation:abrodiaLoaderPulse 1.3s ease-in-out infinite}.abrodia-loader-logo span:first-child{animation-delay:0s}.abrodia-loader-logo span:nth-child(2){animation-delay:.08s}.abrodia-loader-logo span:nth-child(3){animation-delay:.16s}.abrodia-loader-logo span:nth-child(4){animation-delay:.24s}.abrodia-loader-logo span:nth-child(5){animation-delay:.32s}.abrodia-loader-logo span:nth-child(6){animation-delay:.4s}.abrodia-loader-logo span:nth-child(7){animation-delay:.48s}.abrodia-loader-subtitle{margin:.7rem 0 0;color:var(--text-secondary);font-size:.92rem;letter-spacing:.04em}@keyframes abrodiaLoaderPulse{0%{opacity:.35;color:var(--text-muted);transform:translateY(0)}50%{opacity:1;color:var(--accent-primary);transform:translateY(-3px);text-shadow:0 0 18px rgba(59,130,246,.45)}to{opacity:.35;color:var(--text-muted);transform:translateY(0)}}