.app-root{color:#1b1b1b;display:flex;position:relative;min-height:100vh;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background-color:#e6e3df;background-image:radial-gradient(1000px 400px at 12% 12%,rgba(0,0,0,.035),transparent 32%),linear-gradient(180deg,#ffffff8c,#fff0 34%),repeating-linear-gradient(to bottom,rgba(11,33,64,.025) 0px,rgba(11,33,64,.025) 1px,transparent 1px,transparent 36px),linear-gradient(135deg,#0b214005,#0b214000 30%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'><rect width='6' height='6' fill='%23e6e3df'/><circle cx='1' cy='1' r='0.6' fill='%23ddd9d5' opacity='0.06'/><circle cx='4' cy='4' r='0.6' fill='%23ddd9d5' opacity='0.04'/></svg>");background-repeat:no-repeat,no-repeat,repeat,no-repeat,repeat;background-size:1200px 520px,cover,auto,120% 120%,auto;background-attachment:fixed,fixed,scroll,fixed,scroll}.app-root:before{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(ellipse at 70% 35%,rgba(11,33,64,.06) 0%,rgba(11,33,64,.01) 28%,transparent 46%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='1200' viewBox='0 0 1200 1200'><g fill='%230b2136' opacity='0.045' font-family='Georgia,Times,serif' text-anchor='middle'><text x='600' y='650' font-size='96'>BOLLING</text><text x='600' y='740' font-size='56'>LAW OFFICE</text></g></svg>");background-repeat:no-repeat,no-repeat;background-position:72% 28%,72% 28%;background-size:60%,36%;mix-blend-mode:soft-light;opacity:.95}.app-root>*{position:relative;z-index:1}.app-root main{flex:1 0 auto}.page-loader{position:fixed;left:0;right:0;top:0;height:4px;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:105000}.page-loader--visible{opacity:1}.page-loader .loader-bar{position:absolute;left:0;top:0;height:4px;background:linear-gradient(90deg,#ffd166,#0b5fff 60%);border-radius:2px;animation:loaderBar 1.4s linear infinite}@keyframes loaderBar{0%{left:-30%;width:30%}50%{left:35%;width:30%}to{left:110%;width:10%}}.page-loader--spinner .loader-spinner{position:fixed;right:12px;top:10px;width:28px;height:28px;border-radius:50%;border:3px solid rgba(11,33,64,.12);border-top-color:#ffd166;box-shadow:0 6px 18px #0b21401f;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.app-root main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.site-footer{position:relative;z-index:2;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.site-disclaimer{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:9000;max-width:1080px;width:calc(100% - 40px);pointer-events:auto}.site-disclaimer .disclaimer-content{background:linear-gradient(180deg,#fffffffa,#fafafafa);padding:14px 18px;border-radius:8px;border:1px solid rgba(20,20,20,.06);box-shadow:0 12px 36px #0b214024;color:#0b2333}.site-disclaimer .disclaimer-text{margin:0 0 8px;color:#24343f;line-height:1.4}.site-disclaimer .disclaimer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.site-disclaimer .disclaimer-actions .dont-show-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#41545a}.disclaimer-close{position:absolute;top:6px;right:8px;background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;color:#0b214099}@media (max-width: 720px){.site-disclaimer{top:8px;width:calc(100% - 20px)}.site-disclaimer .disclaimer-content{padding:12px}}.site-header{color:#f5f5f6;border-bottom:none;background-color:#2b2f33;background-image:linear-gradient(180deg,#ffffff08,#0000000f),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'><rect width='6' height='6' fill='%232b2f33'/><circle cx='1' cy='1' r='0.6' fill='%231f2225' opacity='0.09'/><circle cx='4' cy='4' r='0.6' fill='%231f2225' opacity='0.07'/></svg>");background-repeat:no-repeat,repeat;background-size:cover,auto;background-position:center,0 0;background-blend-mode:normal;box-shadow:inset 0 -1px #0000001f,inset 0 6px 18px #0000001f}h1,h2,h3,h4{font-family:Georgia,Times New Roman,Times,serif;color:#0b2433;letter-spacing:.2px}.hero-title{font-family:Georgia,Times New Roman,Times,serif;font-weight:600;color:#0b2136}.reminders-modal{max-width:720px;width:100%;padding:18px;box-sizing:border-box;background:linear-gradient(180deg,#fffffffa,#fafafafa);border:1px solid rgba(11,33,64,.06);border-radius:10px;box-shadow:0 18px 40px #0b214024}.reminders-modal .reminders-header{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:12px}.reminders-modal .reminders-title{margin:0;font-size:18px}.reminders-modal .reminders-case{font-size:13px;color:#4b5b60}.reminders-modal .reminders-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.reminders-modal .form-input.reminder-input{flex:0 1 260px;max-width:320px;padding:8px 10px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff}.reminders-modal .form-input.reminder-msg-input{flex:1 1 340px;min-width:160px;padding:8px 10px;border-radius:8px;border:1px solid rgba(11,33,64,.06);background:#fff}.reminders-modal .reminder-actions{display:flex;gap:8px;align-items:center}.reminders-modal .reminders-list{display:block;margin-top:8px}.reminders-modal .reminder-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px;border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f7f7f7fa);border:1px solid rgba(11,33,64,.04);margin-bottom:8px}.reminders-modal .reminder-item .meta{display:flex;flex-direction:column;gap:4px}.reminders-modal .reminder-item .meta .title{font-weight:600;color:#0b2136}.reminders-modal .reminder-item .meta .when{font-size:13px;color:#5b6b71}.reminders-modal .reminder-item .reminder-actions{gap:6px}.reminders-modal .reminder-item .reminder-actions .btn{padding:6px 8px;border-radius:6px}@media (max-width: 560px){.reminders-modal{padding:12px}.reminders-modal .reminders-form{flex-direction:column;align-items:stretch}.reminders-modal .form-input.reminder-input,.reminders-modal .form-input.reminder-msg-input{flex:1 1 auto;width:100%;max-width:100%}.reminders-modal .reminder-actions{justify-content:flex-start}}.skeleton{display:inline-block;background:linear-gradient(90deg,#e6e3dfe6,#f5f5f5f2);border-radius:6px;opacity:.9}.skeleton.block{display:block}.skeleton.title{height:18px;width:60%;border-radius:6px}.skeleton.subtle{height:12px;width:80%;border-radius:6px;opacity:.7}.skeleton-strong{background:linear-gradient(90deg,#e0ddda,#f5f5f5)}.skeleton-row{padding:10px 0;border-bottom:1px solid rgba(11,33,64,.03);display:flex;justify-content:space-between;align-items:center}.skeleton-table-row{display:table-row;width:100%;border-bottom:1px solid rgba(11,33,64,.04);padding:8px 0}.skeleton-table-cell{display:table-cell;padding:8px 10px;vertical-align:middle}.skeleton-card{padding:12px;border-radius:10px;background:linear-gradient(180deg,#fffffffa,#fafafafa);border:1px solid rgba(11,33,64,.04)}.skeleton-loading-header{display:flex;gap:8px;align-items:center;color:#5b6b71;font-weight:700}.skeleton-spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(11,33,64,.08);border-top-color:#0b5fffb3;animation:skeletonSpin .9s linear infinite}@keyframes skeletonShimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes skeletonSpin{to{transform:rotate(360deg)}}.skeleton.block,.skeleton.title,.skeleton.subtle,.skeleton-strong{background-image:linear-gradient(90deg,#fff3,#ffffff0d,#fff3);background-size:400px 100px;animation:skeletonShimmer 1.2s linear infinite}.panel{background:linear-gradient(180deg,#ffffffe6,#faf8f6f2);border:1px solid rgba(20,20,20,.06)}.header-inner{max-width:1080px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:64px;height:64px;object-fit:contain;border-radius:6px;box-shadow:0 1px 4px #1414140f}.brand-text .firm-name{margin:0;font-size:20px;font-weight:700;letter-spacing:.2px;color:#f5f5f6}.brand-text .tagline{margin:2px 0 0;font-size:13px;color:#bdbfc1}.top-nav{display:flex;gap:18px;align-items:center}.top-nav--desktop{display:flex}.nav-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.06);padding:8px 10px;border-radius:6px;font-size:20px;line-height:1;cursor:pointer;position:relative;z-index:11002}.top-nav a{color:#e6e8ea;text-decoration:none;font-weight:600;font-size:14px}.top-nav .nav-cta{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#ffd166;color:#1b1b1b;border-radius:6px;box-shadow:0 2px 6px #0000002e;text-decoration:none;border:none;cursor:pointer;font-weight:700;font-size:14px}.top-nav .nav-cta:hover,.top-nav .nav-cta:focus{transform:translateY(-2px);box-shadow:0 6px 12px #00000024;color:#111}.top-nav .nav-cta:focus-visible{outline:3px solid rgba(11,95,255,.12);outline-offset:2px}.top-nav a.active,.top-nav a.active:focus{color:#ffd166;background:transparent;text-decoration:underline dotted rgba(255,209,102,.9);font-weight:800}.top-nav a.home-link{color:#f5f5f6;background-color:#2b2f33b3;padding:6px 10px;border-radius:6px;text-decoration:none}.top-nav a.home-link.active,.top-nav a.home-link.active:focus{outline:2px solid rgba(255,209,102,.16);box-shadow:0 2px 8px #0b21401f;color:#fff}.comm-filter{display:flex;gap:8px;align-items:center;margin-bottom:12px}.comm-filter__label{font-size:14px;color:#374151;font-weight:600}.comm-filter__select{padding:8px 10px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff;color:#0b2136;font-size:14px}.comm-filter__select:focus{outline:none;box-shadow:0 6px 18px #0b21400f;border-color:#0b5fff}.comm-filter__toggle-group{display:inline-flex;gap:6px;background:#0b214008;padding:4px;border-radius:10px}.comm-filter__toggle{padding:8px 10px;background:transparent;border:none;border-radius:8px;color:#274151;font-weight:600;cursor:pointer}.comm-filter__toggle:hover{background:#0b21400a}.comm-filter__toggle:focus{outline:3px solid rgba(11,95,255,.12);outline-offset:2px}.comm-filter__toggle--active{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(11,33,64,.06);box-shadow:0 6px 18px #0b21400f;color:#0b2136}.comm-fixed-controls{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(180deg,#fffffffa,#fafafaf5);border-top:1px solid rgba(11,33,64,.06);padding:12px 16px;box-shadow:0 -6px 30px #0b21400f;z-index:1200}.comm-fixed-controls__inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:12px;justify-content:center}@media (max-width: 720px){.app-root main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}:root{--admin-sidebar-width: 320px}@media (min-width: 960px){.comm-fixed-controls{left:var(--admin-sidebar-width);right:0}.comm-fixed-controls__inner{max-width:calc(1080px - var(--admin-sidebar-width))}}.hero{padding:56px 24px;background:linear-gradient(90deg,rgba(11,95,255,.05),transparent 60%)}.hero-inner{max-width:1080px;margin:0 auto}.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:center}.hero-copy{max-width:640px}.hero-media{display:block}.building-image{width:100%;height:auto;border-radius:8px;object-fit:cover;box-shadow:0 10px 30px #0b21401f;border:1px solid rgba(10,10,10,.04)}.image-frame{display:inline-block;padding:12px;background:linear-gradient(180deg,#fff,#f7f7f7);border-radius:10px;border:1px solid rgba(20,20,20,.06);box-shadow:0 12px 34px #0812201f,inset 0 1px #fff9;position:relative}.image-frame:after{content:"";position:absolute;left:10px;bottom:8px;width:56px;height:6px;border-radius:4px;background:linear-gradient(90deg,#0b5ffff2,#ffd166f2);box-shadow:0 2px 6px #0b214024}.hero-title{margin:0 0 12px;font-size:32px;color:#0b2136}.hero-sub{margin:0 0 20px;color:#47525e;font-size:17px;line-height:1.5;max-width:760px}.hero-actions{display:flex;gap:12px}.btn{display:inline-block;text-decoration:none;padding:10px 16px;border-radius:8px;font-weight:700;font-size:14px;transition:transform .22s cubic-bezier(.2,.9,.2,1),box-shadow .22s ease,filter .22s ease;will-change:transform,box-shadow}.btn-primary{background:#0b5fff;color:#fff;box-shadow:0 6px 22px #0b5fff24}.btn:hover,.btn:focus{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 30px #0b21401f}.case-tabs{display:flex;gap:8px;align-items:center;margin-bottom:12px;border-bottom:1px solid rgba(11,33,64,.04);padding-bottom:8px}.case-tab{background:transparent;border:none;padding:8px 12px;border-radius:8px 8px 0 0;color:#47525e;font-weight:700;cursor:pointer;box-shadow:none;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.case-tab:focus{outline:3px solid rgba(11,95,255,.12);outline-offset:2px}.case-tab--active{background:linear-gradient(180deg,#fff,#fbfbfb);color:#0b2136;border:1px solid rgba(11,33,64,.06);border-bottom:2px solid #0b5fff;box-shadow:0 -2px #0b214005}.case-tab--active:hover{transform:none}.btn-primary:active,.btn-secondary:active{transform:translateY(-1px) scale(.995)}.panel{max-width:1080px;margin:28px auto;padding:22px 24px;background:#fff;border-radius:8px;box-shadow:0 6px 18px #1414140a}.form-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}@media (max-width: 560px){.form-actions{justify-content:flex-start}.form-actions .btn{width:auto}}.panel-title{margin:0 0 10px;font-size:18px}.firm-values{margin:12px 0 0;padding-left:18px;color:#374252;list-style:disc;line-height:1.6}.firm-values li{margin-bottom:8px}.contact{padding:18px 22px}.contact-grid{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}.contact-address{font-style:normal;color:#2b2f33;font-weight:600}.contact-address .address-line{margin-bottom:4px}.contact-details{margin:0;padding:0}.contact-row{display:flex;gap:12px;align-items:baseline;margin-bottom:10px}.contact-row dt{width:64px;color:#6b6b6b;font-weight:700}.contact-row dd{margin:0;color:#0b3a57}.contact-row a{color:#0b5fff;text-decoration:none}.contact-row a:hover{text-decoration:underline}.contact-note dt{color:#6b6b6b}.contact-note dd{color:#333}@media (max-width: 720px){.contact-grid{grid-template-columns:1fr}.contact-row dt{width:96px}}@media (max-width: 880px){.header-inner{padding:12px 16px}.brand-text .firm-name{font-size:18px}.brand-logo{width:56px;height:56px}}@media (max-width: 720px){.nav-toggle{display:inline-flex;position:fixed;top:12px;right:12px;z-index:100001}.top-nav--desktop{display:none}.top-nav{position:fixed;top:68px;right:12px;left:12px;background-color:#121214fa;background-image:linear-gradient(180deg,#1c1c1efa,#161618fa);border-radius:8px;padding:12px 14px;box-shadow:0 12px 36px #0b21402e;flex-direction:column;gap:12px;transform-origin:top right;max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.2,.9,.2,1),opacity .22s ease;opacity:0;z-index:99999;isolation:isolate;-webkit-backdrop-filter:blur(6px) saturate(120%) brightness(.95);backdrop-filter:blur(6px) saturate(120%) brightness(.95);border:1px solid rgba(255,255,255,.04)}.top-nav.show{max-height:460px;opacity:1}.top-nav a{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.45)}.top-nav a.home-link{background-color:#ffffff0f;color:#fff}.top-nav .nav-cta{color:#111}.top-nav a,.top-nav button.nav-cta{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px}.top-nav .nav-cta{margin-top:6px}.header-inner{align-items:center}.brand{gap:10px}}@media (max-width: 720px){.hero{padding:28px 12px}.hero-grid{grid-template-columns:1fr;gap:18px}.hero-media{display:flex;justify-content:center;align-items:center}.image-frame{display:block;width:100%;max-width:420px;padding:10px;margin:0 auto}.building-image{width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:8px}}.map-frame{height:520px;width:100%}.reveal{opacity:0;transform:translateY(18px) scale(.995);filter:blur(6px);transition:opacity .52s cubic-bezier(.2,.9,.2,1) var(--reveal-delay, 0ms),transform .52s cubic-bezier(.2,.9,.2,1) var(--reveal-delay, 0ms),filter .52s ease var(--reveal-delay, 0ms);will-change:opacity,transform,filter}.reveal--visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.reveal-stagger>*{transition-delay:calc(var(--reveal-delay, 0ms) + (var(--i, 0) * 80ms))}.map-frame iframe{display:block;width:100%;height:100%;border:0}@media (max-width: 920px){.map-frame{height:420px}}@media (max-width: 720px){.map-frame{height:320px}}.panel.location .contact-grid{grid-template-columns:1fr 480px}.panel.location .map-frame{height:480px}@media (max-width: 920px){.panel.location .map-frame{height:460px}}@media (max-width: 720px){.panel.location .contact-grid{grid-template-columns:1fr;gap:14px}.panel.location .map-frame{height:320px}}.contact-form{padding:18px;background:linear-gradient(180deg,#fff,#fbfbfb);border-radius:8px;border:1px solid rgba(20,20,20,.04)}.form-intro{margin:0 0 12px;color:#47525e;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-label{display:block;margin-bottom:10px;font-weight:700;color:#24343f}.form-input,.form-select,.form-textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff;color:#0b2136;font-size:14px}.form-textarea{min-height:120px;resize:vertical}.form-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#374252;margin:10px 0 12px}.form-consent input{margin-top:3px}.form-actions{display:flex;gap:12px;align-items:center;margin-top:8px}.form-errors{background:#fff5f5;border:1px solid #ffd1d1;color:#7a1a1a;padding:8px 12px;border-radius:6px}.form-errors ul{margin:0;padding-left:18px}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.form-actions .btn{width:100%;text-align:center}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b21405c;-webkit-backdrop-filter:blur(6px) saturate(1.06);backdrop-filter:blur(6px) saturate(1.06);z-index:110010;padding:28px}.modal{width:100%;max-width:820px;background:linear-gradient(180deg,#fff,#fbfbfb);border-radius:12px;box-shadow:0 24px 64px #08122047;position:relative;border:1px solid rgba(11,33,64,.06)}@media (max-width: 720px){.modal{max-width:92%;margin:0 auto;border-radius:10px}.modal-body{padding:14px;max-height:calc(100vh - 140px);overflow:auto}}.modal-body{padding:20px}.modal-close{position:absolute;right:12px;top:8px;background:transparent;border:none;font-size:26px;line-height:1;color:#0b214099;cursor:pointer}@media (max-width: 720px){.modal{max-width:100%;border-radius:10px}.modal-body{padding:16px}}.immigration{max-width:1080px;margin:28px auto;padding:22px 24px;background:linear-gradient(180deg,#fff,#fbfbfb);border-radius:8px;box-shadow:0 6px 18px #1414140a;min-height:46vh;display:block}.immigration.hero-bg{background:url(https://images.pexels.com/photos/47086/statue-of-liberty-statue-liberty-usa-47086.jpeg?cs=srgb&dl=pexels-pixabay-47086.jpg&fm=jpg) center right / cover no-repeat;position:relative}.panel.immigration.hero-bg{background:url(https://images.pexels.com/photos/47086/statue-of-liberty-statue-liberty-usa-47086.jpeg?cs=srgb&dl=pexels-pixabay-47086.jpg&fm=jpg) center right / cover no-repeat;position:relative}.immigration.hero-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff47,#ffffff5c);pointer-events:none;border-radius:8px}.immigration.hero-bg>*{position:relative;z-index:1}@media (max-width: 920px){.immigration.hero-bg{background-position:center top;background-size:cover}}@media (max-width: 720px){.immigration{min-height:auto}}.immigration .imm-strong{font-weight:800;color:#0b3a57;margin-bottom:8px}.services-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;color:#333}.services-list li{background:linear-gradient(180deg,#fbfbfb,#fff);padding:12px;border-radius:6px;border:1px solid #f0f0f0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:8px}.service-card{background:linear-gradient(180deg,#fff,#fbfcff);padding:16px;border-radius:8px;border:1px solid rgba(10,10,10,.04);box-shadow:0 6px 20px #0a141e0a;transition:transform .32s cubic-bezier(.22,.9,.25,1),box-shadow .32s ease,border-color .32s ease;will-change:transform,box-shadow}.service-card:hover,.service-card:focus-within{transform:translateY(-8px) scale(1.01);box-shadow:0 18px 48px #0812201f;border-color:#0b5fff1f}.service-card:focus-within{outline:none}.service-card .service-title{transition:color .24s ease,transform .32s cubic-bezier(.22,.9,.25,1)}.service-card:hover .service-title{color:#0b5fff;transform:translateY(-2px)}.top-nav a{position:relative}.top-nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:-6px;height:2px;background:linear-gradient(90deg,#ffd16600,#ffd166f2,#ffd16600);transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(.2,.9,.2,1),opacity .22s ease;opacity:0}.top-nav a:hover:after,.top-nav a:focus:after{transform:scaleX(1);opacity:1}.top-nav a:hover{color:#fff}.hero-title{opacity:0;transform:translateY(8px);animation:fadeUp .76s cubic-bezier(.2,.9,.2,1) .12s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.image-frame.floaty{animation:floaty 6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.btn,.image-frame,.building-image,.service-card,.hero-title,.image-frame.floaty{transition:none!important;animation:none!important;transform:none!important;box-shadow:none!important}.top-nav a:after{display:none}}.admin-root{display:flex;gap:24px;min-height:calc(100vh - 48px);margin:28px 0 0;padding:20px 24px 24px 320px;width:100%;max-width:none;box-sizing:border-box}.admin-sidebar{position:fixed;left:0;top:0;height:100vh;width:300px;box-sizing:border-box;padding:20px;border-radius:0 12px 12px 0;background:linear-gradient(180deg,#0b2136,#0e2a45);color:#e6eef5;box-shadow:6px 12px 36px #0b214024;border:1px solid rgba(255,255,255,.03);z-index:1200;overflow:auto;display:flex;flex-direction:column}.admin-sidebar .sidebar-logo{width:56px;height:56px;object-fit:cover}.admin-sidebar .sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.admin-sidebar .sidebar-brand img{width:56px;height:56px;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px #0b21401f;border:1px solid rgba(255,255,255,.04)}.admin-sidebar h3{margin:0;font-size:16px;font-weight:700;color:#fff}.admin-nav{display:flex;flex-direction:column;gap:8px;margin-top:8px;flex:1 1 auto;overflow:auto;padding-right:6px}.admin-nav a,.admin-nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#cfe8ff;text-decoration:none;border-radius:8px;background:transparent;border:none;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease}.admin-nav a:hover,.admin-nav button:hover{transform:translate(6px);background:#ffffff08;color:#fff}.admin-nav a.active{background:linear-gradient(90deg,#ffd16614,#0b5fff0d);color:#ffd166;box-shadow:inset 0 0 0 1px #ffd16608}.admin-main{flex:1 1 auto;display:flex;flex-direction:column;gap:18px;max-width:1080px;width:100%;margin:0 auto;position:relative;box-sizing:border-box}.admin-actions{display:flex;gap:10px;align-items:center}.admin-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}.card{grid-column:span 12;background:linear-gradient(180deg,#fff,#fbfbfd);border-radius:12px;padding:18px;border:1px solid rgba(20,20,20,.04);box-shadow:0 10px 34px #0b21400f}.card.stats{grid-column:span 4}.card.table-card{grid-column:span 8}.card.activity{grid-column:span 4}.stats-grid{display:flex;gap:12px}.stat{flex:1;padding:12px;border-radius:8px;background:linear-gradient(180deg,#0b5fff0a,#ffd16605);text-align:center}.stat-value{font-size:20px;font-weight:800;color:#0b2136}.stat-label{margin-top:6px;font-size:13px;color:#5b6b74}.admin-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}.admin-table thead th{text-align:left;padding:12px 14px;font-weight:700;color:#0b2136;background:linear-gradient(180deg,rgba(11,33,64,.03),transparent);position:sticky;top:0}.admin-table tbody td{padding:12px 14px;color:#24343f;border-bottom:1px solid rgba(11,33,64,.06)}.admin-table tbody tr:hover{background:#0b214008}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.activity-list li{padding:10px 12px;border-radius:8px;background:linear-gradient(180deg,#fff,#fcfcfd);border:1px solid rgba(20,20,20,.03);box-shadow:0 6px 16px #0b21400a;color:#374252;font-size:14px}.btn-small{padding:8px 12px;font-size:13px;border-radius:8px}.btn-ghost{background:transparent;border:1px solid rgba(11,33,64,.06);color:#0b2136}.sidebar-footer{border-top:1px solid rgba(255,255,255,.04);padding-top:12px}.sidebar-footer .btn{display:block;width:100%;box-sizing:border-box;text-align:center;background:#ffd166;color:#0b2136;border:none;font-weight:800;padding:10px 12px;border-radius:8px;box-shadow:0 6px 18px #0b21401f}.sidebar-footer .btn:hover,.sidebar-footer .btn:focus{background:#ffcf3d;color:#09202a;transform:none;box-shadow:0 10px 28px #0b214024}.sidebar-footer .btn+.btn{margin-top:8px}.sidebar-footer .btn-secondary{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;margin-top:8px}.sidebar-footer .btn-secondary{background:transparent;color:#e6eef5;border:1px solid rgba(255,255,255,.06)}.sidebar-footer .btn-secondary:hover{background:#ffffff08;color:#fff}@media (max-width: 980px){.admin-root{padding-left:20px;padding-right:20px;margin:18px}.admin-sidebar{position:static;width:100%;border-radius:10px;box-shadow:0 10px 30px #0b214014}.card.stats,.card.activity{grid-column:span 6}.card.table-card{grid-column:span 12}}@media (max-width: 560px){.admin-grid{grid-template-columns:1fr}.card.stats,.card.activity,.card.table-card{grid-column:span 12}}.admin-create-client.panel{max-width:980px;margin:6px auto;padding:18px;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfbfd);box-shadow:0 12px 36px #0b21400f}.admin-create-client .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-create-client .form-label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#394a52;min-width:0}.admin-create-client .form-input,.admin-create-client .form-select,.admin-create-client .form-textarea{box-sizing:border-box;width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff;box-shadow:inset 0 1px #fff9;font-size:14px;color:#0b2136}.admin-create-client .form-textarea{min-height:84px;resize:vertical}.admin-create-client fieldset{border:none;padding:0;margin:8px 0 0}.admin-create-client legend{font-weight:700;margin-bottom:8px;color:#0b2136}.admin-create-client fieldset>.form-grid{min-width:0}.admin-create-client .form-input,.admin-create-client .form-select{min-width:0}.admin-create-client .form-actions{display:flex;gap:10px;align-items:center}.admin-create-client .form-errors{background:linear-gradient(180deg,#fff3f2,#fff);border:1px solid rgba(200,40,32,.06);padding:10px;border-radius:8px;color:#7a1f1f}@media (max-width: 900px){.admin-create-client .form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.admin-create-client .form-grid{grid-template-columns:1fr}.admin-root{padding:12px}.admin-sidebar{display:none}}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:8px}.client-card{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(11,33,64,.06);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 26px #0b21400f}.client-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.client-name{font-weight:800;color:#0b2136}.client-type{font-size:13px;color:#5b6b74;background:#0b214008;padding:4px 8px;border-radius:8px}.client-card-body{color:#2d4350;font-size:14px}.client-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.client-card .muted{color:#6b7f88;font-size:13px}.btn-ghost.active,.btn-ghost:active{background:#0b5fff0f;color:#0b5fff;transform:translateY(-2px)}.clients-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.submenu{max-width:1080px;margin:0 auto 18px;padding:0 8px}.submenu-tabs{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;margin-bottom:0;border-bottom:1px solid rgba(11,33,64,.06);padding:0 4px;overflow-x:auto}.submenu-tab{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;padding:10px 14px;border-radius:4px 4px 0 0;font-weight:700;font-size:14px;color:#4a6571;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;border-bottom:3px solid transparent;margin-bottom:-1px}.submenu-tab:hover,.submenu-tab:focus{color:#0b5fff;outline:none}.submenu-tab:focus-visible{outline:3px solid rgba(11,95,255,.12);outline-offset:2px}.submenu-tab.active{color:#0b5fff;border-bottom-color:#0b5fff;background:linear-gradient(180deg,#0b5fff05,#0b5fff03);box-shadow:none;position:relative;top:1px}.submenu-panel{background:transparent;padding:18px 4px 20px}.events-table{width:100%;border-collapse:collapse;font-size:14px}.events-table thead th{text-align:left;padding:8px 10px;font-weight:700;color:#0b2136;background:transparent;border-bottom:1px solid rgba(11,33,64,.06)}.events-table tbody td{padding:10px;border-bottom:1px solid rgba(11,33,64,.04);color:#2d4350;vertical-align:middle}.events-table tbody tr:hover{background:#0b214005}.events-table .actions{width:160px}.events-table .duration{white-space:nowrap}.schedule-grid .events-table td .btn{padding:6px 10px}.schedule-grid .events-table td .btn+.btn{margin-left:8px}.schedule-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (max-width: 980px){.schedule-grid{grid-template-columns:1fr}}@media (max-width: 720px){.schedule-grid{grid-template-columns:1fr}}.schedule-card{border:1px solid rgba(11,33,64,.06);border-radius:8px;padding:10px;background:linear-gradient(180deg,#fff,#fbfbfd);box-shadow:0 8px 22px #0b21400a}.event-form-panel{padding:10px 6px}.event-form-panel .event-note{color:#5b6b71;font-size:13px}.event-form-grid{display:grid;grid-template-columns:1fr 220px 220px;gap:12px;align-items:start}.event-form-grid .full{grid-column:1 / -1}.event-form-grid .form-label{display:block;margin-bottom:6px;font-weight:700;color:#394a52}.event-form-grid .form-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff;color:#0b2136}.event-form-grid textarea.form-input{min-height:120px;resize:vertical}.event-form-panel .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.event-form-panel .btn{padding:8px 12px;border-radius:8px}.event-form-panel .btn-primary{padding:9px 14px}@media (max-width: 720px){.event-form-grid{grid-template-columns:1fr}.event-form-grid .full{grid-column:auto}}.schedule-grid .panel{box-sizing:border-box;width:100%}.schedule-grid .events-table{width:100%;table-layout:fixed}.schedule-grid .events-table th,.schedule-grid .events-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-grid .events-table th:first-child,.schedule-grid .events-table td:first-child{white-space:normal}.schedule-grid .events-table td.actions,.schedule-grid .events-table th.actions{white-space:nowrap;width:160px}.login-wrapper{display:flex;align-items:center;justify-content:center;padding:48px 20px;min-height:100vh;box-sizing:border-box}.login-panel{display:flex;flex-direction:row;gap:0;align-items:stretch;max-width:820px;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 28px 80px #0b21402e;border:1px solid rgba(11,33,64,.06)}.login-brand{width:260px;padding:28px 20px;background:linear-gradient(180deg,#0b2136,#0e2a45);color:#e6eef5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.login-logo{width:88px;height:88px;object-fit:contain;border-radius:8px;box-shadow:0 8px 24px #00000047;border:1px solid rgba(255,255,255,.04)}.login-title{margin:0 0 6px;font-size:20px;color:#fff}.login-sub{margin-top:6px;color:#ffffffd9;font-size:13px;text-align:center}.login-form{flex:1;padding:28px;background:linear-gradient(180deg,#fff,#fbfdff)}.login-form .form-input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1px solid rgba(11,33,64,.08);background:#fff}.login-form label{font-weight:700;color:#0b2136;font-size:13px}.login-actions{display:flex;gap:12px;align-items:center;margin-top:16px}.login-help{margin-top:10px;font-size:13px;color:#6b7f88}.btn-primary{background:linear-gradient(90deg,#1765ff,#ffd166);color:#08203a;box-shadow:0 10px 30px #1765ff29}.btn-secondary{background:transparent;color:#0b5fff;border:1px solid rgba(11,95,255,.12)}.login-form .form-input:focus{outline:none;box-shadow:0 8px 24px #0b5fff14;border-color:#0b5fff66}@media (max-width: 760px){.login-panel{flex-direction:column;max-width:520px}.login-brand{width:100%;padding:20px}.login-form{padding:20px}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:28px 20px;box-sizing:border-box}.login-panel{width:100%;max-width:480px;padding:28px;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfbfb);border:1px solid rgba(20,20,20,.04);box-shadow:0 18px 48px #0b21401f;display:flex;flex-direction:column;gap:12px}.login-brand{display:flex;align-items:center;gap:12px;justify-content:center}.login-logo{width:72px;height:72px;object-fit:contain;border-radius:8px;box-shadow:0 6px 18px #0b214014}.login-sub{color:#47525e;font-size:14px}.login-form{padding-top:6px}.login-title{margin:0 0 6px;text-align:center}.login-help{margin:0 0 14px;text-align:center;color:#47525e}.login-actions{display:flex;gap:12px;justify-content:center;margin-top:12px}.login-actions .btn{min-width:120px}@media (max-width: 480px){.login-panel{padding:20px;max-width:100%;border-radius:10px}.login-logo{width:56px;height:56px}.login-actions{flex-direction:column}.login-actions .btn{width:100%}}}.setup-panel{display:flex;gap:0;max-width:960px;overflow:hidden;padding:0;border-radius:14px;box-shadow:0 30px 80px #0b214024}.setup-brand{width:300px;background:linear-gradient(180deg,#06172b,#0b2136 60%,#0e2a45);color:#e6eef5;padding:36px 22px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.setup-logo{width:82px;height:82px;object-fit:contain;border-radius:12px;box-shadow:0 14px 40px #02081773;border:1px solid rgba(255,255,255,.04)}.setup-brand-title{margin:0;font-size:18px;font-weight:700;letter-spacing:.2px}.setup-brand-sub{font-size:13px;color:#ffffffe0;line-height:1.4;max-width:200px}.setup-form{flex:1;padding:30px 34px;background:linear-gradient(180deg,#fff,#fbfdff)}.setup-form-inner{max-width:540px;margin-top:6px}.setup-form .form-input{width:100%;padding:14px;border-radius:10px;border:1px solid rgba(11,33,64,.08);box-shadow:inset 0 1px #ffffffb3;font-size:15px}.setup-form label{display:block;margin-bottom:8px;color:#394a52;font-weight:700}.setup-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-form .field-row>div{min-width:0}.setup-form .form-input{box-sizing:border-box;max-width:100%;display:block}.setup-form .btn-primary{padding:12px 18px;font-size:15px;border-radius:10px;background:linear-gradient(90deg,#1567ff,#ffd166);color:#08203a;box-shadow:0 12px 36px #1567ff1f}.setup-form .btn-secondary{padding:10px 14px;border-radius:10px}@media (max-width: 760px){.setup-panel{flex-direction:column;border-radius:12px}.setup-brand{width:100%;padding:20px}.setup-form{padding:18px}.setup-form-inner{max-width:100%}.setup-form .field-row{grid-template-columns:1fr;gap:10px}}@media (max-width: 420px){.setup-form{padding:14px}.setup-brand{padding:16px}.setup-form .form-input{padding:12px}}.signed-in-user{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,#0b21400a,#ffffff05);border:1px solid rgba(11,33,64,.06);padding:8px 10px;border-radius:12px;color:#0b2136}.signed-in-user .avatar{width:44px;height:44px;border-radius:999px;background:linear-gradient(90deg,#1567ff,#ffd166);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 6px 18px #0b21401f}.signed-in-meta{display:flex;flex-direction:column}.signed-in-name{font-weight:700;font-size:13px;color:#0b2136}.signed-in-email{font-size:12px;color:#41545a}.admin-sidebar .signed-in-user,.site-header .signed-in-user,.sidebar-footer .signed-in-user{color:#e6eef5}.admin-sidebar .signed-in-user .signed-in-name,.site-header .signed-in-user .signed-in-name{color:#fff}.admin-sidebar .signed-in-user .signed-in-email,.site-header .signed-in-user .signed-in-email{color:#e6eef5d9}@media (max-width: 760px){.setup-panel{flex-direction:column}.setup-brand{width:100%;padding:18px}.setup-form{padding:18px}}.clients-toolbar .form-select:focus{outline:none;border-color:#0b5fff80;box-shadow:0 6px 20px #0b5fff0f}.clients-toolbar .toolbar-actions{display:flex;gap:8px}@media (max-width: 720px){.clients-toolbar{flex-direction:column;align-items:stretch}.clients-toolbar .form-select{width:100%}.clients-toolbar .toolbar-actions{justify-content:flex-end}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02081773;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.modal-dialog{background:#fff;border-radius:12px;box-shadow:0 24px 80px #02081752;max-width:820px;width:100%;max-height:calc(100vh - 80px);overflow:hidden;display:flex;flex-direction:column;position:relative}.modal-header{padding:18px 20px;border-bottom:1px solid rgba(11,33,64,.04)}.modal-title{margin:0;font-size:18px;color:#0b2136}.modal-sub{margin:6px 0 0;font-size:13px;color:#5b6b74}.modal-body{padding:14px 18px;overflow:auto}.modal-close{position:absolute;right:12px;top:8px;background:transparent;border:none;font-size:20px;line-height:1;color:#6b7f88;cursor:pointer}.form-textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1px solid rgba(11,33,64,.08);font-size:14px;min-height:140px;resize:vertical}.modal-footer{padding:12px 16px;border-top:1px solid rgba(11,33,64,.04);display:flex;justify-content:flex-end;gap:8px}.modal-actions{display:flex;gap:8px}.modal-charcount{margin-left:auto;font-size:12px;color:#6b7f88;align-self:center}@media (max-width: 520px){.modal-dialog{max-width:100%;border-radius:10px}}.note-badge{display:inline-block;font-size:12px;padding:2px 8px;background:linear-gradient(90deg,#f3f6f8,#eef4f9);color:#0b2136;border:1px solid rgba(11,33,64,.06);border-radius:999px;margin-left:6px}.modal-dialog .reminders-modal{display:block;max-width:680px;width:100%;padding:14px 18px;box-sizing:border-box;margin:12px auto}.modal-dialog .reminders-modal .reminders-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(11,33,64,.04)}.modal-dialog .reminders-modal .reminders-title{margin:0;font-size:20px;font-weight:700;color:#0b2136}.modal-dialog .reminders-modal .reminders-case{font-size:13px;color:#6b7f88;font-weight:600}.modal-dialog .reminders-modal .reminders-form{display:grid;grid-template-columns:240px 1fr auto;gap:10px;align-items:center;margin-top:12px}.modal-dialog .reminders-modal .reminder-input,.modal-dialog .reminders-modal .reminder-msg-input{height:44px;padding:10px 12px;border-radius:8px;border:1px solid rgba(11,33,64,.08);background:#fff;box-shadow:0 1px #fff9 inset,0 1px 2px #0b214008;font-size:14px;box-sizing:border-box}.modal-dialog .reminders-modal .reminder-input{width:100%;min-width:140px}.modal-dialog .reminders-modal .reminder-msg-input{width:100%;min-width:120px}.modal-dialog .reminders-modal .reminder-actions{display:flex;gap:8px;align-items:center}.modal-dialog .reminders-modal .reminder-actions .btn{height:40px;padding:8px 12px}.modal-dialog .reminders-modal .reminder-actions .btn-primary{padding:8px 14px}.modal-dialog .reminders-modal .reminders-list{margin-top:12px;display:block}.modal-dialog .reminders-modal .reminder-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;border:1px solid rgba(11,33,64,.06);background:linear-gradient(180deg,#fff,#fbfbfb)}.modal-dialog .reminders-modal .reminder-item+.reminder-item{margin-top:8px}.modal-dialog .reminders-modal .reminder-item .meta{display:flex;flex-direction:column;gap:4px}.modal-dialog .reminders-modal .reminder-item .title{font-weight:700;color:#0b2136}.modal-dialog .reminders-modal .reminder-item .when{font-size:13px;color:#5b6b71}.modal-dialog .reminders-modal .reminder-item .reminder-actions{display:flex;gap:8px}@media (max-width: 720px){.modal-dialog .reminders-modal{padding:12px}.modal-dialog .reminders-modal .reminders-form{grid-template-columns:1fr;grid-auto-rows:auto}.modal-dialog .reminders-modal .reminder-actions{justify-content:flex-start}.modal-dialog .reminders-modal .reminder-actions .btn{width:auto}}html,body,#root{height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{background:#0000001a;padding:.2rem .4rem;border-radius:4px}
