:root{--green:#0b5d44;--green2:#0f7a59;--green3:#eaf6f1;--gold:#e8b627;--navy:#16344d;--ink:#152331;--muted:#687887;--line:#dfe7e3;--soft:#f4f8f6;--white:#fff;--red:#c63c3c;--orange:#d97a13;--shadow:0 18px 50px rgba(20,55,42,.10);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 36px));margin:auto}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;background:#eef3f1;color:var(--ink)}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 10px 24px rgba(11,93,68,.2)}.btn.outline-light{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff}.btn.light{background:#eef4f1;color:var(--green)}.btn.red{background:#fdecec;color:#a82e2e}.btn.orange{background:#fff0dc;color:#a85a06}.btn.green{background:#e5f6ee;color:#0a6848}.btn.sm{padding:8px 11px;border-radius:9px;font-size:12px}.btn.full{width:100%}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.input,select,textarea{width:100%;border:1px solid #d5e0db;background:#fff;color:var(--ink);padding:12px 13px;border-radius:11px;font:inherit;outline:none;transition:.2s}.input:focus,select:focus,textarea:focus{border-color:#5ba68d;box-shadow:0 0 0 4px rgba(11,93,68,.08)}.readonly{background:#f5f8f7}.field label{display:block;font-size:13px;font-weight:800;margin:0 0 7px;color:#304455}.field label em{color:var(--red);font-style:normal}.alert{max-width:900px;margin:0 auto 20px;padding:14px 17px;border-radius:14px;font-size:14px}.alert.error{background:#fff0f0;border:1px solid #ffd0d0;color:#9b2e2e}.alert.success{background:#ecf8f2;border:1px solid #bee8d4;color:#126443}.booking-code{letter-spacing:.7px;color:#0b5d44}.section-kicker{display:inline-block;font-size:12px;letter-spacing:1.8px;font-weight:900;color:var(--green);margin-bottom:8px}.section-title{margin-bottom:28px}.section-title.center{text-align:center}.section-title h2,.info-grid h2{font-size:clamp(28px,4vw,42px);line-height:1.12;margin:0 0 10px;color:#17374c}.section-title p,.lead{color:var(--muted);max-width:720px;margin:0}.section-title.center p{margin-inline:auto}
/* public */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,231,227,.9)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.public-brand{display:flex;align-items:center;gap:12px}.public-brand img{width:46px;height:54px;object-fit:contain}.public-brand div{display:flex;flex-direction:column}.public-brand strong{font-size:15px;color:var(--green);letter-spacing:.3px}.public-brand span{font-size:11px;color:var(--muted)}.public-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:750}.public-nav a{color:#38505f}.public-nav a:hover{color:var(--green)}.public-nav .nav-admin{padding:10px 16px;border-radius:10px;background:var(--green3);color:var(--green)}.nav-toggle{display:none;border:0;background:#edf5f1;border-radius:9px;width:42px;height:42px;font-size:21px;color:var(--green)}
.hero-section{position:relative;overflow:hidden;background:linear-gradient(125deg,#063d30 0%,#0a6147 55%,#0d7555 100%);color:#fff}.hero-pattern{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.08),transparent 30%),radial-gradient(circle at 90% 80%,rgba(232,182,39,.16),transparent 30%)}.hero-grid{position:relative;z-index:1;min-height:600px;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center;padding-block:68px}.hero-kicker{display:inline-flex;padding:7px 11px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);border-radius:999px;font-weight:800;font-size:11px;letter-spacing:1.5px}.hero-copy h1{font-size:clamp(42px,5.5vw,67px);line-height:1.03;margin:18px 0 20px;letter-spacing:-1.7px}.hero-copy h1 span{color:#f7d45e}.hero-copy>p{font-size:18px;color:rgba(255,255,255,.82);max-width:720px}.hero-actions{display:flex;gap:12px;margin-top:30px}.hero-meta{display:flex;gap:34px;margin-top:38px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px}.hero-meta div{display:flex;flex-direction:column}.hero-meta b{font-size:16px}.hero-meta span{font-size:11px;color:rgba(255,255,255,.64)}.hero-card{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px);padding:35px 26px;border-radius:28px;text-align:center;box-shadow:0 28px 70px rgba(0,0,0,.18)}.crest-ring{width:172px;height:172px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#fff;padding:19px;box-shadow:0 10px 30px rgba(0,0,0,.15)}.crest-ring img{max-height:136px}.hero-card h3{margin:0 0 4px;font-size:21px}.hero-card p{margin:0;color:rgba(255,255,255,.7);font-size:13px}.availability-dot{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-size:11px;background:rgba(0,0,0,.15);padding:8px 11px;border-radius:999px}.availability-dot i{width:8px;height:8px;border-radius:50%;background:#8ff0bd;box-shadow:0 0 0 4px rgba(143,240,189,.12)}
.info-section{padding:86px 0;background:#fff}.info-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.info-grid h2{margin:0 0 14px}.info-grid .lead{font-size:17px;line-height:1.7}.info-cards{display:grid;gap:14px}.mini-card{display:flex;gap:16px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fbfdfc}.mini-card>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--green3);color:var(--green);font-weight:900;font-size:12px;flex:0 0 auto}.mini-card b{font-size:15px}.mini-card p{margin:3px 0 0;color:var(--muted);font-size:13px}
.booking-section{padding:86px 0;background:var(--soft)}.booking-layout{display:grid;grid-template-columns:1fr 310px;gap:22px;align-items:start}.booking-form{padding:28px}.form-section-label{font-size:12px;font-weight:900;letter-spacing:1.2px;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:10px;margin:0 0 18px}.form-section-label:not(:first-of-type){margin-top:26px}.form-grid{display:grid;gap:16px}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:span 2}.form-hint-card{background:#edf6f2;border:1px dashed #b7d8c9;border-radius:12px;padding:10px 13px;display:flex;flex-direction:column;justify-content:center}.form-hint-card b{font-size:12px;color:var(--green)}.form-hint-card span{font-size:14px;font-weight:800}.consent{display:flex;align-items:flex-start;gap:9px;margin:22px 0;font-size:12px;color:#647480}.consent input{margin-top:3px}.booking-note{padding:26px;position:sticky;top:98px}.note-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.booking-note h3{margin:13px 0 17px}.booking-note ol{list-style:none;padding:0;margin:0;counter-reset:steps}.booking-note li{position:relative;padding:0 0 20px 37px;counter-increment:steps}.booking-note li:before{content:counter(steps);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef6f2;color:var(--green);font-size:11px;font-weight:900}.booking-note li:not(:last-child):after{content:"";position:absolute;left:12px;top:26px;width:1px;height:calc(100% - 25px);background:#d6e4de}.booking-note li b,.booking-note li span{display:block}.booking-note li b{font-size:13px}.booking-note li span{font-size:11px;color:var(--muted);margin-top:2px}.contact-box{margin-top:10px;background:#f7faf8;padding:12px;border-radius:12px}.contact-box small,.contact-box b{display:block}.contact-box b{font-size:13px;color:var(--green)}
.schedule-section{padding:86px 0;background:#fff}.schedule-grid{display:grid;grid-template-columns:1fr 380px;gap:22px}.schedule-card,.upcoming-card{padding:24px}.schedule-filter{display:flex;gap:12px;align-items:end;padding-bottom:19px;border-bottom:1px solid var(--line)}.schedule-filter>div{flex:1}.schedule-filter label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.schedule-date-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0}.schedule-date-title>div:first-child{display:flex;flex-direction:column}.schedule-date-title b{font-size:17px}.schedule-date-title span{font-size:11px;color:var(--muted)}.legend{display:flex;gap:13px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:50%}.lg-free{background:#24a56f}.lg-pending{background:#e59b32}.lg-used{background:#c64747}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{min-height:76px;border-radius:13px;padding:11px;border:1px solid;display:flex;flex-direction:column}.slot b{font-size:13px}.slot span{font-size:11px;font-weight:800}.slot small{font-size:10px;margin-top:5px;opacity:.76}.slot.free{background:#eef9f4;border-color:#c8ebdc;color:#176447}.slot.pending{background:#fff6e7;border-color:#f3d7aa;color:#925b15}.slot.used{background:#fff0f0;border-color:#efc2c2;color:#963737}.card-head{display:flex;align-items:center;justify-content:space-between}.card-head h3{margin:0}.upcoming-list{display:grid;gap:10px;margin-top:15px}.upcoming-item{display:flex;gap:13px;padding:13px;border:1px solid var(--line);border-radius:13px}.date-box{width:47px;height:51px;border-radius:10px;background:var(--green3);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.date-box b{font-size:18px;color:var(--green);line-height:1}.date-box span{font-size:9px;color:var(--green);font-weight:900;margin-top:3px}.upcoming-item>div:last-child{min-width:0}.upcoming-item b{font-size:12px}.upcoming-item p{font-size:11px;color:#536570;margin:3px 0;line-height:1.35}.upcoming-item small{font-size:10px;color:var(--muted)}.empty-state{text-align:center;padding:38px 16px;color:var(--muted)}.empty-state>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:var(--green3);color:var(--green);font-size:22px}.empty-state b{display:block;color:var(--ink)}.empty-state p{font-size:12px}
.gallery-section{padding:86px 0;background:var(--soft)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-item figcaption{padding:12px 14px;font-size:12px;font-weight:800}.gallery-empty{text-align:center;padding:55px 20px;border:1px dashed #bfd1c8;border-radius:24px;background:#fff}.gallery-placeholder{font-size:44px;color:#95ad9f}.gallery-empty h3{margin:8px 0 3px}.gallery-empty p{margin:0;color:var(--muted);font-size:13px}.public-footer{background:#102f27;color:#fff;padding:34px 0 16px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:47px;height:54px;object-fit:contain}.footer-brand div,.footer-grid>div{display:flex;flex-direction:column}.footer-grid b{font-size:13px}.footer-grid span{font-size:11px;color:rgba(255,255,255,.62)}.footer-links{flex-direction:row!important;gap:17px!important;font-size:11px;color:rgba(255,255,255,.74)}.footer-bottom{margin-top:24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:rgba(255,255,255,.45)}
/* Login */
.login-page{min-height:100vh;background:linear-gradient(120deg,#eaf5f0,#f8fbfa);display:grid;place-items:center;padding:24px}.login-shell{width:min(950px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(20,55,42,.15)}.login-hero{background:linear-gradient(145deg,#073f31,#0d7657);color:#fff;padding:46px;position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(232,182,39,.12);right:-120px;bottom:-160px}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:70px}.login-logo img{width:60px;height:70px;object-fit:contain}.login-logo div{display:flex;flex-direction:column}.login-logo b{font-size:17px}.login-logo span{font-size:11px;color:rgba(255,255,255,.68)}.login-hero h1{font-size:37px;line-height:1.12;margin:0 0 14px}.login-hero p{color:rgba(255,255,255,.73)}.login-panel{padding:46px}.login-panel .section-kicker{margin-bottom:5px}.login-panel h2{margin:0 0 6px}.login-panel>p{margin:0 0 23px;color:var(--muted);font-size:13px}.login-panel .field{margin-bottom:15px}.password-wrap{position:relative}.password-wrap .input{padding-right:50px}.password-toggle{position:absolute;right:8px;top:8px;border:0;background:#edf4f1;border-radius:8px;width:34px;height:34px;cursor:pointer}.login-back{display:block;text-align:center;font-size:12px;color:var(--green);font-weight:800;margin-top:16px}
/* Admin */
.admin-body{background:#f2f6f4}.admin-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#0d3329;color:#fff;padding:20px 14px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:11px;padding:7px 8px 23px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand img{width:42px;height:49px;object-fit:contain}.admin-brand div{display:flex;flex-direction:column}.admin-brand strong{font-size:13px}.admin-brand span{font-size:9px;color:rgba(255,255,255,.58)}.menu{padding-top:20px;display:grid;gap:6px}.menu-label{font-size:9px;letter-spacing:1.5px;color:rgba(255,255,255,.42);padding:9px 11px 4px}.menu a{display:flex;gap:11px;align-items:center;padding:11px;border-radius:11px;color:rgba(255,255,255,.72);font-size:12px;font-weight:700}.menu a:hover,.menu a.active{background:rgba(255,255,255,.1);color:#fff}.menu a i{width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-style:normal}.menu-spacer{flex:1}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.admin-main{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 25px;position:sticky;top:0;z-index:30}.hamburger{display:none;border:0;background:#edf4f1;border-radius:9px;width:40px;height:40px}.top-title{flex:1}.top-title h1{font-size:20px;margin:0}.top-title p{font-size:10px;color:var(--muted);margin:1px 0 0}.admin-user{text-align:right}.admin-user b{display:block;font-size:12px}.admin-user span{display:block;font-size:10px;color:var(--muted)}.admin-content{padding:25px}.admin-content>.alert{max-width:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h2{margin:0 0 3px;font-size:25px}.page-head p{margin:0;color:var(--muted);font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat-card{padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(20,55,42,.05)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:10px}.stat-card strong{display:block;font-size:29px;color:var(--green);margin:5px 0}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.pad{padding:20px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#71817b;background:#f7faf8}.table th,.table td{padding:12px 11px;border-bottom:1px solid #e6ece9;text-align:left;vertical-align:top}.table td{font-size:12px}.table small{color:var(--muted)}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.badge.green{background:#e6f7ef;color:#0d704d}.badge.red{background:#fdecec;color:#a82d2d}.badge.orange{background:#fff0db;color:#aa5b07}.badge.gray{background:#edf1ef;color:#5f6c66}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters .field{min-width:150px;flex:1}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-actions form{margin:0}.empty{padding:28px!important;text-align:center!important;color:var(--muted)}.admin-list{display:grid;gap:10px}.admin-list-item{padding:13px;border:1px solid var(--line);border-radius:12px}.admin-list-item b{font-size:12px}.admin-list-item p{font-size:11px;color:var(--muted);margin:3px 0}.admin-list-item small{font-size:10px;color:#73847d}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-box{background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:11px}.detail-box small{display:block;color:var(--muted);font-size:9px}.detail-box b{display:block;font-size:12px;margin-top:2px}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-gallery-item{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.admin-gallery-meta{padding:10px}.admin-gallery-meta b{display:block;font-size:12px;margin-bottom:7px}.upload-drop{padding:23px;border:1px dashed #b8d1c5;border-radius:15px;background:#f8fbf9}.settings-form{max-width:820px}.settings-form .field{margin-bottom:14px}.admin-footer{padding:20px 25px;color:#84938c;font-size:10px;text-align:center}
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr .52fr;gap:35px}.schedule-grid{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.booking-note{position:static}.admin-shell{grid-template-columns:220px 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(100% - 26px,1180px)}.nav-wrap{height:68px}.public-brand img{width:38px;height:45px}.public-brand strong{font-size:12px}.public-brand span{font-size:9px}.nav-toggle{display:block}.public-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 18px 18px;flex-direction:column;align-items:stretch;gap:3px}.public-nav.open{display:flex}.public-nav a{padding:10px}.hero-grid{min-height:auto;grid-template-columns:1fr;padding:54px 0}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:15px}.hero-meta{gap:15px;justify-content:space-between}.hero-card{display:none}.info-grid{grid-template-columns:1fr;gap:30px}.info-section,.booking-section,.schedule-section,.gallery-section{padding:64px 0}.form-grid.cols-2,.form-grid.cols-3{grid-template-columns:1fr}.span-2{grid-column:auto}.slot-grid{grid-template-columns:repeat(2,1fr)}.schedule-date-title{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;gap:18px}.footer-links{flex-wrap:wrap}.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-panel{padding:30px 24px}.admin-shell{display:block}.sidebar{position:fixed;left:-275px;width:255px;z-index:60;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 50px #0002}.hamburger{display:block}.topbar{padding:0 14px}.admin-content{padding:15px}.page-head{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.mobile-card-table thead{display:none}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block;width:100%}.mobile-card-table tr{padding:10px;border-bottom:1px solid var(--line)}.mobile-card-table td{border:0!important;padding:6px 8px!important;padding-left:43%!important;position:relative}.mobile-card-table td:before{content:attr(data-label);position:absolute;left:8px;width:35%;font-size:9px;font-weight:900;color:#71817b;text-transform:uppercase}.detail-grid{grid-template-columns:1fr 1fr}.admin-gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.hero-copy h1{font-size:36px}.hero-actions{flex-direction:column}.hero-meta{display:grid;grid-template-columns:1fr 1fr}.hero-meta div:last-child{grid-column:span 2}.slot-grid,.gallery-grid,.admin-gallery-grid{grid-template-columns:1fr}.schedule-filter{align-items:stretch;flex-direction:column}.stat-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.booking-form{padding:19px}}

/* ===== Enhancement update Sept 2026 ===== */
.public-nav a{font-size:16px;font-weight:800;padding:12px 16px;border-radius:14px}
.public-nav .nav-admin{padding:12px 22px}
.section-title h2,.info-copy h2{font-size:38px;line-height:1.15}
.section-title p,.lead{font-size:16px;line-height:1.8}
.hero-copy h1{font-size:60px;line-height:1.06}
.hero-copy>p{font-size:17px;max-width:690px}
.hero-card-modern{background:linear-gradient(180deg,#ffffff,#f2faf6);border:1px solid #dbeae1;position:relative}
.hero-card-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.hero-card-strip div{background:#f5faf7;border:1px solid #deece3;padding:14px;border-radius:14px}
.hero-card-strip small{display:block;color:#6c7e76;font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px}
.hero-card-strip b{font-size:14px;color:#0d4f3d}
.info-copy{display:grid;gap:16px}
.info-highlight{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-highlight div{background:#f6fbf8;border:1px solid #dbeae1;border-radius:18px;padding:18px}
.info-highlight b{display:block;font-size:16px;margin-bottom:6px;color:#0b5d44}
.info-highlight span{color:#5f6f69;font-size:14px;line-height:1.6}
.modern-cards{gap:16px}
.modern-cards .mini-card{padding:22px;border-radius:22px;border:1px solid #dfe9e4;box-shadow:0 15px 35px rgba(10,55,40,.05)}
.modern-cards .mini-card span{width:44px;height:44px;font-size:14px}
.modern-cards .mini-card b{font-size:18px}
.modern-cards .mini-card p{font-size:14px;line-height:1.7}
.booking-form-modern,.booking-note-modern{border:1px solid #dfe9e4;box-shadow:0 22px 50px rgba(17,63,47,.08);border-radius:28px;background:linear-gradient(180deg,#ffffff,#fbfdfc)}
.booking-form-modern{padding:34px}
.booking-note-modern{padding:32px;background:linear-gradient(180deg,#ffffff,#f2f8f5)}
.form-section-label{font-size:16px;letter-spacing:.7px}
.field label{font-size:15px;font-weight:800;color:#143a31;margin-bottom:9px}
.input,.input[type="date"],.input[type="time"],select.input,textarea.input{min-height:58px;font-size:16px;border-radius:16px;border:1px solid #cadbd2;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
textarea.input{min-height:132px;padding-top:15px}
.readonly{background:#f4f8f6}
.form-hint-card{min-height:58px;border-radius:18px;background:#f6fbf8;border:1px solid #dce9e1;padding:16px}
.form-hint-card b{font-size:14px;color:#0b5d44}
.form-hint-card span{font-size:14px;line-height:1.6;color:#5f6f69}
.consent span{font-size:14px;line-height:1.6}
.btn{font-size:15px;border-radius:14px}
.btn.full{min-height:60px;font-size:20px;font-weight:900;border-radius:18px}
.booking-note-modern h3{font-size:30px;margin:10px 0 18px}
.booking-note-modern ol li{margin-bottom:16px}
.booking-note-modern ol li b{font-size:16px}
.booking-note-modern ol li span{font-size:14px;line-height:1.6}
.note-icon{width:48px;height:48px;font-size:24px}
.contact-box{padding:15px 16px;border-radius:16px}
.contact-box small{font-size:12px}
.contact-box b{font-size:16px}
.schedule-card,.upcoming-card,.gallery-item,.gallery-empty{border:1px solid #deebe3;box-shadow:0 18px 40px rgba(10,50,38,.06)}
.schedule-date-title b{font-size:24px}
.schedule-date-title span{font-size:14px}
.slot b{font-size:14px}
.slot span{font-size:13px}
.slot small{display:block;margin-top:6px;color:#45635a;font-size:12px;line-height:1.5}
.upcoming-item b{font-size:16px}
.upcoming-item p{font-size:14px;line-height:1.6}
.upcoming-item small{font-size:12px}
.gallery-item figcaption{font-size:14px;padding:15px 16px}
.public-footer .footer-grid b{font-size:15px}
.public-footer .footer-grid span,.footer-links{font-size:12px}

.menu-label{font-size:11px;letter-spacing:2px;padding:10px 12px 5px}
.menu a{padding:13px 14px;font-size:15px;border-radius:14px}
.menu a i{width:33px;height:33px;border-radius:10px}
.admin-brand strong{font-size:18px}
.admin-brand span{font-size:11px}
.top-title h1{font-size:24px}
.top-title p{font-size:12px}
.admin-user b{font-size:14px}.admin-user span{font-size:11px}
.page-head h2{font-size:32px}
.page-head p{font-size:14px;line-height:1.6}
.stat-grid-5{grid-template-columns:repeat(5,1fr)}
.stat-grid-4{grid-template-columns:repeat(4,1fr)}
.stat-card span,.stat-card small{font-size:11px}
.stat-card strong{font-size:32px}
.table th{font-size:11px}.table td{font-size:13px;line-height:1.6}
.badge.blue{background:#e8f1ff;color:#2150a0}
.compact-form{min-width:280px}
.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.compact-grid .span-2{grid-column:span 2}
.compact-form .field{margin-bottom:8px}
.compact-form .field label{font-size:12px;margin-bottom:5px}
.compact-form .input{min-height:44px;font-size:14px;border-radius:12px}
.compact-form .btn{margin-top:6px}

@media(max-width:1180px){.stat-grid-5{grid-template-columns:repeat(3,1fr)}.stat-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.info-highlight{grid-template-columns:1fr}.hero-copy h1{font-size:52px}}
@media(max-width:760px){.public-nav a{font-size:15px}.section-title h2,.info-copy h2{font-size:32px}.hero-copy h1{font-size:42px}.booking-form-modern,.booking-note-modern{padding:22px}.stat-grid-5,.stat-grid-4{grid-template-columns:1fr 1fr}.compact-grid{grid-template-columns:1fr}.compact-grid .span-2{grid-column:auto}.menu a{font-size:14px}.page-head h2{font-size:28px}.top-title h1{font-size:21px}}
@media(max-width:480px){.stat-grid-5,.stat-grid-4{grid-template-columns:1fr}.hero-copy h1{font-size:36px}.booking-form-modern,.booking-note-modern{padding:18px}.section-title h2,.info-copy h2{font-size:28px}}

/* Landing page photo enhancement */
.hero-grid{align-items:center}
.hero-visual-card{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:560px}
.hero-building-frame{position:relative;width:100%;max-width:500px;margin:0;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 26px 80px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.35)}
.hero-building-frame img{display:block;width:100%;height:560px;object-fit:cover}
.hero-building-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,32,26,.04),rgba(6,33,26,.12) 42%,rgba(8,23,20,.78) 100%)}
.hero-building-frame figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 24px 26px;color:#fff;z-index:2}
.photo-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;padding:8px 14px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:1px;margin-bottom:12px}
.hero-building-frame h3{margin:0 0 6px;font-size:29px;line-height:1.15;color:#fff}
.hero-building-frame p{margin:0;color:rgba(255,255,255,.9);font-size:14px;line-height:1.6}
.hero-floating-panel{position:absolute;left:50%;bottom:-36px;transform:translateX(-50%);width:min(88%,430px);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(10,70,50,.08);border-radius:22px;padding:16px;box-shadow:0 18px 40px rgba(13,54,42,.14)}
.hero-floating-panel .availability-dot{color:#24463c;background:#eff7f2}
.hero-floating-panel .availability-dot i{background:#49c788}
.hero-card-strip{margin-top:12px}
.info-grid-elegant{align-items:center;grid-template-columns:1fr .92fr}
.info-photo-card{background:#fff;border:1px solid #dbe8e1;border-radius:28px;overflow:hidden;box-shadow:0 20px 50px rgba(12,53,40,.08)}
.info-photo-wrap{position:relative}
.info-photo-wrap img{display:block;width:100%;height:320px;object-fit:cover}
.info-photo-caption{padding:20px 22px 24px}
.info-photo-caption span{display:inline-block;font-size:12px;font-weight:800;color:#0b5d44;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.info-photo-caption b{display:block;font-size:20px;line-height:1.4;color:#123930;margin-bottom:8px}
.info-photo-caption p{margin:0;font-size:14px;line-height:1.7;color:#61746d}
.info-cards.modern-cards{grid-template-columns:repeat(2,1fr)}

@media(max-width:1180px){.hero-visual-card{min-height:520px}.hero-building-frame img{height:520px}}
@media(max-width:1000px){.info-grid-elegant{grid-template-columns:1fr}.hero-visual-card{min-height:unset;padding-bottom:36px}.hero-building-frame{max-width:100%}.hero-floating-panel{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin-top:14px}}
@media(max-width:760px){.hero-building-frame img{height:360px}.hero-building-frame h3{font-size:23px}.hero-visual-card{padding-bottom:0}.info-cards.modern-cards{grid-template-columns:1fr}.info-photo-wrap img{height:250px}}

/* ===== Elegant professional refresh ===== */
body{background:#f5f8f6}
.public-page{background:#fff}
.section-kicker.light{color:#dfeee7;margin-bottom:10px}
.hero-section-logo{background:radial-gradient(circle at top right,rgba(232,182,39,.18),transparent 24%),linear-gradient(135deg,#083e31 0%,#0b5d44 54%,#147356 100%)}
.hero-grid-logo{grid-template-columns:1.18fr .82fr;gap:46px;min-height:610px}
.hero-meta-elegant{gap:18px;display:grid;grid-template-columns:repeat(3,1fr)}
.hero-meta-elegant div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px}
.hero-meta-elegant b{font-size:18px}
.hero-meta-elegant span{font-size:12px;line-height:1.5;color:rgba(255,255,255,.76)}
.hero-identity-card{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(243,248,245,.95));color:#18352f;border-radius:30px;border:1px solid rgba(255,255,255,.45);padding:32px;box-shadow:0 26px 70px rgba(0,0,0,.18)}
.hero-identity-top{display:flex;align-items:center;gap:22px;margin-bottom:20px}
.crest-ring-elegant{width:138px;height:138px;margin:0;box-shadow:0 18px 44px rgba(12,55,43,.14)}
.crest-ring-elegant img{max-height:102px}
.hero-identity-card h3{margin:0 0 6px;font-size:30px;line-height:1.2;color:#15394a}
.hero-identity-card p{margin:0;color:#64766e;font-size:15px}
.identity-feature-list{display:grid;gap:12px;margin:18px 0 12px}
.identity-feature-list div{background:#fff;border:1px solid #e1ebe5;border-radius:18px;padding:16px 18px}
.identity-feature-list b{display:block;color:#0f5f47;font-size:16px;margin-bottom:4px}
.identity-feature-list span{display:block;color:#64756f;font-size:14px;line-height:1.6}
.hero-note{margin-top:10px;background:#edf7f1;color:#1c4439;font-size:12px}
.hero-note i{background:#32b36f}
.info-section{padding:92px 0;background:linear-gradient(180deg,#fff,#f5f9f7)}
.professional-info-grid{grid-template-columns:.92fr 1.08fr;gap:36px;align-items:stretch}
.info-copy-pro{padding-right:12px}
.info-panel-pro{background:#fff;border:1px solid #dfe8e3;border-radius:28px;padding:26px;box-shadow:0 20px 44px rgba(12,56,42,.08);display:grid;gap:14px}
.info-panel-header h3{margin:0;font-size:28px;line-height:1.25;color:#17384c}
.info-panel-header .section-kicker{margin-bottom:6px}
.info-highlight-pro div{background:#f8fcfa;border-color:#dbe9e1;box-shadow:0 12px 30px rgba(18,61,47,.04)}
.booking-section{background:#f5f8f6;padding:90px 0}
.booking-layout{align-items:start}
.schedule-section{padding:88px 0;background:#fff}
.gallery-section{padding:88px 0;background:#f5f8f6}
.gallery-item{background:#fff}
.public-footer{background:#0f3f31;color:#eef7f3}.public-footer a{color:#eef7f3}

.admin-body{background:linear-gradient(180deg,#eef4f0,#f6f9f7)}
.admin-shell{min-height:100vh}
.sidebar{background:linear-gradient(180deg,#073b2e 0%,#0b4e3c 45%,#063226 100%);border-right:none;box-shadow:18px 0 40px rgba(6,38,29,.12)}
.admin-brand{padding:22px 18px 18px;margin:0 14px 16px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.admin-brand img{width:44px;height:52px}.admin-brand strong{color:#fff}.admin-brand span{color:rgba(255,255,255,.75)}
.menu{padding:0 14px}.menu-label{color:rgba(255,255,255,.46);padding:12px 12px 8px}
.menu a{color:#edf8f2;margin-bottom:7px;border:1px solid transparent;background:transparent}
.menu a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.05)}
.menu a.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.menu a i{background:rgba(255,255,255,.08);color:#fff}
.sidebar-foot{margin-top:auto;padding:16px 0 18px;border-top:1px solid rgba(255,255,255,.08)}
.admin-main{background:transparent}
.topbar{height:auto;min-height:92px;padding:18px 24px;border-bottom:1px solid #dce6e1;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:40}
.topbar-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.8px;color:#0f6a4f;margin-bottom:4px}
.top-title h1{font-size:30px;margin:0;color:#15354c}
.top-title p{margin:2px 0 0;font-size:13px;color:#6e7f79}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topbar-account{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dde8e2;border-radius:18px;padding:10px 14px;min-width:250px;box-shadow:0 10px 24px rgba(13,60,46,.06)}
.avatar-chip{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b5d44,#16815f);color:#fff;font-weight:900;font-size:15px;flex:0 0 auto}
.topbar-account b{display:block;font-size:14px;color:#17364a}
.topbar-account small{display:block;font-size:12px;color:#6d7d77}
.topbar-btn{height:44px}
.admin-content{padding:24px}
.page-head.compact{margin-bottom:18px}
.hero-admin-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;margin-bottom:20px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f7fbf8 60%,#ecf6f0 100%);border:1px solid #dce6e1;box-shadow:0 22px 50px rgba(13,58,45,.08)}
.hero-admin-card h2{margin:0 0 8px;font-size:40px;line-height:1.15;color:#17374d}
.hero-admin-card p{margin:0;max-width:780px;color:#63746c;font-size:15px;line-height:1.7}
.hero-admin-actions{display:flex;gap:12px;flex-wrap:wrap}
.admin-stat-elegant .stat-card{background:#fff;border:1px solid #dce6e1;border-radius:24px;box-shadow:0 18px 40px rgba(14,57,45,.06);padding:24px 20px}
.admin-stat-elegant .stat-card strong{font-size:38px;color:#0f5f48}
.admin-grid-elegant{align-items:start}
.section-card{border-radius:26px;border:1px solid #dce6e1;box-shadow:0 18px 44px rgba(12,56,42,.06)}
.section-card .pad{padding:24px 24px 14px}
.card-head h3{margin:0;font-size:18px;color:#16354a}
.table-wrap{padding:0 18px 18px}
.table th{color:#6d7d76;background:#f7faf8;padding:14px 16px}
.table td{padding:16px;border-color:#ebf0ed}
.admin-list-elegant{display:grid;gap:14px}.admin-list-elegant .admin-list-item{padding:18px;border:1px solid #e4ece7;border-radius:18px;background:#fbfdfc}
.admin-list-elegant .admin-list-item b{font-size:15px;color:#17384b}.admin-list-elegant .admin-list-item p{font-size:14px;color:#4e625a}
.settings-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;align-items:start}
.settings-form-pro,.settings-side-card{border-radius:28px;border:1px solid #dce6e1;box-shadow:0 20px 46px rgba(13,57,44,.07)}
.settings-form-pro{background:linear-gradient(180deg,#fff,#fbfdfc)}
.settings-form-pro form{display:grid;gap:14px}
.settings-side-card{background:linear-gradient(180deg,#ffffff,#f5faf7)}
.settings-side-card h3{margin:0 0 14px;font-size:28px;line-height:1.25;color:#18384c}
.settings-preview-list{display:grid;gap:12px;margin-top:10px}
.settings-preview-list div{padding:14px 16px;background:#fff;border:1px solid #e3ebe7;border-radius:16px}
.settings-preview-list b{display:block;font-size:13px;color:#0d5e46;margin-bottom:3px}
.settings-preview-list span{display:block;color:#5f716a;font-size:14px;line-height:1.6}
.settings-note-box{margin-top:16px;padding:16px 18px;border-radius:18px;background:#eff7f2;border:1px solid #dce9e2}
.settings-note-box b{display:block;color:#0e5f47;font-size:15px;margin-bottom:5px}
.settings-note-box p{margin:0;color:#60736b;font-size:14px;line-height:1.7}
.settings-tip{margin-top:6px}
.topbar .btn.red{background:#fdecec;color:#a73030}
.topbar .btn.light{background:#eff7f2;color:#0e5f47}
.inline-actions .btn{min-width:102px;justify-content:center}
.admin-footer{color:#6b7c75}

@media(max-width:1100px){.hero-grid-logo,.professional-info-grid,.settings-layout{grid-template-columns:1fr}.hero-identity-card{max-width:720px}.hero-admin-card{flex-direction:column;align-items:flex-start}.topbar{align-items:flex-start;flex-wrap:wrap}.topbar-actions{width:100%}.topbar-account{flex:1 1 260px}}
@media(max-width:760px){.hero-grid-logo{gap:28px;padding-block:54px}.hero-identity-top{flex-direction:column;align-items:flex-start}.hero-meta-elegant{grid-template-columns:1fr}.hero-admin-card h2{font-size:30px}.top-title h1{font-size:26px}.topbar-account{min-width:unset;width:100%}.admin-content{padding:16px}.settings-side-card h3{font-size:24px}}

/* Landing page hero refinement - smaller elegant typography */
.hero-grid-logo{grid-template-columns:1.22fr .78fr;gap:42px;min-height:560px;padding-block:60px}
.hero-copy h1{font-size:clamp(34px,4.3vw,52px)!important;line-height:1.14;letter-spacing:-1.1px;max-width:760px}
.hero-copy>p{font-size:15px!important;line-height:1.8;max-width:700px;color:rgba(255,255,255,.84)}
.hero-kicker{font-size:10px;padding:8px 13px;letter-spacing:1.7px}
.hero-actions{margin-top:24px}
.hero-actions .btn{min-width:178px;min-height:48px;font-size:14px}
.hero-meta-elegant{margin-top:30px;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;gap:36px;background:none}
.hero-meta-elegant div{background:none;border:none;border-radius:0;padding:0}
.hero-meta-elegant b{font-size:14px;font-weight:900}
.hero-meta-elegant span{font-size:11px;color:rgba(255,255,255,.68)}
.hero-identity-card-simple{max-width:390px;margin-left:auto;text-align:center;padding:38px 28px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.10));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 70px rgba(0,0,0,.14);color:#fff}
.hero-identity-card-simple h3{margin:20px 0 8px;font-size:20px;line-height:1.45;color:#fff}
.hero-identity-card-simple p{margin:0;color:rgba(255,255,255,.76);font-size:13px}
.crest-ring.centered{margin:0 auto;background:#fff;width:156px;height:156px;padding:20px}
.crest-ring.centered img{max-height:116px}
.centered-note{display:inline-flex;margin-top:22px;background:rgba(0,0,0,.18);color:#fff;font-size:12px;padding:10px 16px}
.centered-note i{background:#7ce5a6}

@media(max-width:1100px){.hero-identity-card-simple{margin:0 auto;max-width:420px}}
@media(max-width:760px){.hero-grid-logo{gap:26px;min-height:auto;padding-block:50px}.hero-copy h1{font-size:40px!important}.hero-meta-elegant{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-meta-elegant div:last-child{grid-column:span 2}.hero-identity-card-simple{padding:28px 22px}.crest-ring.centered{width:132px;height:132px}.crest-ring.centered img{max-height:96px}}
@media(max-width:480px){.hero-copy h1{font-size:34px!important}.hero-actions .btn{width:100%}.hero-meta-elegant{grid-template-columns:1fr}.hero-meta-elegant div:last-child{grid-column:auto}}

/* ===== Admin typography, header, sidebar & footer refinement v3 ===== */
.admin-shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{width:272px;padding:16px 12px}
.admin-brand{margin:0 8px 16px;padding:14px 14px;border-radius:18px;gap:12px}
.admin-brand img{width:40px;height:48px}
.admin-brand strong{font-size:15px;line-height:1.2;letter-spacing:.2px}
.admin-brand span{font-size:9px;letter-spacing:.8px;margin-top:3px}
.menu{padding:0 8px;gap:3px}
.menu-label{font-size:9px;letter-spacing:1.8px;padding:12px 12px 7px}
.menu a{display:flex;align-items:center;gap:11px;margin-bottom:4px;padding:10px 11px;border-radius:13px;font-size:13px;font-weight:750;line-height:1.35;min-height:48px}
.menu a span{display:block;min-width:0}
.menu a i{width:30px;height:30px;min-width:30px;border-radius:9px;font-size:13px}
.menu a.active{background:rgba(255,255,255,.12)}
.menu-logout{color:#ffdede!important}
.sidebar-foot{padding:13px 0 8px}

.topbar{min-height:76px;padding:12px 24px;gap:14px;background:rgba(255,255,255,.94);border-bottom:1px solid #dfe8e3;box-shadow:0 8px 26px rgba(15,58,45,.035)}
.top-title{min-width:220px}
.topbar-kicker{font-size:9px;letter-spacing:1.6px;margin-bottom:1px}
.top-title h1{font-size:23px!important;line-height:1.15;letter-spacing:-.25px;margin:0;color:#17384d}
.top-title p{font-size:11px;line-height:1.45;margin:3px 0 0;color:#718078}
.topbar-actions{gap:9px;flex-wrap:nowrap}
.topbar-btn{height:40px;padding:9px 14px;font-size:12px;border-radius:12px;white-space:nowrap}
.topbar-account{min-width:220px;max-width:260px;padding:8px 11px;border-radius:15px;gap:10px;box-shadow:none}
.avatar-chip{width:34px;height:34px;font-size:13px}
.topbar-account b{font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-account small{font-size:10px;color:#7b8983;margin-top:2px}

.admin-content{padding:22px 24px 28px;min-height:calc(100vh - 150px)}
.admin-content>.alert{font-size:13px;border-radius:14px}
.page-head{margin-bottom:16px;gap:14px}
.page-head h2{font-size:25px!important;line-height:1.2;letter-spacing:-.35px;margin-bottom:5px;color:#17384d}
.page-head p{font-size:12px!important;line-height:1.6;max-width:760px;color:#718078}
.page-head .btn{font-size:12px;min-height:40px}
.hero-admin-card{padding:22px 24px;border-radius:22px;margin-bottom:16px;box-shadow:0 14px 34px rgba(13,58,45,.055)}
.hero-admin-card .section-kicker{font-size:9px}
.hero-admin-card h2{font-size:28px!important;line-height:1.22;letter-spacing:-.45px;margin-bottom:6px}
.hero-admin-card p{font-size:13px;line-height:1.65}
.hero-admin-actions .btn{font-size:12px;padding:10px 14px;min-height:40px}

.admin-stat-elegant{gap:12px;margin-bottom:16px}
.admin-stat-elegant .stat-card{padding:17px 16px;border-radius:18px;box-shadow:0 12px 28px rgba(14,57,45,.045)}
.admin-stat-elegant .stat-card span{font-size:9px;letter-spacing:.3px}
.admin-stat-elegant .stat-card strong{font-size:30px;margin:3px 0}
.admin-stat-elegant .stat-card small{font-size:10px}
.section-card{border-radius:20px;box-shadow:0 14px 34px rgba(12,56,42,.045)}
.section-card .pad{padding:18px 18px 10px}
.card-head h3{font-size:16px;line-height:1.3}
.card-head .section-kicker{font-size:9px;margin-bottom:4px}
.table-wrap{padding:0 14px 14px}
.table th{font-size:9px!important;letter-spacing:.55px;padding:11px 12px}
.table td{font-size:12px!important;line-height:1.55;padding:13px 12px}
.table td b{font-size:12px}
.table small{font-size:10px}
.badge{font-size:9px;padding:5px 8px}
.filters{gap:8px}
.filters .field label{font-size:11px}
.filters .input{min-height:44px;font-size:13px;border-radius:12px}
.filters .btn{min-height:42px;font-size:12px;padding:9px 14px}
.inline-actions{gap:5px}
.inline-actions .btn{min-width:auto!important;font-size:11px;padding:8px 10px;border-radius:10px}
.admin-list-elegant{gap:10px}
.admin-list-elegant .admin-list-item{padding:14px;border-radius:15px}
.admin-list-elegant .admin-list-item b{font-size:12px}
.admin-list-elegant .admin-list-item p{font-size:11px;margin:4px 0}
.admin-list-elegant .admin-list-item small{font-size:10px}

/* General admin forms */
.admin-body .field label{font-size:12px;margin-bottom:6px}
.admin-body .input,.admin-body select.input,.admin-body textarea.input{min-height:48px;font-size:13px;border-radius:13px;padding:11px 13px}
.admin-body textarea.input{min-height:116px}
.admin-body .form-section-label{font-size:12px;letter-spacing:.8px;margin-top:2px}
.settings-layout{gap:16px}
.settings-form-pro,.settings-side-card{border-radius:20px;box-shadow:0 14px 32px rgba(13,57,44,.05)}
.settings-form-pro,.settings-side-card{padding:20px!important}
.settings-side-card h3{font-size:21px;line-height:1.3}
.settings-preview-list{gap:8px}
.settings-preview-list div{padding:11px 13px;border-radius:13px}
.settings-preview-list b{font-size:11px}.settings-preview-list span{font-size:12px}
.settings-note-box{padding:13px 14px;border-radius:14px}
.settings-note-box b{font-size:12px}.settings-note-box p{font-size:11px}

/* Elegant footer attached naturally to content */
.admin-footer{padding:0 24px 22px;background:transparent;text-align:initial;color:#6f7e77}
.admin-footer-inner{min-height:58px;border-top:1px solid #dfe7e3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4px 0}
.admin-footer-brand{display:flex;align-items:center;gap:9px}
.admin-footer-brand img{width:27px;height:32px;object-fit:contain}
.admin-footer-brand div{display:flex;flex-direction:column}
.admin-footer-brand b{font-size:10px;color:#496059;letter-spacing:.25px}
.admin-footer-brand span{font-size:9px;color:#8a9691}
.admin-footer-copy{font-size:9px;color:#8a9691;text-align:right}

@media(max-width:1200px){
  .admin-shell{grid-template-columns:245px minmax(0,1fr)}
  .sidebar{width:245px}
  .menu a{font-size:12px}
  .topbar-account{min-width:190px}
  .hide-tablet{display:none}
  .hero-admin-card h2{font-size:25px!important}
}
@media(max-width:1000px){
  .admin-shell{display:block}
  .sidebar{width:255px;left:-270px;padding-top:12px}
  .sidebar.open{left:0}
  .topbar{padding:11px 14px;min-height:70px}
  .top-title h1{font-size:20px!important}
  .top-title p{display:none}
  .topbar-actions{margin-left:auto}
  .topbar-account{min-width:0;width:auto;padding:7px 9px}
  .topbar-account div{display:none}
  .topbar-btn{font-size:11px;padding:8px 11px}
  .admin-content{padding:16px}
  .admin-footer{padding:0 16px 18px}
}
@media(max-width:760px){
  .topbar-kicker{display:none}
  .top-title h1{font-size:18px!important}
  .topbar .btn.red{display:none}
  .page-head h2{font-size:21px!important}
  .hero-admin-card{padding:18px}
  .hero-admin-card h2{font-size:22px!important}
  .hero-admin-actions{width:100%}
  .hero-admin-actions .btn{flex:1}
  .admin-footer-inner{align-items:flex-start;flex-direction:column;gap:6px}
  .admin-footer-copy{text-align:left}
  .mobile-card-table td{font-size:12px!important}
}

/* Informasi Aula refinement */
.info-section-refined{padding:96px 0;background:linear-gradient(180deg,#f9fcfa 0%,#f1f7f4 100%)}
.refined-info-grid{grid-template-columns:.92fr 1.08fr;gap:28px;align-items:stretch}
.info-overview-card,.info-process-card{background:#fff;border:1px solid #dde8e2;border-radius:30px;box-shadow:0 22px 50px rgba(12,56,42,.07)}
.info-overview-card{padding:34px 34px 32px;display:grid;align-content:start}
.info-overview-card h2{font-size:clamp(30px,3.2vw,48px);line-height:1.18;margin:4px 0 16px;color:#16364b;max-width:580px}
.info-overview-card .lead{font-size:16px;line-height:1.9;color:#5f726b;max-width:640px;margin:0 0 22px}
.info-overview-meta{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:22px}
.info-overview-meta div{background:linear-gradient(180deg,#fbfdfc,#f4faf7);border:1px solid #e4ece7;border-radius:18px;padding:15px 17px}
.info-overview-meta small{display:block;font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#0e654b;margin-bottom:6px}
.info-overview-meta b{display:block;font-size:15px;line-height:1.6;color:#193a33}
.refined-highlight{grid-template-columns:1fr 1fr;gap:14px}
.refined-highlight div{padding:22px;border-radius:22px;background:linear-gradient(180deg,#f9fcfa,#f2f8f5);border:1px solid #dfe8e3;box-shadow:none}
.refined-highlight strong{display:block;font-size:19px;line-height:1.3;color:#0f5f47;margin-bottom:8px}
.refined-highlight span{display:block;font-size:14px;line-height:1.8;color:#60726b}
.info-process-card{padding:30px;display:grid;gap:18px;background:linear-gradient(180deg,#ffffff,#fbfdfc)}
.refined-header h3{margin:4px 0 8px;font-size:clamp(28px,2.8vw,44px);line-height:1.2;color:#17384d;max-width:620px}
.refined-header p{margin:0;color:#62736d;font-size:15px;line-height:1.8;max-width:650px}
.process-list{display:grid;gap:14px;margin-top:4px}
.process-item{display:grid;grid-template-columns:68px 1fr;gap:18px;padding:22px 20px;border:1px solid #e3ebe7;border-radius:22px;background:#fcfefd;align-items:start;position:relative;overflow:hidden}
.process-item:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#0b5d44,#1f8d69);opacity:.85}
.process-item>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ecf7f1;color:#0e6248;font-size:13px;font-weight:900;letter-spacing:.4px;margin-left:10px}
.process-item b{display:block;font-size:20px;line-height:1.35;color:#16374c;margin-bottom:6px}
.process-item p{margin:0;color:#667771;font-size:14px;line-height:1.8;max-width:92%}

@media(max-width:1100px){.refined-info-grid{grid-template-columns:1fr}.info-process-card,.info-overview-card{padding:28px}}
@media(max-width:760px){.info-section-refined{padding:72px 0}.info-overview-card h2{font-size:34px}.refined-highlight{grid-template-columns:1fr}.process-item{grid-template-columns:56px 1fr;padding:18px 16px}.process-item b{font-size:18px}.process-item p{max-width:none}.refined-header h3{font-size:30px}}
@media(max-width:480px){.info-overview-card,.info-process-card{padding:20px}.info-overview-card h2{font-size:30px}.process-item{grid-template-columns:1fr;gap:12px}.process-item>span{margin-left:0}}

/* Laporan Penyewaan - payment row refinement */
.payment-inline-form{min-width:440px}
.payment-inline-grid{display:grid;grid-template-columns:minmax(155px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:end}
.payment-inline-grid .field{margin:0}
.payment-inline-grid .field label,.payment-save-wrap label{display:block;font-size:10px;font-weight:800;color:#52675f;margin:0 0 6px;letter-spacing:.2px}
.payment-inline-grid .input{min-height:44px!important;height:44px;font-size:12px!important;border-radius:12px!important;padding:9px 11px!important;background:#fff}
.payment-save-wrap{display:flex;flex-direction:column;justify-content:flex-end}
.payment-save-btn{height:44px;min-width:88px;padding:9px 16px!important;border-radius:12px!important;font-size:12px!important;box-shadow:0 8px 18px rgba(11,93,68,.14)}
.payment-save-btn:hover{box-shadow:0 10px 22px rgba(11,93,68,.2)}
.admin-body .table td[data-label="Pembayaran"]{min-width:440px}
.admin-body .table td[data-label="Retribusi"] b{font-size:13px;color:#17384d}

@media(max-width:1000px){
  .payment-inline-form{min-width:0}
  .payment-inline-grid{grid-template-columns:1fr 1fr auto}
  .admin-body .table td[data-label="Pembayaran"]{min-width:0}
}
@media(max-width:760px){
  .payment-inline-grid{grid-template-columns:1fr}
  .payment-save-wrap label{display:none}
  .payment-save-btn{width:100%}
}

/* Gmail notification workflow */
.email-flow-note{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px;padding:16px 18px;border:1px solid #d9e9e1;border-radius:18px;background:linear-gradient(135deg,#f7fcf9,#eef8f3);box-shadow:0 10px 28px rgba(13,70,50,.05)}
.email-flow-note>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#e4f4ec;color:#0b6b4d;font-size:18px}
.email-flow-note b{display:block;color:#153b31;font-size:14px;margin-bottom:2px}
.email-flow-note p{margin:0;color:#64756f;font-size:12px;line-height:1.65}
.btn.email{background:#e9f1ff;color:#24549b}
.btn.email:hover{background:#dfeaff}
.gmail-status-form button:disabled{opacity:.65;cursor:wait;transform:none}
.inline-actions .btn.email{min-width:112px}
@media(max-width:760px){.email-flow-note{padding:14px}.email-flow-note p{font-size:11px}.inline-actions .btn.email{min-width:0}}

/* Optional payment attachment */
.payment-inline-form{min-width:680px}
.payment-inline-grid{grid-template-columns:minmax(155px,.9fr) minmax(160px,.8fr) minmax(250px,1.25fr) auto;gap:10px;align-items:end}
.payment-file-field{min-width:250px}
.payment-file-field label small{font-weight:600;color:#87948e;font-size:9px}
.payment-file-input{padding:7px 9px!important;font-size:11px!important;line-height:1.2}
.payment-file-input::file-selector-button{border:0;background:#eef7f2;color:#0c6349;border-radius:8px;padding:7px 10px;margin-right:8px;font-weight:800;cursor:pointer}
.attachment-help{display:block;margin-top:5px;color:#89968f;font-size:9px;line-height:1.4}
.attachment-preview-line{display:flex;align-items:center;gap:7px;margin-top:6px;min-width:0}
.attachment-file-name{display:block;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#65766f}
.attachment-preview-btn{background:#edf5ff!important;color:#24558f!important;min-width:auto!important;padding:6px 9px!important;font-size:9px!important;border-radius:8px!important}
.admin-body .table td[data-label="Pembayaran"]{min-width:680px}

@media(max-width:1200px){
  .payment-inline-form{min-width:600px}
  .payment-inline-grid{grid-template-columns:minmax(140px,.8fr) minmax(145px,.75fr) minmax(210px,1fr) auto}
  .admin-body .table td[data-label="Pembayaran"]{min-width:600px}
}
@media(max-width:1000px){
  .payment-inline-form{min-width:0}
  .payment-inline-grid{grid-template-columns:1fr 1fr}
  .payment-file-field{grid-column:span 2}
  .payment-save-wrap{grid-column:span 2}
  .payment-save-btn{width:100%}
  .admin-body .table td[data-label="Pembayaran"]{min-width:0}
}
@media(max-width:760px){
  .payment-inline-grid{grid-template-columns:1fr}
  .payment-file-field,.payment-save-wrap{grid-column:auto}
  .attachment-file-name{max-width:210px}
}
