:root{--green-950:#102d22;--green-900:#153d2d;--green-800:#1d543b;--green-700:#28734b;--lime:#b6d66b;--yellow:#f0c95b;--bg:#f4f7f3;--surface:#fff;--text:#1e2b24;--muted:#78847c;--border:#e5ebe5;--shadow:0 12px 32px rgba(22,55,37,.07);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#e2eedc,transparent 35%),linear-gradient(135deg,#f6f8f4,#edf3ed)}.auth-card{width:min(100%,440px);background:#fff;border:1px solid var(--border);border-radius:24px;padding:36px;box-shadow:var(--shadow)}.brand-row{display:flex;align-items:center;gap:12px}.brand-row strong,.brand-row span{display:block}.brand-row strong{font-size:14px;letter-spacing:.06em;color:var(--green-900)}.brand-row span{font-size:11px;color:var(--muted);margin-top:3px}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--green-700),var(--green-950));display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-.05em;box-shadow:0 7px 16px #1d543b35}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--green-700);margin:28px 0 8px}.auth-card h1{font-size:27px;letter-spacing:-.04em;margin:0 0 8px}.muted{color:var(--muted)}.auth-card>p:not(.eyebrow){font-size:13px;line-height:1.6}.auth-card form{display:grid;gap:16px;margin-top:25px}label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#405047}input{width:100%;height:46px;border:1px solid #dfe7df;border-radius:11px;padding:0 13px;font:inherit;font-size:13px;outline:none;transition:.2s}input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #28734b18}.btn{border:0;border-radius:11px;min-height:46px;padding:0 18px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(110deg,var(--green-800),var(--green-950));color:#fff;box-shadow:0 8px 18px #153d2d25}.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-block{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:4px}.small{font-size:11px}.center{text-align:center;margin-top:24px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--green-950),#173b2c);padding:25px 17px;color:#fff;display:flex;flex-direction:column;z-index:5}.brand-link{padding:0 7px 30px;border-bottom:1px solid #ffffff19}.brand-link strong{color:#fff}.brand-link span{color:#b6c8bb}.nav-label{font-size:9px;font-weight:800;letter-spacing:.16em;color:#91a99a;margin:27px 10px 10px}.nav-item{height:43px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:10px;color:#c5d4ca;font-size:13px;margin:3px 0}.nav-item.active{background:#ffffff16;color:#fff;box-shadow:inset 3px 0 var(--lime)}.nav-item.disabled{opacity:.52;cursor:default}.nav-item em{font-style:normal;font-size:9px;margin-left:auto;color:#c3d0c5}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff19;padding-top:16px}.user-mini{display:flex;align-items:center;gap:10px;padding:8px 5px 15px}.user-mini strong,.user-mini span{display:block}.user-mini strong{font-size:11px}.user-mini span{font-size:10px;color:#a9bdb0;margin-top:3px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8e9bd;color:var(--green-950);font-weight:800;font-size:13px}.main-area{margin-left:250px;min-height:100vh}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.topbar .eyebrow{margin:0 0 5px;font-size:9px}.topbar h1{font-size:22px;letter-spacing:-.04em;margin:0}.topbar-right{display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#54a66c;box-shadow:0 0 0 4px #54a66c19}.content{padding:30px 36px;max-width:1500px;margin:auto}.welcome-panel{min-height:178px;border-radius:20px;padding:30px 34px;background:radial-gradient(circle at 85% 15%,#ffffff20,transparent 25%),linear-gradient(115deg,#1d6543,#102f23);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome-panel .eyebrow{margin:0 0 12px;color:#c5df9c}.welcome-panel h2{font-size:25px;letter-spacing:-.04em;margin:0 0 8px}.welcome-panel p:not(.eyebrow){font-size:12px;color:#d1e1d5;margin:0}.welcome-icon{font-size:78px;color:#d4e9a0;opacity:.8;padding-right:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px}.section-heading h2{font-size:16px;margin:0 0 5px}.section-heading p{font-size:11px;margin:0}.pill{display:inline-flex;align-items:center;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:700}.pill-neutral{background:#edf1ed;color:#68756b}.pill-success{background:#e8f4e9;color:#32754a}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat-card,.panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:19px;box-shadow:0 4px 15px #183b2510}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-icon{width:31px;height:31px;border-radius:10px;background:#edf5e9;color:var(--green-700);display:grid;place-items:center}.stat-card>strong{display:block;font-size:25px;letter-spacing:-.04em;margin:14px 0 5px}.stat-card>strong small{font-size:12px}.stat-card>small{font-size:10px;color:#9aa49c}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}.panel{min-height:220px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel h3{font-size:13px;margin:0 0 5px}.panel-heading p{margin:0}.panel>h2{font-size:19px;margin:25px 0 5px}.empty-state{text-align:center;padding:24px 10px;color:var(--muted)}.empty-state>div{font-size:27px;color:#9bb98b}.empty-state strong{display:block;font-size:12px;color:var(--text);margin:8px 0 4px}.empty-state p{font-size:11px;margin:0}.check-list{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:12px;font-size:11px;color:#69766d}.check-list li:before{content:"○";margin-right:10px;color:#9ca99f}.check-list li.done:before{content:"✓";color:#398451;font-weight:800}.page-footer{padding:25px 2px;color:#929d94;font-size:10px}.page-footer span{color:#b0b8b1}.alert{padding:12px 14px;border-radius:10px;font-size:12px;margin-bottom:16px}.alert-success{background:#eaf6ed;color:#286c3d}.alert-warning{background:#fff5dc;color:#856515}.alert-danger{background:#fff0ee;color:#a33e32}.muted.small{font-size:11px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:25px}.topbar{padding:0 25px}}@media(max-width:700px){.sidebar{position:relative;width:100%;height:auto;padding:14px 16px}.brand-link{padding:0 2px 12px}.nav-label,.sidebar .nav-item,.sidebar-bottom{display:none}.main-area{margin-left:0}.topbar{height:72px;padding:0 18px}.topbar h1{font-size:19px}.topbar .eyebrow{font-size:8px}.topbar-right .muted{display:none}.content{padding:18px}.welcome-panel{padding:23px;min-height:150px}.welcome-panel h2{font-size:20px}.welcome-icon{font-size:48px;padding:0}.section-heading{align-items:flex-start;gap:10px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-card>strong{font-size:21px}.bottom-grid{grid-template-columns:1fr}.auth-card{padding:27px 22px;border-radius:19px}}@media(max-width:380px){.stats-grid{grid-template-columns:1fr}.section-heading{flex-direction:column}}


/* ===== UI refinement v0.1.1 ===== */
:root{--green-950:#0d2b20;--green-900:#123b2a;--green-800:#1b5739;--green-700:#28784b;--lime:#c4df78;--yellow:#f2cd62;--bg:#f3f6f2;--border:#e3eae2;--shadow:0 14px 36px rgba(15,48,31,.075)}
body{background:linear-gradient(135deg,#f5f8f4 0%,#eef3ed 100%)}
.sidebar{box-shadow:10px 0 35px rgba(8,35,22,.10)}
.brand-mark{background:linear-gradient(145deg,#3a8b59,#0e3424);box-shadow:0 8px 20px #0d3c2738}
.nav-item{transition:background .2s ease,color .2s ease,transform .2s ease}
.nav-item:not(.disabled):hover{background:#ffffff12;color:#fff;transform:translateX(2px)}
.nav-item.active{background:linear-gradient(90deg,#ffffff20,#ffffff0b);box-shadow:inset 3px 0 var(--lime)}
.topbar{box-shadow:0 5px 22px rgba(20,48,31,.025)}
.welcome-panel{background:radial-gradient(circle at 83% 25%,rgba(197,225,139,.22),transparent 22%),radial-gradient(circle at 100% 100%,rgba(255,255,255,.10),transparent 35%),linear-gradient(115deg,#236b45 0%,#123a29 72%,#0e3022 100%);box-shadow:0 16px 34px rgba(18,58,41,.16);position:relative}
.welcome-panel:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #ffffff20;border-radius:50%;right:8%;top:-95px;box-shadow:0 0 0 24px #ffffff08,0 0 0 48px #ffffff05;pointer-events:none}
.welcome-panel>*{position:relative;z-index:1}
.welcome-icon{width:94px;height:94px;display:grid;place-items:center;border-radius:30px;background:#ffffff12;border:1px solid #ffffff20;backdrop-filter:blur(8px);font-size:52px}
.stat-card,.panel{box-shadow:0 7px 24px rgba(20,55,32,.045);transition:transform .2s ease,box-shadow .2s ease}
.stat-card:hover,.panel:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,55,32,.085)}
.stat-card{position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-30px;bottom:-38px;background:#edf5e9}
.stat-card>strong{font-size:27px;color:var(--green-950)}
.stat-icon{background:linear-gradient(145deg,#edf6e8,#e2efdc);border:1px solid #e0ecd9}
.panel{border-radius:18px}
.pill-success{background:#eaf5e8;color:#347849}
.page-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.mobile-menu-btn{display:none}.sidebar-backdrop{display:none}
@media(min-width:701px){.topbar-title{display:block}}
@media(min-width:701px) and (max-width:1100px){.sidebar{width:220px;padding-left:14px;padding-right:14px}.main-area{margin-left:220px}.content{padding:24px}.topbar{padding:0 24px}.welcome-panel{padding:27px}}
@media(max-width:700px){
.sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(82vw,300px);height:100dvh;padding:20px 17px;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:18px 0 45px rgba(7,28,18,.22);z-index:30;overflow-y:auto}
.sidebar.is-open{transform:translateX(0)}
.sidebar .nav-label,.sidebar .nav-item,.sidebar-bottom{display:flex}
.sidebar .nav-label{display:block}.sidebar-bottom{display:block}
.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(8,25,17,.42);backdrop-filter:blur(2px);z-index:25;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.sidebar-backdrop.is-visible{opacity:1;visibility:visible}body.menu-open{overflow:hidden}
.topbar{height:72px;padding:0 17px;gap:13px;justify-content:flex-start}
.mobile-menu-btn{width:39px;height:39px;flex:0 0 39px;border:1px solid var(--border);border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;box-shadow:0 3px 10px #183b2509}
.mobile-menu-btn span{display:block;width:16px;height:2px;border-radius:5px;background:var(--green-900);transition:transform .2s,opacity .2s}
.mobile-menu-btn.is-active span:first-child{transform:translateY(7px) rotate(45deg)}
.mobile-menu-btn.is-active span:nth-child(2){opacity:0}
.mobile-menu-btn.is-active span:last-child{transform:translateY(-7px) rotate(-45deg)}
.topbar-title{min-width:0;flex:1}.topbar .eyebrow{font-size:7px;letter-spacing:.12em}.topbar h1{font-size:18px}
.topbar-right{margin-left:auto;gap:7px}.topbar-right .avatar{width:30px;height:30px}
.content{padding:17px 15px}.welcome-panel{min-height:155px;padding:22px 20px;border-radius:17px}
.welcome-panel h2{font-size:19px;max-width:250px;line-height:1.25}.welcome-panel p:not(.eyebrow){max-width:250px;line-height:1.55}
.welcome-icon{width:58px;height:58px;border-radius:19px;font-size:32px;padding:0;flex:0 0 58px}
.section-heading{margin:24px 0 14px}.stat-card{border-radius:14px;padding:14px}
.stat-top{font-size:10px;gap:5px}.stat-card>strong{font-size:22px;margin:12px 0 4px}
.bottom-grid{gap:12px;margin-top:13px}.panel{padding:16px}.page-footer{font-size:9px;padding:20px 2px}
}
@media(max-width:380px){.welcome-icon{display:none}.topbar-right .status-dot{display:none}}


/* ===== Soft botanical dashboard theme v0.1.2 ===== */
:root{--green-950:#244536;--green-900:#315a45;--green-800:#47775a;--green-700:#638d6c;--lime:#cbdcaa;--yellow:#e9d69a;--bg:#f6f8f4;--surface:#fff;--text:#293b30;--muted:#839087;--border:#e8eee6;--shadow:0 10px 28px rgba(44,75,52,.055)}
body{background:#f6f8f4;color:#293b30}
.sidebar{background:linear-gradient(180deg,#fdfefc 0%,#f5f8f2 100%);color:#344b3a;border-right:1px solid #e8eee6;box-shadow:5px 0 24px rgba(54,83,60,.035)}
.brand-link{border-bottom:1px solid #e8eee6}
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;letter-spacing:-.035em;color:#294936;font-weight:600}
.brand-copy span{font-size:9px;letter-spacing:.14em;color:#8a998d;margin-top:4px}
.brand-leaf{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf4e9;color:#668b66;font-size:28px;transform:rotate(-18deg)}
.nav-label{color:#9aa89b}
.nav-item{color:#657469;border-radius:11px}
.nav-item:not(.disabled):hover{background:#edf4e9;color:#355a3e}
.nav-item.active{background:#eaf2e6;color:#315d3e;box-shadow:inset 3px 0 #8baa7a}
.nav-item em{color:#9aa79b}
.user-mini strong{color:#405547}.user-mini span{color:#91a095}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid #e9eee7;box-shadow:none}
.topbar-kicker{font-size:10px;letter-spacing:.12em;color:#879589;font-weight:700;margin:0 0 5px}
.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:600;color:#2c4937;letter-spacing:-.035em}
.welcome-panel{min-height:174px;border:1px solid #e7eee4;border-radius:20px;padding:30px 34px;background:linear-gradient(105deg,#e8f0e3 0%,#f3f6ec 58%,#e7efe1 100%);box-shadow:none;color:#2e4b38;overflow:hidden}
.welcome-panel:after{width:260px;height:260px;border-color:#cbdcc5;opacity:.5;right:5%;top:-130px;box-shadow:0 0 0 25px #d9e6d333,0 0 0 52px #d9e6d322}
.welcome-panel .eyebrow{color:#82977f}
.welcome-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:29px;letter-spacing:-.045em;color:#294735}
.welcome-panel p:not(.eyebrow){color:#6d8072;font-size:13px}
.welcome-art{width:140px;height:120px;position:relative;flex:0 0 140px}
.art-leaf{position:absolute;display:block;width:56px;height:85px;border-radius:100% 0 100% 0;background:linear-gradient(145deg,#c3d6ae,#8fac8c);opacity:.65;transform:rotate(35deg)}
.leaf-one{right:42px;top:4px}.leaf-two{right:0;top:32px;transform:rotate(75deg) scale(.8);background:linear-gradient(145deg,#d5dfb9,#a5bd91)}
.leaf-three{right:72px;top:44px;transform:rotate(5deg) scale(.62);background:linear-gradient(145deg,#dce7c9,#b4c9a4)}
.section-heading{margin:28px 0 15px}
.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:600;color:#304b39}
.section-heading p{font-size:11px}
.stats-grid{gap:15px}
.stat-card{display:flex;align-items:center;gap:14px;min-height:116px;padding:19px;border:1px solid #e9eee7;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(46,77,52,.035)}
.stat-card:after{width:90px;height:90px;right:-46px;bottom:-55px;background:#f1f6ed}
.stat-icon{width:48px;height:48px;min-width:48px;border:0;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#638b62;background:#edf5e9}
.stat-visitors .stat-icon{color:#6e91b5;background:#edf3f9}
.stat-sales .stat-icon{color:#b18d45;background:#faf4e4}
.stat-revenue .stat-icon{color:#b27d78;background:#f9eeee}
.stat-details{display:grid;gap:4px;min-width:0;position:relative;z-index:1}
.stat-details>span{font-size:11px;color:#7c8a7f}
.stat-details>strong{font-size:25px;line-height:1.15;letter-spacing:-.04em;color:#2b4635;white-space:nowrap}
.stat-details>strong small{font-size:12px}
.stat-details>small{font-size:10px;color:#9aa59b}
.panel{border:1px solid #e8eee6;border-radius:18px;box-shadow:0 5px 18px rgba(46,77,52,.035)}
.panel h3{font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:600;color:#304b39}
.panel-overline{font-size:9px;letter-spacing:.13em;font-weight:800;color:#94a18f;margin:0 0 5px}
.period-panel{background:linear-gradient(135deg,#fff 0%,#f8faf5 100%)}
.period-panel>h2{font-family:Georgia,"Times New Roman",serif;color:#304b39;font-size:22px;margin:23px 0 10px}
.period-price{font-size:20px;font-weight:700;color:#648b60}.period-price span{font-size:12px;color:#879487;font-weight:500}
.empty-state>div{color:#9eb59a}
.check-list{gap:13px}.check-list li{font-size:11px;color:#758278}.check-list li.done:before{color:#72956e}
.pill-success{background:#edf5e9;color:#66885e}.pill-neutral{background:#f0f3ee;color:#788579}
.page-footer{color:#a0aaa0}
.mobile-menu-btn{border-color:#e6ede4;background:#fff}.mobile-menu-btn span{background:#4b7054}
@media(max-width:700px){
 .sidebar{background:linear-gradient(180deg,#fdfefc 0%,#f4f8f1 100%)}
 .topbar-kicker{font-size:8px;letter-spacing:.08em}.topbar h1{font-size:21px}
 .content{padding:16px 15px}
 .welcome-panel{min-height:145px;padding:22px 20px;border-radius:17px}
 .welcome-panel h2{font-size:22px;max-width:260px}
 .welcome-panel p:not(.eyebrow){font-size:11px;max-width:250px}
 .welcome-art{width:70px;height:75px;flex-basis:70px;opacity:.65}
 .art-leaf{width:34px;height:55px}
 .leaf-one{right:24px;top:0}.leaf-two{right:-2px;top:22px}.leaf-three{right:40px;top:30px}
 .section-heading h2{font-size:17px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .stat-card{min-height:108px;padding:12px 10px;gap:9px;border-radius:14px}
 .stat-icon{width:36px;height:36px;min-width:36px;font-size:17px}
 .stat-details{gap:3px}.stat-details>span{font-size:9px;line-height:1.25}
 .stat-details>strong{font-size:20px}.stat-details>strong small{font-size:10px}
 .stat-details>small{font-size:8px;line-height:1.25}
 .bottom-grid{grid-template-columns:1fr;gap:11px}.panel{padding:15px}
}
@media(max-width:360px){
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat-card{padding:10px 8px;gap:7px}
 .stat-icon{width:32px;height:32px;min-width:32px}
 .stat-details>strong{font-size:18px}.stat-details>span{font-size:8px}
}


/* ===== Color correction v0.1.3: fresh botanical, clearer contrast ===== */
:root{
 --green-950:#183f2b;
 --green-900:#24583a;
 --green-800:#34734a;
 --green-700:#4b8959;
 --lime:#dce9bf;
 --yellow:#efd58a;
 --bg:#f5f7f1;
 --surface:#ffffff;
 --text:#26392d;
 --muted:#748477;
 --border:#e5ebdf;
}
body{background:#f5f7f1;color:#26392d}
.sidebar{background:#fff;border-right:1px solid #e5ebdf}
.brand-link{gap:0;padding-left:9px}
.brand-copy strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:750;letter-spacing:-.045em;color:#24583a}
.brand-copy span{font-size:9px;letter-spacing:.16em;font-weight:700;color:#839286}
.nav-label{color:#8c9b8d}
.nav-item{color:#5e7062}
.nav-item:not(.disabled):hover{background:#eff5eb;color:#24583a}
.nav-item.active{background:#eaf3e5;color:#24583a;box-shadow:inset 3px 0 #6f9b65}
.user-mini .avatar{background:#e5efdc;color:#2c6540}
.topbar{background:#fff;border-bottom:1px solid #e8ede5}
.topbar-kicker{color:#718676}
.topbar h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:23px;font-weight:750;color:#244b34;letter-spacing:-.045em}
.welcome-panel{
 background:linear-gradient(112deg,#e6f0df 0%,#f0f5e9 54%,#e0ecd9 100%);
 border:1px solid #dce8d5;color:#234a32;box-shadow:0 8px 24px rgba(43,83,48,.055)
}
.welcome-panel:after{border-color:#c4d9b9;opacity:.65;box-shadow:0 0 0 25px #d5e5ce55,0 0 0 52px #d5e5ce33}
.welcome-panel .eyebrow{color:#648363}
.welcome-panel h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:750;color:#214b32;letter-spacing:-.05em}
.welcome-panel p:not(.eyebrow){color:#5f7562}
.art-leaf{background:linear-gradient(145deg,#b9d3a6,#79a477);opacity:.72}
.leaf-two{background:linear-gradient(145deg,#d0dfaa,#9dbd83)}
.leaf-three{background:linear-gradient(145deg,#dce9c8,#a9c49b)}
.section-heading h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:17px;font-weight:750;color:#294d35}
.stat-card{border-color:#e6ece2;background:#fff;box-shadow:0 5px 18px rgba(37,75,43,.045)}
.stat-card:after{background:#f0f5eb}
.stat-icon{background:#e8f2e3;color:#4f8554}
.stat-visitors .stat-icon{background:#eaf1f8;color:#6486a8}
.stat-sales .stat-icon{background:#f8f1df;color:#ad8840}
.stat-revenue .stat-icon{background:#f7ece9;color:#ad7770}
.stat-details>span{color:#687b6d}
.stat-details>strong{color:#244b34}
.stat-details>small{color:#849286}
.panel{border-color:#e6ece2;background:#fff}
.panel h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;color:#294d35}
.panel-overline{color:#789079}
.period-panel{background:linear-gradient(135deg,#fff 0%,#f7faf4 100%)}
.period-panel>h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#294d35;font-weight:750}
.period-price{color:#4f8554}
.pill-success{background:#e8f2e3;color:#47774a}
.pill-neutral{background:#f0f3ed;color:#6e7d70}
.check-list li.done:before{color:#5e945d}
.empty-state>div{color:#8eae83}
.mobile-menu-btn{background:#fff;border-color:#e3eae0}
.mobile-menu-btn span{background:#315f3d}
@media(max-width:700px){
 .sidebar{background:#fff}
 .topbar-kicker{color:#718676}
 .welcome-panel{background:linear-gradient(112deg,#e6f0df 0%,#f0f5e9 54%,#e0ecd9 100%)}
 .welcome-panel h2{font-size:21px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat-card{background:#fff}
}


/* ===== Institutional premium palette v0.1.4 =====
   Inspired by Indonesian agricultural institutional identity:
   deep institutional green, emerald accents, harvest gold, warm white.
*/
:root{
 --green-950:#123B2A;
 --green-900:#174B34;
 --green-800:#206342;
 --green-700:#2D7950;
 --lime:#A9C96A;
 --yellow:#D9AE3B;
 --bg:#F4F6F1;
 --surface:#FFFFFF;
 --text:#24362B;
 --muted:#78857B;
 --border:#E3E9E1;
 --shadow:0 10px 28px rgba(22,59,40,.07);
}
body{background:#F4F6F1;color:#24362B}
.sidebar{
 background:linear-gradient(180deg,#123B2A 0%,#174B34 100%);
 color:#F8FBF6;border-right:1px solid #1C563B;
 box-shadow:7px 0 24px rgba(13,48,31,.10)
}
.brand-link{border-bottom:1px solid rgba(255,255,255,.13)}
.brand-copy strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:750;letter-spacing:-.04em;color:#fff}
.brand-copy span{font-size:9px;letter-spacing:.15em;font-weight:700;color:#D8E5D7;margin-top:4px}
.nav-label{color:#B7CDB9}
.nav-item{color:#E1EBE1;border-radius:10px}
.nav-item:not(.disabled):hover{background:rgba(255,255,255,.10);color:#fff}
.nav-item.active{
 background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.08));
 color:#fff;box-shadow:inset 3px 0 #D9AE3B
}
.nav-item em{color:#D8E2D8}
.user-mini strong{color:#fff}.user-mini span{color:#C1D2C2}
.sidebar .avatar{background:#E3EBCF;color:#174B34}
.topbar{background:#fff;border-bottom:1px solid #E5EAE2;box-shadow:0 3px 14px rgba(30,60,39,.025)}
.topbar-kicker{color:#6D806F}
.topbar h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:23px;font-weight:760;color:#174B34;letter-spacing:-.045em}
.welcome-panel{
 min-height:174px;border:1px solid #D8E5D5;border-radius:20px;padding:30px 34px;
 background:linear-gradient(112deg,#E5EFE2 0%,#F5F7F0 58%,#E8EEDC 100%);
 box-shadow:0 9px 24px rgba(27,75,49,.055);color:#174B34;overflow:hidden
}
.welcome-panel:after{
 border-color:#C7D8BD;opacity:.55;
 box-shadow:0 0 0 25px rgba(199,216,189,.24),0 0 0 52px rgba(199,216,189,.14)
}
.welcome-panel .eyebrow{color:#718C55}
.welcome-panel h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:760;letter-spacing:-.05em;color:#174B34}
.welcome-panel p:not(.eyebrow){color:#526B58;font-size:13px}
.art-leaf{background:linear-gradient(145deg,#9FBE6A,#4D8957);opacity:.72}
.leaf-two{background:linear-gradient(145deg,#D7BD67,#A6B96A)}
.leaf-three{background:linear-gradient(145deg,#BBD19B,#6F9D70)}
.section-heading h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:17px;font-weight:750;color:#214C35}
.stat-card{
 border:1px solid #E3E9E1;background:#fff;
 box-shadow:0 5px 18px rgba(25,66,42,.045)
}
.stat-card:after{background:#F0F4EA}
.stat-icon{background:#E7F0E4;color:#267247}
.stat-visitors .stat-icon{background:#EAF0F7;color:#547A9F}
.stat-sales .stat-icon{background:#F7F0DD;color:#A47D27}
.stat-revenue .stat-icon{background:#F5EDE7;color:#A66C48}
.stat-details>span{color:#68796D}
.stat-details>strong{color:#174B34}
.stat-details>small{color:#839086}
.panel{border:1px solid #E3E9E1;background:#fff;box-shadow:0 5px 18px rgba(25,66,42,.04)}
.panel h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:730;color:#214C35}
.panel-overline{color:#7B8B78}
.period-panel{background:linear-gradient(135deg,#fff 0%,#F7F9F4 100%)}
.period-panel>h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#174B34;font-weight:750}
.period-price{color:#28784C}
.period-price span{color:#78877B}
.pill-success{background:#E8F1E4;color:#286A43}
.pill-neutral{background:#EEF1EB;color:#647468}
.check-list li.done:before{color:#368052}
.empty-state>div{color:#789A61}
.page-footer{color:#89958B}
.mobile-menu-btn{border-color:#E1E8DF;background:#fff}
.mobile-menu-btn span{background:#174B34}
.alert-success{background:#E8F3E8;color:#24663D}
.alert-warning{background:#FBF3DE;color:#80621C}
.alert-danger{background:#F8EAE7;color:#963F35}
@media(max-width:700px){
 .sidebar{background:linear-gradient(180deg,#123B2A 0%,#174B34 100%)}
 .topbar-kicker{color:#6D806F}
 .welcome-panel{background:linear-gradient(112deg,#E5EFE2 0%,#F5F7F0 58%,#E8EEDC 100%)}
 .welcome-panel h2{font-size:21px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ===== Premium corporate agriculture refinement v0.1.5 =====
   Replaces warm ivory with crisp neutral surfaces and stronger hierarchy.
*/
:root{
 --green-950:#103B29;
 --green-900:#174B34;
 --green-800:#216440;
 --green-700:#2E7950;
 --gold:#C8A343;
 --bg:#EEF1ED;
 --surface:#FFFFFF;
 --text:#20372A;
 --muted:#68776D;
 --border:#DDE4DC;
 --shadow:0 10px 26px rgba(21,54,35,.075);
}
html,body{background:#EEF1ED;color:#20372A}
.main-area{background:#EEF1ED}
.topbar{background:#FFFFFF;border-bottom:1px solid #DDE4DC;box-shadow:0 2px 10px rgba(24,53,34,.035)}
.topbar-kicker{color:#6D7F72}
.topbar h1{color:#143F2B;font-weight:780}
.content{background:transparent}
.welcome-panel{
 background:linear-gradient(112deg,#DCEBDD 0%,#E9F0E5 46%,#D3E4D4 100%);
 border:1px solid #C9DCCB;
 box-shadow:0 10px 25px rgba(28,73,46,.07);
 color:#173F2C;
}
.welcome-panel:after{
 border-color:#B7CFB8;
 opacity:.62;
 box-shadow:0 0 0 25px rgba(183,207,184,.24),0 0 0 52px rgba(183,207,184,.14)
}
.welcome-panel .eyebrow{color:#8A7130}
.welcome-panel h2{color:#123D29;font-weight:800}
.welcome-panel p:not(.eyebrow){color:#496552}
.art-leaf{background:linear-gradient(145deg,#91B67C,#4E8759);opacity:.78}
.leaf-two{background:linear-gradient(145deg,#D6BE72,#A5B96C)}
.leaf-three{background:linear-gradient(145deg,#B8D0A0,#6D986F)}
.section-heading h2{color:#173F2C}
.section-heading p{color:#6C7B70}
.stats-grid{gap:14px}
.stat-card{
 background:#FFFFFF;
 border:1px solid #DDE5DC;
 box-shadow:0 5px 16px rgba(24,58,37,.055);
}
.stat-card:after{background:#F0F4EE}
.stat-icon{background:#E7F0E7;color:#286B45}
.stat-visitors .stat-icon{background:#EAF0F6;color:#587B9D}
.stat-sales .stat-icon{background:#F5F0E3;color:#98752E}
.stat-revenue .stat-icon{background:#F4EBE7;color:#9A684D}
.stat-details>span{color:#596C5E}
.stat-details>strong{color:#153F2B}
.stat-details>small{color:#7A887E}
.panel{
 background:#FFFFFF;
 border:1px solid #DDE4DC;
 box-shadow:0 5px 16px rgba(24,58,37,.045)
}
.panel h3{color:#173F2C}
.panel-overline{color:#88743E}
.period-panel{background:#FFFFFF}
.period-panel>h2{color:#153F2B}
.period-price{color:#28764B}
.pill-success{background:#E7F0E5;color:#286342}
.pill-neutral{background:#E9EDE8;color:#586A5D}
.check-list li{color:#617166}
.page-footer{color:#78867C}
.alert-success{background:#E5F0E5;border:1px solid #D3E4D2;color:#245D39}
.alert-warning{background:#F5F0E1;border:1px solid #E9DFC0;color:#795F22}
.alert-danger{background:#F5E9E6;border:1px solid #EBD8D3;color:#913F35}
@media(max-width:700px){
 body,.main-area{background:#EEF1ED}
 .topbar{background:#fff}
 .welcome-panel{background:linear-gradient(112deg,#DCEBDD 0%,#E9F0E5 46%,#D3E4D4 100%)}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat-card{background:#fff}
}


/* ===== Restrained hero banner v0.1.6 ===== */
.welcome-panel{
  min-height:132px;
  padding:24px 30px;
  border:1px solid #D8E2D7;
  border-left:4px solid #C8A343;
  border-radius:15px;
  background:linear-gradient(105deg,#E5EDE4 0%,#EDF2EA 100%);
  box-shadow:0 5px 16px rgba(21,54,35,.035);
  color:#173F2C;
}
.welcome-panel:after{display:none}
.welcome-panel>*{position:relative;z-index:1}
.welcome-panel .eyebrow{
  margin:0 0 9px;
  color:#8A7130;
  font-size:9px;
  letter-spacing:.14em;
}
.welcome-panel h2{
  margin:0 0 7px;
  color:#153F2B;
  font-size:25px;
  line-height:1.25;
  font-weight:760;
  letter-spacing:-.045em;
}
.welcome-panel p:not(.eyebrow){
  margin:0;
  color:#5B6F60;
  font-size:12px;
  line-height:1.55;
}
@media(max-width:700px){
  .welcome-panel{
    min-height:118px;
    padding:19px 18px;
    border-radius:13px;
    border-left-width:3px;
    background:linear-gradient(105deg,#E5EDE4 0%,#EDF2EA 100%);
  }
  .welcome-panel .eyebrow{font-size:8px;margin-bottom:7px}
  .welcome-panel h2{font-size:20px;line-height:1.3;margin-bottom:6px}
  .welcome-panel p:not(.eyebrow){font-size:11px}
}


/* ===== Harvest period module v0.2.0 ===== */
.module-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 22px}
.module-intro h2{font-size:23px;line-height:1.25;letter-spacing:-.045em;color:#173F2C;margin:0 0 6px;font-weight:780}
.module-intro .eyebrow{margin:0 0 7px;color:#8A7130}
.module-intro p.muted{font-size:12px;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}
.btn-light{background:#F1F4F0;color:#43594A;border:1px solid #E0E7DF}
.btn-light:hover{background:#E8EEE7}
.btn-sm{min-height:32px;padding:0 11px;border-radius:8px;font-size:11px}
.btn-outline-green{background:#F2F7F0;border:1px solid #D5E4D2;color:#286342}
.btn-outline-green:hover{background:#E6F0E3}
.btn-outline-gold{background:#FBF7EA;border:1px solid #E9DDBB;color:#806321}
.btn-outline-gold:hover{background:#F5EED8}
.period-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.period-summary{background:#fff;border:1px solid #DDE4DC;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px rgba(24,58,37,.035)}
.period-summary span,.period-summary small{display:block;color:#728075;font-size:10px}
.period-summary strong{display:block;color:#173F2C;font-size:25px;letter-spacing:-.04em;margin:7px 0 3px}
.period-summary small{color:#8A968D}
.period-list-panel{padding:0;overflow:hidden}
.period-list-heading{padding:20px 22px;border-bottom:1px solid #E8EDE7}
.period-list-heading h3{margin:0 0 4px}
.period-list-heading .muted{margin:0}
.table-wrap{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;min-width:760px}
.data-table th{background:#F7F9F6;color:#77857A;text-align:left;font-size:10px;font-weight:750;letter-spacing:.04em;padding:13px 17px;border-bottom:1px solid #E5EBE4}
.data-table td{padding:15px 17px;border-bottom:1px solid #EDF1EC;font-size:12px;color:#425448;vertical-align:middle}
.data-table tr:last-child td{border-bottom:0}
.data-table td strong{display:block;color:#263F2F;font-size:12px;font-weight:700}
.data-table td small{display:block;color:#8A968D;font-size:10px;margin-top:4px;line-height:1.4}
.data-table .price-cell{font-weight:750;color:#1D5638;white-space:nowrap}
.text-right{text-align:right}
.action-group{display:flex;justify-content:flex-end;gap:6px;align-items:center}
.inline-form{display:inline-flex;margin:0}
.status-pill{display:inline-flex;align-items:center;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:750;white-space:nowrap}
.status-planned{background:#F1F2EE;color:#69766B}
.status-active{background:#E7F1E6;color:#286342}
.status-completed{background:#E9EDF0;color:#586B78}
.mobile-period-list{display:none}
.period-empty{padding:42px 20px}
.period-empty .btn{margin-top:17px}
.module-footnote{font-size:10px;color:#829086;margin:13px 2px 0}
.form-intro{margin-bottom:18px}
.form-panel{padding:25px;max-width:900px}
.period-form{display:block}
.form-section-heading{display:flex;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #E8EDE7;margin-bottom:20px}
.form-step{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#E9F1E6;color:#286342;font-size:11px;font-weight:800}
.form-section-heading h3{font-size:14px;margin:0 0 4px;color:#244B34}
.form-section-heading p{font-size:11px;margin:0;color:#879389}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.period-form label{display:grid;gap:8px;font-size:11px;font-weight:700;color:#46594B}
.period-form label input,.period-form textarea{font-family:inherit;font-size:12px;color:#26392D;background:#fff;border:1px solid #DCE5DB;border-radius:10px;padding:0 12px;min-height:43px;width:100%;outline:none}
.period-form label textarea{padding:11px 12px;resize:vertical;min-height:88px}
.period-form label input:focus,.period-form textarea:focus{border-color:#6F9B70;box-shadow:0 0 0 3px rgba(76,132,82,.12)}
.period-form label small{font-size:10px;color:#89958B;font-weight:400;line-height:1.45}
.required{color:#B45B43}.optional{color:#929D93;font-size:10px;font-weight:500}
.field-full{grid-column:1/-1}
.form-section-second{margin-top:27px}
.price-field{max-width:460px}
.price-input-wrap{display:flex;align-items:center;border:1px solid #DCE5DB;border-radius:10px;overflow:hidden;background:#fff}
.price-input-wrap:focus-within{border-color:#6F9B70;box-shadow:0 0 0 3px rgba(76,132,82,.12)}
.price-input-wrap>span{padding:0 13px;color:#6E7F71;font-size:12px;font-weight:750}
.period-form .price-input-wrap input{border:0;border-left:1px solid #E8EDE7;border-radius:0;box-shadow:none}
.description-field{margin-top:20px;max-width:650px}
.form-note{display:flex;align-items:flex-start;gap:10px;background:#F2F6EF;border:1px solid #E1EBDD;border-radius:10px;padding:12px 13px;margin-top:23px}
.form-note>span{width:19px;height:19px;flex:0 0 19px;border-radius:50%;background:#DDEBD8;color:#286342;display:grid;place-items:center;font-size:11px;font-weight:800}
.form-note p{font-size:10px;color:#647568;line-height:1.5;margin:1px 0 0}
.form-note strong{color:#315E3E}
.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:21px;margin-top:21px;border-top:1px solid #E8EDE7}
.confirm-dialog{width:min(92vw,410px);border:1px solid #DDE5DC;border-radius:17px;padding:24px;box-shadow:0 20px 60px rgba(15,40,24,.22);color:#26392D}
.confirm-dialog::backdrop{background:rgba(12,34,22,.42);backdrop-filter:blur(2px)}
.confirm-mark{width:34px;height:34px;border-radius:50%;background:#F5F0E1;color:#896B25;display:grid;place-items:center;font-weight:800}
.confirm-dialog h3{font-size:16px;color:#1E4931;margin:14px 0 7px}
.confirm-dialog p{font-size:12px;color:#6D7A70;line-height:1.6;margin:0}
.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
@media(max-width:900px){
 .period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .module-intro{align-items:flex-start;flex-direction:column;margin-top:2px}
 .module-intro h2{font-size:20px}
 .module-intro>.btn{width:100%}
 .period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .period-summary{padding:13px;border-radius:12px}
 .period-summary strong{font-size:22px}
 .period-list-heading{padding:16px}
 .table-wrap{display:none}
 .mobile-period-list{display:grid;gap:10px;padding:12px}
 .mobile-period-card{border:1px solid #E4EAE2;border-radius:13px;padding:14px;background:#fff}
 .mobile-period-top{display:flex;justify-content:space-between;align-items:center}
 .mobile-period-card h4{font-size:13px;color:#244B34;margin:13px 0 5px}
 .mobile-period-card>p{font-size:10px;color:#839086;margin:0}
 .mobile-period-price{font-size:20px;font-weight:800;color:#1D5638;margin-top:12px}
 .mobile-period-price small{font-size:10px;color:#829086;font-weight:500;margin-left:4px}
 .mobile-period-actions{margin-top:12px}
 .mobile-period-actions form,.mobile-period-actions button{width:100%}
 .form-panel{padding:18px 15px}
 .form-grid{grid-template-columns:1fr;gap:15px}
 .field-full{grid-column:auto}
 .price-field,.description-field{max-width:none}
 .form-section-heading{gap:10px}
 .form-actions{position:sticky;bottom:0;background:#fff;padding:14px 0 calc(14px + env(safe-area-inset-bottom));z-index:2}
 .form-actions .btn{flex:1}
}


/* ===== Period form alignment refinement v0.2.1 ===== */
.period-form .field-label{
  display:block;
  min-height:17px;
  line-height:1.4;
  font-size:11px;
  font-weight:750;
  color:#46594B;
}
.period-form .required{display:inline;color:#B45B43;font-size:11px;font-weight:700}
.period-form .optional{display:inline;color:#929D93;font-size:10px;font-weight:500}
.period-form .form-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  column-gap:22px;
  row-gap:17px;
}
.period-form .form-grid>label:not(.field-full){
  display:grid;
  grid-template-rows:17px 43px auto;
  align-content:start;
  gap:8px;
  min-width:0;
}
.period-form .form-grid>label:not(.field-full) input{
  width:100%;
  min-width:0;
  height:43px;
  min-height:43px;
}
.period-form .form-grid>label:not(.field-full) small{
  min-height:14px;
  margin:0;
}
.period-form .field-full{grid-column:1/-1}
.period-form .price-field{
  width:min(100%,360px);
  max-width:360px;
  display:grid;
  gap:8px;
}
.period-form .price-input-wrap{
  width:100%;
  max-width:360px;
  height:52px;
}
.period-form .price-input-wrap input{
  height:50px;
  min-height:50px;
}
.period-form .description-field{
  width:min(100%,650px);
  max-width:650px;
}
@media(max-width:700px){
  .period-form .form-grid{grid-template-columns:minmax(0,1fr);row-gap:15px}
  .period-form .field-full{grid-column:auto}
  .period-form .form-grid>label:not(.field-full){
    grid-template-rows:17px 43px auto;
  }
  .period-form .price-field,
  .period-form .price-input-wrap,
  .period-form .description-field{width:100%;max-width:none}
}


/* ===== Public booking page v0.3.0 ===== */
.public-booking-page{min-height:100vh;background:#EEF1ED;color:#20372A}
.public-booking-header{height:76px;background:#fff;border-bottom:1px solid #DDE4DC;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1080px)/2))}
.public-brand{display:flex;align-items:center;gap:12px}
.public-brand-mark{width:42px;height:42px;border-radius:12px;background:#174B34;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:850;letter-spacing:.04em}
.public-brand strong,.public-brand small{display:block}
.public-brand strong{font-size:12px;letter-spacing:.08em;color:#174B34}
.public-brand small{font-size:9px;letter-spacing:.08em;color:#7B887D;margin-top:4px}
.public-header-label{font-size:10px;font-weight:750;letter-spacing:.12em;color:#7A887D}
.public-booking-wrap{width:min(100% - 36px,760px);margin:38px auto 0}
.public-booking-hero{padding:10px 4px 25px}
.public-eyebrow{display:inline-block;color:#9A7930;font-size:9px;font-weight:850;letter-spacing:.16em;margin:0 0 12px}
.public-booking-hero h1{font-size:clamp(28px,5vw,42px);line-height:1.12;letter-spacing:-.055em;color:#153F2B;margin:0 0 13px;font-weight:800}
.public-booking-hero h1 span{color:#34764B}
.public-booking-hero>p{max-width:610px;font-size:13px;line-height:1.75;color:#68776D;margin:0}
.public-hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:17px;color:#617267;font-size:10px;font-weight:650}
.public-hero-meta span{display:flex;align-items:center;gap:7px}
.public-hero-meta i{width:7px;height:7px;border-radius:50%;background:#4F925B;box-shadow:0 0 0 4px #4f925b19}
.public-booking-card,.booking-success-card{background:#fff;border:1px solid #DDE4DC;border-radius:19px;padding:27px 30px;box-shadow:0 9px 25px rgba(21,54,35,.045)}
.public-form-heading{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid #E7ECE5;margin-bottom:22px}
.form-index{width:39px;height:39px;border-radius:12px;background:#E8F0E5;color:#24603C;display:grid;place-items:center;font-size:12px;font-weight:850}
.public-form-heading h2{margin:0 0 4px;color:#214B34;font-size:17px;font-weight:780;letter-spacing:-.025em}
.public-form-heading p{margin:0;color:#879188;font-size:11px}
.public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
.public-field{display:grid;align-content:start;gap:7px;min-width:0}
.public-field>span{font-size:11px;font-weight:750;color:#43564A}
.public-field>span b{color:#B65E45}
.public-field input,.public-field select,.public-field textarea{width:100%;min-width:0;border:1px solid #DCE5DB;border-radius:10px;background:#fff;color:#25392C;font:inherit;font-size:12px;outline:none;transition:border-color .18s,box-shadow .18s}
.public-field input,.public-field select{height:44px;padding:0 12px}
.public-field textarea{padding:11px 12px;resize:vertical;min-height:82px}
.public-field input:focus,.public-field select:focus,.public-field textarea:focus{border-color:#43835A;box-shadow:0 0 0 3px rgba(67,131,90,.12)}
.public-field input::placeholder,.public-field textarea::placeholder{color:#A0AAA1}
.public-field small{font-size:9px;color:#8B968D;line-height:1.45}
.field-span-2{grid-column:1/-1}
.public-booking-notice{display:flex;gap:10px;align-items:flex-start;margin:22px 0 17px;padding:12px 13px;border:1px solid #E4EBDD;border-radius:11px;background:#F5F8F1}
.public-booking-notice>span{width:19px;height:19px;flex:0 0 19px;border-radius:50%;display:grid;place-items:center;background:#E2ECD9;color:#356C43;font-size:11px;font-weight:800}
.public-booking-notice p{margin:1px 0 0;color:#637366;font-size:10px;line-height:1.6}
.public-booking-notice strong{color:#315E3D}
.public-btn{min-height:46px;border:0;border-radius:10px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:18px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;text-decoration:none}
.public-btn-primary{width:100%;background:linear-gradient(110deg,#216342,#174B34);color:#fff;box-shadow:0 7px 16px rgba(23,75,52,.14);transition:transform .18s,filter .18s}
.public-btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.public-privacy-note{text-align:center;font-size:9px;line-height:1.5;color:#929C93;margin:12px 0 0}
.public-booking-footer{text-align:center;padding:25px 10px 35px;font-size:10px;color:#8B968D}
.public-alert{margin:0 0 15px;padding:12px 14px;border-radius:10px;background:#F8ECE8;border:1px solid #EBD7D1;color:#963F35;font-size:11px;line-height:1.5}
.no-active-period{padding:25px 20px;border-radius:13px;background:#F5F7F2;border:1px solid #E5EBE2}
.no-active-period strong{display:block;color:#274D35;font-size:14px;margin-bottom:5px}
.no-active-period p{font-size:11px;color:#758278;line-height:1.6;margin:0}
.booking-success-card{text-align:center;padding:34px}
.booking-success-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:#E7F1E4;color:#2B7547;font-size:25px;font-weight:800}
.booking-success-card h2{margin:0 0 8px;color:#173F2C;font-size:25px;letter-spacing:-.04em}
.booking-success-card>p:not(.public-eyebrow){max-width:470px;margin:0 auto;color:#6F7D72;font-size:12px;line-height:1.65}
.booking-code-box{margin:22px auto;padding:14px;border:1px dashed #B8CBB5;border-radius:12px;background:#F6F9F3;max-width:330px}
.booking-code-box span,.booking-code-box strong{display:block}
.booking-code-box span{font-size:9px;letter-spacing:.14em;color:#829084;font-weight:750}
.booking-code-box strong{font-size:22px;letter-spacing:.08em;color:#1E5B39;margin-top:5px}
.booking-summary{max-width:450px;margin:0 auto 18px;text-align:left;border:1px solid #E6ECE4;border-radius:12px;padding:4px 14px}
.booking-summary>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #EDF1EB;font-size:10px}
.booking-summary>div:last-child{border-bottom:0}
.booking-summary span{color:#829086}
.booking-summary strong{color:#314D39;text-align:right}
.booking-summary .pending-status{color:#9A7629}
.booking-success-card .success-reminder{background:#F5F7F1;border-radius:9px;padding:10px 12px;font-size:10px;margin-bottom:17px}
@media(max-width:600px){
 .public-booking-header{height:66px;padding:0 16px}
 .public-brand-mark{width:37px;height:37px}
 .public-brand strong{font-size:10px}
 .public-brand small{font-size:8px}
 .public-header-label{font-size:8px}
 .public-booking-wrap{width:calc(100% - 28px);margin:22px auto 0}
 .public-booking-hero{padding:5px 2px 20px}
 .public-booking-hero h1{font-size:29px}
 .public-booking-hero>p{font-size:11px}
 .public-booking-card,.booking-success-card{padding:20px 16px;border-radius:15px}
 .public-form-grid{grid-template-columns:1fr;gap:14px}
 .field-span-2{grid-column:auto}
 .public-field input,.public-field select{height:46px}
 .booking-success-card h2{font-size:22px}
 .booking-summary>div{font-size:9px}
}


/* ===== Admin booking module v0.3.1 ===== */
.booking-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:20px 0}
.booking-count-card{display:grid;gap:5px;padding:16px 17px;background:#fff;border:1px solid #DDE4DC;border-radius:14px;text-decoration:none;box-shadow:0 4px 14px rgba(21,54,35,.035);transition:transform .18s,box-shadow .18s}
.booking-count-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(21,54,35,.07)}
.booking-count-card span{font-size:10px;color:#68776D;font-weight:650}
.booking-count-card strong{font-size:27px;line-height:1.15;color:#173F2C}
.booking-count-card small{font-size:9px;color:#8A958C}
.count-pending{border-top:3px solid #C6A34B}.count-approved{border-top:3px solid #4C8A5A}.count-rejected{border-top:3px solid #B86B5C}.count-completed{border-top:3px solid #6686A1}
.booking-filter-panel{padding:16px 18px;margin-bottom:16px}
.booking-filter-form{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr auto;align-items:end;gap:11px}
.booking-filter-form label,.reject-form label{display:grid;gap:6px;min-width:0}
.booking-filter-form label>span,.reject-form label>span{font-size:10px;font-weight:750;color:#596B5E}
.booking-filter-form input,.booking-filter-form select,.reject-form textarea{height:39px;min-width:0;width:100%;border:1px solid #DCE5DB;border-radius:9px;padding:0 10px;background:#fff;color:#2B4032;font:inherit;font-size:11px}
.booking-filter-form input:focus,.booking-filter-form select:focus,.reject-form textarea:focus{outline:none;border-color:#43835A;box-shadow:0 0 0 3px rgba(67,131,90,.11)}
.filter-actions{display:flex;gap:6px}
.filter-actions .btn{height:39px}
.booking-list-panel{overflow:hidden}
.result-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:20px;background:#EDF2E9;color:#456C4A;font-size:10px}
.booking-data-table td{vertical-align:middle}
.booking-data-table td>strong{display:block}
.booking-data-table td>small{display:block;margin-top:4px;color:#879188;font-size:9px}
.booking-empty{padding:45px 20px}
.booking-mobile-list{display:none}
.status-pending{background:#F8F1DE;color:#8A6924}
.status-approved{background:#E6F1E5;color:#2F7045}
.status-rejected{background:#F6EAE7;color:#984C40}
.status-completed{background:#E9EFF4;color:#4D6D87}
.status-cancelled{background:#EEF0ED;color:#68746B}
.booking-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:16px;align-items:start}
.booking-detail-main,.booking-action-panel{padding:22px}
.booking-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #E7ECE5}
.booking-detail-head h3{font-size:17px;margin:0;color:#173F2C}
.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px;padding:21px 0}
.booking-detail-grid>div{display:grid;gap:5px;min-width:0}
.booking-detail-grid span,.booking-detail-note>span{font-size:10px;color:#879188}
.booking-detail-grid strong{font-size:12px;color:#2B4533;overflow-wrap:anywhere}
.booking-detail-note{border-top:1px solid #E7ECE5;padding-top:16px}
.booking-detail-note p,.booking-rejection-note p{font-size:11px;line-height:1.65;color:#657469;margin:7px 0 0}
.booking-rejection-note{margin-top:15px;padding:13px;border-radius:10px;background:#F8EFEC;border:1px solid #EEDDD7}
.booking-rejection-note strong{font-size:10px;color:#914A3D}
.booking-audit-note{font-size:9px;color:#829086;margin:15px 0 0}
.booking-action-panel h3{font-size:16px;margin:3px 0 10px}
.booking-action-panel>.muted{line-height:1.6;margin-bottom:14px}
.action-full{width:100%;justify-content:center;margin-top:9px}
.reject-form{display:grid;gap:9px;margin-top:12px}
.reject-form textarea{height:auto;min-height:75px;padding:10px;resize:vertical}
.btn-outline-danger{background:#fff;color:#9A4D41;border:1px solid #E5C9C2}
.btn-outline-danger:hover{background:#FBF1EE}
.booking-ready-box{padding:13px;border:1px solid #DCE9D9;border-radius:10px;background:#F2F7EF;margin:14px 0}
.booking-ready-box strong{font-size:11px;color:#2E6842}
.booking-ready-box p{font-size:10px;color:#6B7B6E;line-height:1.6;margin:5px 0 0}
.archive-booking-form{margin-top:15px;padding-top:13px;border-top:1px solid #E8EDE6}
@media(max-width:1050px){
 .booking-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .filter-actions{grid-column:1/-1}
 .booking-detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(240px,.9fr)}
}
@media(max-width:700px){
 .booking-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}
 .booking-count-card{padding:13px;border-radius:12px}
 .booking-count-card strong{font-size:23px}
 .booking-filter-panel{padding:14px;margin-bottom:12px}
 .booking-filter-form{grid-template-columns:1fr 1fr;gap:10px}
 .booking-filter-form label:first-child{grid-column:1/-1}
 .filter-actions{grid-column:1/-1}
 .filter-actions .btn{flex:1}
 .booking-data-table{display:none}
 .booking-mobile-list{display:grid;gap:10px;padding:12px}
 .booking-mobile-card{border:1px solid #E2E9E0;border-radius:12px;padding:13px;background:#fff}
 .booking-mobile-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
 .booking-mobile-top>small{font-size:9px;color:#879188}
 .booking-mobile-card h4{font-size:14px;color:#214B34;margin:11px 0 3px}
 .booking-mobile-card>p{font-size:10px;color:#78867B;margin:0}
 .booking-mobile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}
 .booking-mobile-meta span{display:grid;gap:4px}
 .booking-mobile-meta small{font-size:8px;color:#89948B}
 .booking-mobile-meta strong{font-size:10px;color:#304A37}
 .booking-mobile-actions{display:flex;gap:8px;border-top:1px solid #EDF1EB;padding-top:10px}
 .booking-mobile-actions>*{flex:1}
 .booking-mobile-actions .btn{width:100%;justify-content:center}
 .booking-detail-layout{grid-template-columns:1fr;gap:12px}
 .booking-detail-main,.booking-action-panel{padding:16px}
 .booking-detail-grid{gap:15px 12px}
 .booking-detail-grid strong{font-size:11px}
}
@media(max-width:360px){
 .booking-filter-form{grid-template-columns:1fr}
 .booking-filter-form label:first-child,.filter-actions{grid-column:auto}
 .booking-mobile-meta{gap:3px}
 .booking-mobile-meta strong{font-size:9px}
}


/* ===== Booking summary cards: unified square grid v0.3.2 ===== */
.booking-count-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.booking-count-card{
  min-height:112px;
  aspect-ratio:1.55 / 1;
  align-content:space-between;
  padding:15px 16px;
  border:1px solid #DDE5DB;
  border-top-width:3px;
  border-radius:13px;
  background:#FFFFFF;
  box-shadow:0 3px 11px rgba(21,54,35,.035);
}
.booking-count-card span{font-size:10px;line-height:1.35}
.booking-count-card strong{font-size:25px;line-height:1.1}
.booking-count-card small{font-size:9px;line-height:1.35}
@media(max-width:700px){
  .booking-count-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .booking-count-card{
    min-height:106px;
    aspect-ratio:1.35 / 1;
    padding:13px 13px;
    border-radius:12px;
  }
  .booking-count-card strong{font-size:24px}
}
@media(max-width:360px){
  .booking-count-grid{gap:8px}
  .booking-count-card{min-height:100px;padding:11px}
  .booking-count-card span{font-size:9px}
  .booking-count-card small{font-size:8px}
}


/* ===== Booking dashboard consistency refinement v0.3.3 ===== */

/* Match the dashboard statistic cards: compact, consistent, no forced aspect ratio. */
.booking-count-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  align-items:stretch;
}
.booking-count-card{
  min-height:126px;
  aspect-ratio:auto;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
  padding:16px 17px;
  border:1px solid #DDE5DB;
  border-top:1px solid #DDE5DB;
  border-radius:16px;
  background:#FFFFFF;
  box-shadow:0 4px 15px rgba(24,59,37,.06);
}
.booking-count-card span{
  font-size:11px;
  line-height:1.4;
  color:#68776D;
  font-weight:650;
}
.booking-count-card strong{
  display:block;
  margin:3px 0;
  font-size:25px;
  line-height:1.1;
  letter-spacing:-.04em;
  color:#173F2C;
}
.booking-count-card small{
  font-size:10px;
  line-height:1.35;
  color:#89958C;
}
.count-pending{border-top:3px solid #C6A34B}
.count-approved{border-top:3px solid #4C8A5A}
.count-rejected{border-top:3px solid #B86B5C}
.count-completed{border-top:3px solid #6686A1}

/* The global .panel min-height is intended for dashboard content panels,
   not compact search/filter forms. */
.booking-filter-panel{
  min-height:0;
  height:auto;
  padding:15px 17px;
  margin-bottom:16px;
}
.booking-filter-form{
  min-height:0;
  align-items:end;
  gap:10px;
}
.booking-filter-form label{
  min-height:0;
}
.booking-filter-form input,
.booking-filter-form select{
  height:39px;
}
.filter-actions .btn{
  height:39px;
  min-height:39px;
}
@media(max-width:700px){
  .booking-count-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:15px 0;
  }
  .booking-count-card{
    min-height:112px;
    aspect-ratio:auto;
    padding:13px;
    border-radius:14px;
  }
  .booking-count-card span{font-size:10px}
  .booking-count-card strong{font-size:23px}
  .booking-count-card small{font-size:9px}
  .booking-filter-panel{
    min-height:0;
    height:auto;
    padding:13px;
    margin-bottom:12px;
  }
}


/* ===== Booking live search suggestions v0.3.4 ===== */
.booking-search-field{position:relative;z-index:8}
.booking-search-wrap{position:relative;width:100%}
.booking-search-wrap>input{width:100%}
.booking-search-suggestions{
  position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:50;
  max-height:320px;overflow:auto;background:#fff;
  border:1px solid #DDE5DB;border-radius:12px;
  box-shadow:0 12px 30px rgba(20,55,34,.14);padding:5px;
}
.booking-search-suggestions[hidden]{display:none}
.booking-suggest-option{
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 11px;border:0;border-radius:8px;background:#fff;text-align:left;
  cursor:pointer;color:#294332;font:inherit;
}
.booking-suggest-option:hover,.booking-suggest-option.is-active{background:#F1F6EF}
.booking-suggest-main,.booking-suggest-meta{display:grid;gap:4px;min-width:0}
.booking-suggest-main strong{font-size:11px;color:#214B34;font-weight:750}
.booking-suggest-main small,.booking-suggest-meta small{font-size:9px;color:#87938A}
.booking-suggest-meta{justify-items:end;flex:0 0 auto}
.booking-suggest-meta .status-pill{font-size:8px;padding:3px 7px}
.booking-suggest-empty{padding:16px 12px;text-align:center;color:#87938A;font-size:10px}
@media(max-width:700px){
 .booking-search-suggestions{max-height:260px}
 .booking-suggest-option{padding:10px 9px}
}


/* ===== Booking summary cards aligned with main dashboard v0.3.5 ===== */
.booking-count-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  align-items:stretch;
  margin:18px 0;
}
.booking-count-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  min-height:105px;
  padding:15px;
  border:1px solid var(--border,#DDE5DB);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 15px rgba(24,59,37,.06);
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.booking-count-card::after{
  content:"";
  position:absolute;
  width:76px;height:76px;
  right:-31px;bottom:-42px;
  border-radius:50%;
  background:#EDF3E9;
  pointer-events:none;
}
.booking-count-card:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(24,59,37,.09);
}
.booking-count-card .stat-icon{
  position:relative;z-index:1;
  flex:0 0 36px;
  width:36px;height:36px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:15px;
}
.booking-count-card .stat-details{
  position:relative;z-index:1;
  display:grid;
  gap:3px;
  min-width:0;
  background:transparent;
}
.booking-count-card .stat-details>span{
  font-size:10px;
  line-height:1.3;
  color:#68776D;
  font-weight:500;
}
.booking-count-card .stat-details strong{
  display:block;
  margin:0;
  font-size:23px;
  line-height:1.12;
  letter-spacing:-.04em;
  color:#173F2C;
}
.booking-count-card .stat-details small{
  font-size:9px;
  line-height:1.3;
  color:#89958C;
}
.booking-count-card.count-pending .stat-icon{background:#EAF2E6;color:#267343}
.booking-count-card.count-approved .stat-icon{background:#EAF0F8;color:#5279A7}
.booking-count-card.count-rejected .stat-icon{background:#F7F0DF;color:#B1842D}
.booking-count-card.count-completed .stat-icon{background:#F5EBE7;color:#B66D4E}
.booking-count-card.count-pending::after,
.booking-count-card.count-approved::after,
.booking-count-card.count-rejected::after,
.booking-count-card.count-completed::after{border:0}
@media(max-width:700px){
  .booking-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
  .booking-count-card{min-height:105px;padding:12px;gap:9px;border-radius:15px}
  .booking-count-card .stat-icon{flex-basis:34px;width:34px;height:34px;font-size:14px}
  .booking-count-card .stat-details>span{font-size:9px}
  .booking-count-card .stat-details strong{font-size:21px}
  .booking-count-card .stat-details small{font-size:8px}
}
@media(max-width:360px){
  .booking-count-card{gap:7px;padding:10px}
  .booking-count-card .stat-icon{flex-basis:30px;width:30px;height:30px}
}


/* ===== Booking summary card proportions refinement v0.3.6 ===== */
/* Give desktop cards more vertical presence while retaining the dashboard icon-and-copy style. */
.booking-count-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:15px;
}
.booking-count-card{
  min-height:142px;
  height:142px;
  padding:18px 17px;
  gap:13px;
  border-radius:16px;
}
.booking-count-card .stat-icon{
  flex-basis:42px;
  width:42px;
  height:42px;
  font-size:16px;
}
.booking-count-card .stat-details{
  gap:5px;
}
.booking-count-card .stat-details>span{font-size:11px}
.booking-count-card .stat-details strong{font-size:25px}
.booking-count-card .stat-details small{font-size:10px}
.booking-count-card::after{
  width:88px;
  height:88px;
  right:-35px;
  bottom:-48px;
}
@media(max-width:700px){
  .booking-count-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .booking-count-card{
    height:112px;
    min-height:112px;
    padding:13px;
    gap:9px;
  }
  .booking-count-card .stat-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
    font-size:14px;
  }
  .booking-count-card .stat-details>span{font-size:9px}
  .booking-count-card .stat-details strong{font-size:22px}
  .booking-count-card .stat-details small{font-size:8px}
}
@media(max-width:360px){
  .booking-count-card{
    height:106px;
    min-height:106px;
    padding:10px;
    gap:7px;
  }
  .booking-count-card .stat-icon{
    flex-basis:32px;
    width:32px;
    height:32px;
  }
}

/* ===== Transaction sales module v0.4.0 ===== */
.transaction-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}
.transaction-summary{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:105px;padding:15px 17px;background:#fff;border:1px solid #DDE5DB;border-radius:15px;box-shadow:0 4px 15px rgba(24,59,37,.05)}
.transaction-summary span{font-size:10px;color:#6D7C70;font-weight:650}.transaction-summary strong{font-size:22px;color:#173F2C;line-height:1.2;letter-spacing:-.035em}.transaction-summary strong small{font-size:11px}.transaction-summary small{font-size:9px;color:#89958C}
.transaction-filter-panel{min-height:0;height:auto;padding:15px 17px;margin-bottom:15px}
.transaction-filter-form{display:grid;grid-template-columns:1.4fr 1.2fr 1fr auto;align-items:end;gap:11px}
.transaction-filter-form label,.reject-form label{display:grid;gap:6px;min-width:0}.transaction-filter-form label>span{font-size:10px;font-weight:750;color:#596B5E}
.transaction-filter-form input,.transaction-filter-form select{height:39px;width:100%;min-width:0;border:1px solid #DCE5DB;border-radius:9px;padding:0 10px;background:#fff;color:#2B4032;font:inherit;font-size:11px}
.transaction-filter-form .filter-actions{display:flex;gap:6px}
.transaction-form{padding:24px 26px}.transaction-form-section{padding:4px 0 22px;margin-bottom:20px;border-bottom:1px solid #E9EEE7}
.form-section-title{display:flex;align-items:center;gap:12px;margin-bottom:19px}.form-section-title>span{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#E9F1E6;color:#28623D;font-size:11px;font-weight:850}
.form-section-title h3{font-size:15px;color:#214B34;margin:0 0 3px}.form-section-title p{font-size:10px;color:#879188;margin:0}
.transaction-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.transaction-fields-grid>label{display:grid;gap:7px;min-width:0}.transaction-fields-grid>label>span{font-size:11px;font-weight:750;color:#43564A}.transaction-fields-grid>label>span b{color:#B65E45}
.transaction-fields-grid input,.transaction-fields-grid select,.transaction-fields-grid textarea{width:100%;min-width:0;height:43px;padding:0 12px;border:1px solid #DCE5DB;border-radius:10px;background:#fff;color:#25392C;font:inherit;font-size:12px}
.transaction-fields-grid textarea{height:auto;min-height:76px;padding:10px 12px;resize:vertical}.transaction-fields-grid small{font-size:9px;color:#89958C;line-height:1.45}
.transaction-customer-card{display:flex;align-items:center;gap:13px;padding:15px 16px;margin-bottom:23px;border:1px solid #DDE9D9;border-radius:13px;background:#F6F9F3}
.transaction-customer-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:50%;background:#E5F0E2;color:#34754A;font-size:17px;font-weight:800}
.transaction-customer-card>div:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.transaction-customer-card>div:nth-child(2)>span{font-size:8px;font-weight:850;letter-spacing:.12em;color:#9A7930}.transaction-customer-card strong{font-size:14px;color:#204A32}.transaction-customer-card small{font-size:9px;color:#829087}
.transaction-customer-price{font-size:15px;font-weight:800;color:#1D5B38;text-align:right}.transaction-customer-price small{display:block;text-align:right;font-size:9px;font-weight:500}
.weight-input-wrap{display:flex;align-items:center;border:1px solid #DCE5DB;border-radius:10px;overflow:hidden;background:#fff}.weight-input-wrap:focus-within{border-color:#43835A;box-shadow:0 0 0 3px rgba(67,131,90,.12)}.weight-input-wrap input{border:0!important;box-shadow:none!important;border-radius:0!important;flex:1}.weight-input-wrap>span{padding:0 13px;color:#738176;font-size:10px;font-weight:700}
.transaction-price-preview{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:83px;padding:13px 15px;border:1px solid #E0EBDD;border-radius:11px;background:#F5F8F2}.transaction-price-preview>span{font-size:10px;color:#738176}.transaction-price-preview strong{font-size:23px;color:#1D5B38;letter-spacing:-.035em}.transaction-price-preview small{font-size:9px;color:#89958C}
.transaction-notes-field{grid-column:1/-1}.transaction-price-note{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #E4EBDD;border-radius:10px;background:#F5F8F1}.transaction-price-note>span{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border-radius:50%;background:#E2ECD9;color:#356C43;font-size:11px;font-weight:800}.transaction-price-note p{margin:1px 0 0;color:#637366;font-size:10px;line-height:1.6}
.transaction-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.transaction-mobile-list{display:none}.transaction-list-panel{overflow:hidden}
.transaction-receipt{max-width:760px;margin:0 auto;padding:26px;background:#fff;border:1px solid #DDE5DB;border-radius:17px;box-shadow:0 5px 18px rgba(24,59,37,.05)}
.receipt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #E8EEE6}.receipt-head>div{display:grid;gap:4px}.receipt-head>div span{font-size:11px;font-weight:850;letter-spacing:.1em;color:#174B34}.receipt-head>div strong{font-size:9px;letter-spacing:.08em;color:#879188}.receipt-success{font-size:9px;font-weight:800;color:#36754A;background:#EAF3E7;padding:7px 10px;border-radius:20px}
.receipt-total{display:grid;gap:7px;padding:23px 0;border-bottom:1px solid #E8EEE6}.receipt-total span{font-size:9px;font-weight:800;letter-spacing:.13em;color:#8A968C}.receipt-total strong{font-size:32px;line-height:1.1;letter-spacing:-.045em;color:#174B34}
.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;padding:21px 0}.receipt-grid>div{display:grid;gap:5px;min-width:0}.receipt-grid span,.receipt-notes>span,.receipt-calculation>span{font-size:9px;color:#879188}.receipt-grid strong{font-size:11px;color:#2D4935;overflow-wrap:anywhere}
.receipt-notes,.receipt-calculation{padding:13px 0;border-top:1px solid #E8EEE6}.receipt-notes p{font-size:10px;color:#68776D;line-height:1.6;margin:5px 0 0}.receipt-calculation{display:grid;gap:7px}.receipt-calculation strong{font-size:11px;color:#1E5B39}
.transaction-detail-actions{display:flex;justify-content:center;gap:9px;margin-top:16px}
@media(max-width:1000px){.transaction-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-filter-form .filter-actions{grid-column:1/-1}}
@media(max-width:700px){
.transaction-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.transaction-summary{min-height:95px;padding:12px;border-radius:12px}.transaction-summary strong{font-size:18px}
.transaction-filter-panel{min-height:0;height:auto;padding:13px}.transaction-filter-form{grid-template-columns:1fr 1fr;gap:10px}.transaction-filter-form label:first-child,.transaction-filter-form .filter-actions{grid-column:1/-1}.transaction-filter-form .filter-actions .btn{flex:1}
.transaction-form{padding:18px 15px}.transaction-fields-grid{grid-template-columns:1fr;gap:13px}.transaction-notes-field{grid-column:auto}
.transaction-customer-card{padding:12px;gap:9px}.transaction-customer-price{font-size:12px}
.transaction-list-panel .data-table{display:none}.transaction-mobile-list{display:grid;gap:10px;padding:12px}.transaction-mobile-card{padding:13px;border:1px solid #E2E9E0;border-radius:12px;background:#fff}
.transaction-mobile-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.transaction-mobile-top strong{font-size:10px;color:#31543A}.transaction-mobile-top small{font-size:8px;color:#879188}
.transaction-mobile-card h4{font-size:13px;color:#214B34;margin:10px 0 3px}.transaction-mobile-card>p{font-size:9px;color:#879188;margin:0}.transaction-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.transaction-mobile-meta span{display:grid;gap:4px}.transaction-mobile-meta small{font-size:8px;color:#879188}.transaction-mobile-meta strong{font-size:10px;color:#31543A}.transaction-mobile-card>.btn{width:100%;justify-content:center}
.transaction-receipt{padding:18px 15px;border-radius:14px}.receipt-grid{gap:14px 10px}.receipt-grid strong{font-size:10px}.receipt-total strong{font-size:27px}.transaction-form-actions{flex-direction:column-reverse}.transaction-form-actions .btn{width:100%;justify-content:center}.transaction-detail-actions{flex-direction:column}.transaction-detail-actions .btn{width:100%;justify-content:center}
}


/* ===== Transaction confirmation modal v0.4.2 ===== */


/* ===== Transaction correction & void management v0.5.0 ===== */
.transaction-action-cell{white-space:nowrap}.transaction-action-cell .btn{margin:2px}.btn-danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid #E8D7D2;background:#FBF0ED;color:#A64B38;border-radius:9px;padding:8px 11px;font:inherit;font-size:10px;font-weight:750;text-decoration:none;cursor:pointer}.btn-danger:hover{background:#F6E3DE;border-color:#D9B5AA}.status-voided,.receipt-voided{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:20px;background:#F9EAE6;color:#A64B38;font-size:9px;font-weight:850}.receipt-voided{font-size:10px;letter-spacing:.04em}.transaction-mobile-actions{display:flex;gap:6px;flex-wrap:wrap}.transaction-mobile-actions .btn{flex:1;justify-content:center}.transaction-edit-panel{max-width:850px;margin:0 auto;padding:22px}.transaction-edit-warning,.transaction-void-warning{display:grid;gap:5px;padding:13px 15px;margin-bottom:20px;border:1px solid #E7EBDD;border-radius:11px;background:#F6F8F1;color:#657568;font-size:11px;line-height:1.6}.transaction-edit-warning strong,.transaction-void-warning strong{color:#28563A;font-size:12px}.transaction-void-warning{background:#FBF3EF;border-color:#EEDDD5}.transaction-void-warning strong{color:#A64B38}.transaction-edit-form{display:grid;gap:16px}.transaction-edit-total{display:grid;gap:5px;padding:14px 16px;border:1px solid #E0EBDD;border-radius:11px;background:#F5F8F2}.transaction-edit-total span,.transaction-edit-total small{font-size:10px;color:#7C897E}.transaction-edit-total strong{font-size:23px;color:#1D5B38}.transaction-void-summary{display:grid;gap:5px;padding:14px 0;margin-bottom:16px;border-bottom:1px solid #E8EEE6}.transaction-void-summary strong{font-size:15px;color:#214B34}.transaction-void-summary span{font-size:11px;color:#78867B}.void-reason-label{display:grid;gap:7px}.void-reason-label span{font-size:11px;font-weight:750;color:#43564A}.void-reason-label textarea{width:100%;min-height:100px;padding:11px 12px;border:1px solid #DCE5DB;border-radius:10px;font:inherit;font-size:12px;resize:vertical}.transaction-void-banner{max-width:760px;margin:15px auto 0;padding:14px 16px;display:grid;gap:5px;border:1px solid #EEDDD5;border-radius:11px;background:#FBF3EF;color:#8F493A}.transaction-void-banner strong{font-size:12px}.transaction-void-banner span,.transaction-void-banner small{font-size:10px;line-height:1.5}.transaction-history-panel{max-width:760px;margin:15px auto;padding:17px 20px}.transaction-history-item{display:grid;gap:5px;padding:12px 0;border-top:1px solid #E8EEE6}.transaction-history-item strong{font-size:10px;color:#31543A}.transaction-history-item span{font-size:10px;color:#69786E}.transaction-history-item small{font-size:9px;color:#89958C}
@media(max-width:700px){.transaction-edit-panel{padding:16px 13px}.transaction-action-cell{white-space:normal}.transaction-mobile-actions{display:grid;grid-template-columns:1fr 1fr}.transaction-mobile-actions .btn:first-child{grid-column:1/-1}.transaction-detail-actions{flex-wrap:wrap}.transaction-detail-actions .btn{width:100%;justify-content:center}}


/* Reports module */
.report-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.report-filter-panel{padding:16px 18px;margin:18px 0}.report-filter-form{display:grid;grid-template-columns:1fr 1fr 1.25fr auto;gap:12px;align-items:end}.report-filter-form label{display:flex;flex-direction:column;gap:7px;min-width:0}.report-filter-form label span{font-size:10px;font-weight:700;color:#52685A}.report-filter-form input,.report-filter-form select{height:41px;border:1px solid #DDE5DB;border-radius:10px;padding:0 12px;background:#fff;color:#173F2C;font:inherit;font-size:12px;min-width:0}.report-filter-form .filter-actions{display:flex;gap:7px}.report-period-note{display:flex;justify-content:space-between;align-items:center;padding:0 3px;margin:14px 0 5px;color:#718176;font-size:11px}.report-period-note strong{color:#173F2C;font-size:12px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 18px}.report-void-card strong{color:#9B5C31}.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:15px}.report-table-panel{min-width:0;overflow:hidden}.report-table-panel .table-wrap{overflow-x:auto}.report-table-panel .data-table{min-width:520px}.report-payment-panel{margin-top:15px}.report-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-payment-item{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #E4EAE2;border-radius:12px;background:#FBFCFA}.report-payment-item span,.report-payment-item small{font-size:10px;color:#718176}.report-payment-item strong{font-size:18px;color:#174A32}.report-summary-grid .transaction-summary strong{font-size:20px}
@media(max-width:1000px){.report-filter-form{grid-template-columns:1fr 1fr}.report-filter-form .filter-actions{align-self:end}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-two-column{grid-template-columns:1fr}}
@media(max-width:600px){.report-actions{width:100%}.report-actions .btn{flex:1;justify-content:center}.report-filter-form{grid-template-columns:1fr 1fr;gap:9px}.report-filter-form label:nth-child(3){grid-column:1/-1}.report-filter-form .filter-actions{grid-column:1/-1}.report-filter-form .filter-actions .btn{flex:1;justify-content:center}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid .transaction-summary{min-height:95px}.report-summary-grid .transaction-summary strong{font-size:16px}.report-payment-grid{grid-template-columns:1fr}.report-period-note{align-items:flex-start;gap:6px;flex-direction:column}}
@media print{.sidebar,.topbar,.report-filter-panel,.report-actions,.mobile-menu-btn,.sidebar-backdrop,.page-footer{display:none!important}.app-shell,.main-area,.content{display:block!important;width:100%!important;margin:0!important;padding:0!important}.report-two-column{grid-template-columns:1fr 1fr}.panel,.transaction-summary{box-shadow:none!important;break-inside:avoid;border:1px solid #ddd!important}.report-summary-grid{grid-template-columns:repeat(4,1fr)}body{background:#fff!important;color:#111!important}.report-period-note{margin-top:0}}

/* Dashboard finishing v0.7.0 */
.welcome-panel{min-height:190px;padding:32px 36px;border:1px solid #dce8d9;background:radial-gradient(circle at 84% 18%,#ffffff32 0,transparent 24%),radial-gradient(circle at 96% 110%,#b9d39b30 0,transparent 30%),linear-gradient(112deg,#174b35 0%,#1d6543 58%,#315f42 100%);box-shadow:0 12px 30px #174b3518}
.welcome-copy{position:relative;z-index:2}.welcome-panel h2{font-size:29px;letter-spacing:-.045em}.welcome-panel p:not(.eyebrow){font-size:13px}
.welcome-tag{display:inline-flex;align-items:center;gap:8px;margin-top:19px;padding:7px 11px;border:1px solid #ffffff35;border-radius:999px;background:#ffffff12;color:#e6f0df;font-size:10px;font-weight:650}
.welcome-tag i,.live-dot{width:7px;height:7px;border-radius:50%;background:#c7e78d;box-shadow:0 0 0 4px #c7e78d25}
.welcome-art{position:relative;width:190px;height:145px;flex:0 0 190px;margin-right:30px;opacity:.9}
.art-orbit{position:absolute;border:1px solid #e0f0d355;border-radius:50%;transform:rotate(-25deg)}
.orbit-one{width:150px;height:95px;right:0;top:25px}.orbit-two{width:105px;height:140px;right:24px;top:2px;transform:rotate(35deg)}
.art-leaf{position:absolute;color:#d9eca9;text-shadow:0 8px 22px #0d2c1c55}
.leaf-one{font-size:62px;right:48px;top:10px}.leaf-two{font-size:48px;right:0;top:57px;color:#f1e3a5}.leaf-three{font-size:35px;right:108px;top:77px}
.section-heading{margin:30px 0 16px}.section-heading h2{font-size:18px;letter-spacing:-.025em}
.stats-grid{gap:16px}.stat-card{position:relative;overflow:hidden;min-height:116px;padding:20px 20px 18px 66px;border-radius:18px;box-shadow:0 7px 22px #173d2810;transition:transform .2s ease,box-shadow .2s ease}
.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stat-accent,#78a66f);opacity:.9}
.stat-card:after{content:"";position:absolute;width:90px;height:90px;right:-42px;bottom:-54px;border-radius:50%;background:var(--stat-soft,#edf5e9)}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px #173d2818}
.stat-icon{position:absolute;left:19px;top:23px;width:34px;height:34px;border-radius:12px;background:var(--stat-soft,#edf5e9);color:var(--stat-accent,#32754a);font-size:15px}
.stat-booking{--stat-accent:#438b61;--stat-soft:#e8f3e9}.stat-visitors{--stat-accent:#5d88b4;--stat-soft:#eaf1f8}.stat-sales{--stat-accent:#b38b37;--stat-soft:#f7f0df}.stat-revenue{--stat-accent:#b46e57;--stat-soft:#f7ece8}
.stat-details{position:relative;z-index:1}.stat-details>span{font-size:11px;color:#718075}.stat-details>strong{display:block;margin:7px 0 3px;font-size:26px;line-height:1.15;letter-spacing:-.045em;color:#123e2c}.stat-details>strong small{font-size:12px;letter-spacing:0;color:#66806d}.stat-details>small{font-size:10px;color:#9aa79c}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:17px;margin-top:19px;align-items:stretch}
.premium-period-panel{min-height:245px;padding:24px 25px;background:linear-gradient(135deg,#fff 0%,#f7faf5 65%,#edf5e9 100%);border-color:#e1eade;box-shadow:0 8px 24px #173d2810}
.premium-period-panel .panel-heading{align-items:center}.premium-period-panel h3{font-size:15px}
.premium-period-panel>h2{font-size:24px;margin:28px 0 7px;color:#164c34}
.active-period-content{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:35px}
.period-label,.period-price-card>span{display:block;font-size:10px;color:#829187;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.active-period-content h2{font-size:25px;letter-spacing:-.04em;margin:8px 0;color:#164c34}
.active-period-content .muted{font-size:11px;margin:0}
.period-price-card{min-width:190px;padding:17px 19px;border:1px solid #dce9d8;border-radius:15px;background:#ffffffc9;box-shadow:0 5px 16px #174b350b}
.period-price-card strong{display:block;margin-top:8px;color:#247449;font-size:22px;letter-spacing:-.04em}.period-price-card small{font-size:11px;color:#87958a}
.dashboard-shortcuts{padding:5px 0;display:flex;flex-direction:column;gap:9px}
.shortcut-heading{padding:0 2px 4px}.shortcut-heading h3{margin:0;font-size:15px;color:#164532}.shortcut-heading .panel-overline{margin:0 0 5px}
.shortcut-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e3eae2;border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px #173d2809;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.shortcut-card:hover{transform:translateX(3px);border-color:#bfd5bd;box-shadow:0 8px 20px #173d2812}
.shortcut-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:12px;font-size:15px}
.booking-shortcut{background:#e9f3e9;color:#36774d}.sales-shortcut{background:#f7f0df;color:#a17b2c}.report-shortcut{background:#eaf0f7;color:#5b7ea5}
.shortcut-card>span:nth-child(2){min-width:0;flex:1}.shortcut-card strong,.shortcut-card small{display:block}.shortcut-card strong{font-size:11px;color:#244a35}.shortcut-card small{font-size:9px;color:#8b988e;margin-top:3px}.shortcut-card>b{font-size:18px;color:#78947b;font-weight:500}
.live-dot{display:inline-block;width:6px;height:6px;margin-right:5px;background:#6ba875;box-shadow:0 0 0 3px #6ba87520}
@media(max-width:900px){.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.shortcut-heading{grid-column:1/-1}.shortcut-card{align-items:flex-start;padding:12px}.shortcut-card>b{display:none}}
@media(max-width:700px){.welcome-panel{min-height:160px;padding:23px 21px}.welcome-panel h2{font-size:23px}.welcome-panel p:not(.eyebrow){font-size:11px}.welcome-art{width:80px;height:90px;flex-basis:80px;margin-right:0;opacity:.6}.orbit-one{width:75px;height:55px;right:0;top:18px}.orbit-two{width:55px;height:80px;right:10px;top:5px}.leaf-one{font-size:34px;right:22px;top:8px}.leaf-two{font-size:26px;right:-2px;top:40px}.leaf-three{font-size:21px;right:49px;top:49px}.stats-grid{gap:10px}.stat-card{min-height:105px;padding:16px 10px 14px 52px;border-radius:15px}.stat-icon{left:12px;top:18px;width:29px;height:29px}.stat-details>span{font-size:9px}.stat-details>strong{font-size:21px}.stat-details>small{font-size:9px}.dashboard-lower-grid{gap:14px}.premium-period-panel{padding:19px;min-height:210px}.active-period-content{align-items:flex-start;flex-direction:column;margin-top:24px}.period-price-card{width:100%;min-width:0}.dashboard-shortcuts{grid-template-columns:1fr}.shortcut-heading{grid-column:auto}.shortcut-card{align-items:center}.shortcut-card>b{display:block}}


/* Dashboard finishing polish v0.7.1 - contrast and visual balance */
.welcome-panel .welcome-copy .eyebrow.light{
  color:#e2c66d !important;
  text-shadow:0 1px 8px #102f2330;
}
.welcome-panel .welcome-copy h2{
  color:#fff !important;
  text-shadow:0 2px 12px #0b2b1c35;
}
.welcome-panel .welcome-copy p:not(.eyebrow){
  color:#e0eee5 !important;
}
.welcome-tag{
  color:#f2f7ed;
  background:#ffffff18;
  border-color:#ffffff45;
}
.stat-details>span{color:#52685b}
.stat-details>strong{color:#103e2b;text-shadow:0 1px 0 #ffffff}
.stat-details>small{color:#718277}
.active-period-content{margin-top:29px}
.period-price-card{background:#ffffffed}
.shortcut-card strong{color:#173f2c}
.shortcut-card small{color:#718176}
@media(max-width:700px){
  .welcome-panel .welcome-copy h2{max-width:290px}
  .welcome-panel .welcome-copy p:not(.eyebrow){max-width:270px}
}


/* Dashboard premium statistic cards v0.7.2 */
.dashboard-lower-grid-single{grid-template-columns:minmax(0,1fr);margin-top:20px}
.dashboard-lower-grid-single .premium-period-panel{min-height:190px}
.stats-grid{gap:18px}
.stat-card{
  min-height:142px;
  padding:20px 20px 18px 20px;
  border:1px solid #e1e9e1;
  border-radius:19px;
  background:linear-gradient(145deg,#ffffff 0%,#fbfdfb 72%,var(--stat-soft,#edf5e9) 160%);
  box-shadow:0 8px 24px #173d280d,0 1px 2px #173d2808;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.stat-card:before{left:0;top:17px;bottom:17px;width:3px;border-radius:0 4px 4px 0}
.stat-card:after{width:112px;height:112px;right:-55px;bottom:-69px;opacity:.78}
.stat-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #173d2817;border-color:#d4e2d3}
.stat-icon{
  position:relative;left:auto;top:auto;
  width:42px;height:42px;min-height:42px;
  margin-bottom:14px;border-radius:14px;
  background:var(--stat-soft,#edf5e9);
  color:var(--stat-accent,#32754a);
  font-size:17px;
  box-shadow:inset 0 0 0 1px #ffffffa8;
}
.stat-details{display:flex;flex-direction:column;gap:0}
.stat-details>span{
  order:0;font-size:11px;font-weight:600;
  letter-spacing:.015em;color:#758579;
}
.stat-details>strong{
  order:1;font-size:29px;line-height:1.15;
  margin:7px 0 5px;color:#123e2c;
  font-weight:800;letter-spacing:-.055em;
}
.stat-details>strong small{font-size:12px;font-weight:700;color:#6f8875}
.stat-details>small{order:2;font-size:10px;color:#9aa79c}
.stat-booking{--stat-accent:#39875b;--stat-soft:#e8f3e9}
.stat-visitors{--stat-accent:#5c86b2;--stat-soft:#eaf1f8}
.stat-sales{--stat-accent:#b18a35;--stat-soft:#f7f0df}
.stat-revenue{--stat-accent:#b46e57;--stat-soft:#f7ece8}
.premium-period-panel{
  min-height:178px;padding:23px 27px;
  border-radius:19px;
  background:linear-gradient(110deg,#fff 0%,#fbfdf9 58%,#f0f6ed 100%);
}
.active-period-content{margin-top:24px;align-items:center}
.period-price-card{
  min-width:225px;padding:17px 21px;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#f8fbf6);
  border-color:#dce8d9;
  box-shadow:0 8px 20px #174b350b;
}
.period-price-card strong{font-size:25px}
@media(max-width:900px){
 .stat-card{min-height:132px}
}
@media(max-width:700px){
 .stats-grid{gap:11px}
 .stat-card{min-height:126px;padding:15px 13px;border-radius:16px}
 .stat-icon{width:35px;height:35px;min-height:35px;margin-bottom:10px}
 .stat-details>strong{font-size:23px}
 .premium-period-panel{padding:19px;min-height:0}
 .active-period-content{margin-top:22px}
 .period-price-card{min-width:0}
}


/* Dashboard KPI cards refinement v0.7.3 */
.stats-grid{align-items:stretch;gap:16px}
.stat-card{
  min-height:132px;
  padding:18px 18px 17px 68px;
  display:block;
  position:relative;
  text-align:left;
  background:linear-gradient(135deg,#fff 0%,#fbfdfb 100%);
  border:1px solid #e3ebe2;
  border-radius:18px;
  box-shadow:0 5px 18px #173d280b;
}
.stat-card:before{
  left:0;top:18px;bottom:18px;width:3px;
  border-radius:0 4px 4px 0;
}
.stat-card:after{
  width:82px;height:82px;right:-43px;bottom:-51px;
  opacity:.55;
}
.stat-icon{
  position:absolute;left:17px;top:20px;
  width:38px;height:38px;min-height:38px;
  margin:0;border-radius:13px;font-size:15px;
}
.stat-details{
  display:flex;flex-direction:column;
  align-items:flex-start;text-align:left;
  padding-top:3px;position:relative;z-index:1;
}
.stat-details>span{font-size:11px;font-weight:600;color:#748477}
.stat-details>strong{
  margin:8px 0 4px;font-size:28px;line-height:1.08;
  font-weight:800;letter-spacing:-.055em;color:#123e2c;
}
.stat-details>strong small{font-size:11px;margin-left:2px}
.stat-details>small{font-size:10px;line-height:1.4;color:#8b998e}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #173d2812}
@media(max-width:700px){
 .stat-card{min-height:118px;padding:15px 11px 14px 54px;border-radius:15px}
 .stat-icon{left:11px;top:16px;width:32px;height:32px;min-height:32px;border-radius:11px}
 .stat-details{padding-top:1px}
 .stat-details>span{font-size:9px}
 .stat-details>strong{font-size:23px;margin:7px 0 4px}
 .stat-details>small{font-size:9px}
}


/* Responsive dashboard refinement v0.7.5 - softer, less rigid KPI layout */
@media(max-width:700px){
  .content{padding-top:16px}
  .welcome-panel{
    min-height:0;
    padding:24px 21px 23px;
    border-radius:22px;
    margin-bottom:0;
    background:
      radial-gradient(circle at 92% 80%,#9ac47a25 0,transparent 34%),
      linear-gradient(145deg,#073d2b 0%,#125b3c 58%,#216b46 100%);
  }
  .welcome-panel:before{right:-85px;top:-100px;width:270px;height:250px}
  .welcome-panel:after{right:0;bottom:-90px;width:120px;height:145px;opacity:.6}
  .welcome-panel .welcome-copy h2{
    max-width:300px;font-size:24px;line-height:1.17;
    letter-spacing:-.04em;
  }
  .welcome-panel .welcome-copy p:not(.eyebrow){max-width:285px;font-size:11px}
  .welcome-art{position:absolute;right:4px;bottom:2px;transform:scale(.78);opacity:.3}
  .section-heading{align-items:flex-start;gap:8px;margin:25px 0 15px}
  .section-heading h2{font-size:18px}
  .section-heading p{font-size:11px;max-width:220px;line-height:1.5}
  .section-heading .pill{white-space:nowrap;font-size:9px;padding:7px 10px}
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .stat-card{
    min-height:150px;
    padding:15px 14px 14px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    border-radius:19px;
    background:linear-gradient(150deg,#fff 0%,#fff 72%,var(--stat-soft) 160%);
    box-shadow:0 7px 20px #123e2c0b;
  }
  .stat-card:before{top:17px;bottom:17px;width:3px}
  .stat-card:after{width:75px;height:75px;right:-39px;bottom:-45px;opacity:.35}
  .stat-icon{
    position:static;
    width:35px;height:35px;min-height:35px;
    margin:0 0 12px;
    border-radius:12px;
    font-size:15px;
  }
  .stat-details{
    display:flex;
    align-items:flex-start;
    text-align:left;
    padding:0;
    gap:0;
  }
  .stat-details>span{font-size:10px;line-height:1.35;color:#718478}
  .stat-details>strong{
    font-size:25px;line-height:1.1;
    margin:6px 0 4px;
    letter-spacing:-.05em;
  }
  .stat-details>strong small{font-size:10px}
  .stat-details>small{font-size:9px;line-height:1.35}
  .dashboard-lower-grid-single{margin-top:15px}
  .premium-period-panel{
    min-height:0;
    padding:20px 18px;
    border-radius:20px;
    background:linear-gradient(145deg,#fff 0%,#fbfdf9 68%,#eff6ec 100%);
  }
  .premium-period-panel .panel-heading{align-items:flex-start}
  .premium-period-panel .panel-heading h3{font-size:15px}
  .active-period-content{margin-top:22px;gap:16px}
  .active-period-content h2{font-size:25px}
  .active-period-content .muted{font-size:11px;line-height:1.5}
  .period-price-card{padding:15px 17px;border-radius:15px}
  .period-price-card strong{font-size:23px}
  .page-footer{font-size:10px;gap:8px;flex-wrap:wrap}
}
@media(max-width:380px){
  .stats-grid{gap:9px}
  .stat-card{min-height:142px;padding:13px 11px}
  .stat-details>strong{font-size:22px}
  .welcome-panel .welcome-copy h2{font-size:22px}
}


/* v0.7.7 - Dashboard KPI clean white cards only
   Preserve the existing four KPI cards, labels, icons, layout and data logic. */
.stats-grid .stat-card{
  background:#fff !important;
  border:1px solid #e3e9e4 !important;
  box-shadow:0 4px 14px rgba(20,55,37,.045) !important;
}
.stats-grid .stat-card::before,
.stats-grid .stat-card::after{
  display:none !important;
  content:none !important;
}
.stats-grid .stat-card:hover{
  background:#fff !important;
  border-color:#d9e3da !important;
  box-shadow:0 7px 18px rgba(20,55,37,.065) !important;
}


/* v0.7.8 - Clean KPI cards: remove icons only */
.stats-grid .stat-card .stat-icon{
  display:none !important;
}


/* v0.7.9 - Align KPI text left and make active-period panel plain white */
.stats-grid .stat-card{
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
}
.stats-grid .stat-card .stat-details{
  align-items:flex-start !important;
  text-align:left !important;
  width:100%;
}
.stats-grid .stat-card .stat-details > span,
.stats-grid .stat-card .stat-details > strong,
.stats-grid .stat-card .stat-details > small{
  text-align:left !important;
  align-self:flex-start !important;
}
.dashboard-lower-grid-single .premium-period-panel{
  background:#fff !important;
  border:1px solid #e3e9e4 !important;
  box-shadow:0 4px 14px rgba(20,55,37,.045) !important;
}
.dashboard-lower-grid-single .premium-period-panel::before,
.dashboard-lower-grid-single .premium-period-panel::after{
  display:none !important;
  content:none !important;
}
.dashboard-lower-grid-single .period-price-card{
  background:#fff !important;
  box-shadow:none !important;
}


/* v0.8.0 - Booking summary cards match clean dashboard style */
.booking-count-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:7px !important;
  padding:19px 20px !important;
  background:#fff !important;
  border:1px solid #e3e9e4 !important;
  border-top:1px solid #e3e9e4 !important;
  border-radius:17px !important;
  box-shadow:0 4px 14px rgba(20,55,37,.045) !important;
  text-align:left !important;
}
.booking-count-card .stat-icon{display:none !important}
.booking-count-card .stat-details{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:left !important;
  width:100%;
  gap:5px !important;
}
.booking-count-card .stat-details>span,
.booking-count-card .stat-details>strong,
.booking-count-card .stat-details>small{
  display:block;
  text-align:left !important;
  align-self:flex-start !important;
}
.booking-count-card .stat-details>span{
  font-size:11px !important;
  color:#68796e !important;
  font-weight:650 !important;
}
.booking-count-card .stat-details>strong{
  margin:2px 0 !important;
  font-size:28px !important;
  line-height:1.12 !important;
  color:#123e2c !important;
  font-weight:800 !important;
  letter-spacing:-.045em;
}
.booking-count-card .stat-details>small{
  font-size:10px !important;
  color:#89978d !important;
}
.booking-count-card.count-pending,
.booking-count-card.count-approved,
.booking-count-card.count-rejected,
.booking-count-card.count-completed{
  border-top:1px solid #e3e9e4 !important;
}
.booking-count-card:hover{
  background:#fff !important;
  border-color:#d5e1d6 !important;
  box-shadow:0 8px 20px rgba(20,55,37,.065) !important;
  transform:translateY(-2px);
}
@media(max-width:700px){
  .booking-count-card{padding:16px !important;border-radius:15px !important}
  .booking-count-card .stat-details>strong{font-size:24px !important}
}


/* v0.8.1 - Explicitly remove booking-card decorative pseudo ornaments */
.booking-count-grid .booking-count-card::before,
.booking-count-grid .booking-count-card::after,
.booking-count-grid .booking-count-card:before,
.booking-count-grid .booking-count-card:after{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}


/* v0.8.2 - Premium administrator login UI */
.auth-page{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  padding:32px 20px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 12% 12%,rgba(193,216,179,.48),transparent 34%),
    radial-gradient(ellipse at 88% 88%,rgba(207,225,202,.52),transparent 36%),
    linear-gradient(135deg,#f4f7f2 0%,#edf3ed 48%,#f7f8f5 100%);
}
.auth-page:before,
.auth-page:after{
  content:"";
  position:fixed;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(34,93,60,.09);
  border-radius:50%;
}
.auth-page:before{
  width:440px;height:440px;top:-210px;right:-150px;
  box-shadow:0 0 0 28px rgba(34,93,60,.025),0 0 0 62px rgba(34,93,60,.018);
}
.auth-page:after{
  width:340px;height:340px;bottom:-190px;left:-110px;
  box-shadow:0 0 0 24px rgba(34,93,60,.025),0 0 0 52px rgba(34,93,60,.018);
}
.auth-card{
  position:relative;
  width:min(100%,460px);
  padding:40px 40px 30px;
  border:1px solid rgba(218,229,217,.95);
  border-radius:25px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 60px rgba(27,67,45,.11),0 3px 10px rgba(27,67,45,.035);
  backdrop-filter:blur(12px);
}
.auth-card:before{
  content:"";
  position:absolute;
  left:40px;right:40px;top:0;
  height:3px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#1d6543,#b99a45 58%,#d8e6d0);
}
.auth-card .brand-row{
  min-height:48px;
  padding-bottom:20px;
  border-bottom:1px solid #edf1ec;
}
.auth-card .brand-copy strong{
  color:#174b34;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.02em;
}
.auth-card .brand-copy span{
  color:#839187;
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
}
.auth-card .eyebrow{
  margin:27px 0 9px;
  color:#a17d2c;
  font-size:9px;
  letter-spacing:.18em;
}
.auth-card h1{
  margin:0 0 9px;
  color:#123e2c;
  font-size:30px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.05em;
}
.auth-card>p.muted{
  max-width:340px;
  margin:0;
  color:#748278;
  font-size:13px;
  line-height:1.65;
}
.auth-card form{
  gap:17px;
  margin-top:27px;
}
.auth-card form label{
  gap:8px;
  color:#344b3b;
  font-size:11px;
  font-weight:750;
}
.auth-card form input{
  height:49px;
  padding:0 15px;
  border:1px solid #dfe7df;
  border-radius:12px;
  background:#f8faf7;
  color:#193e2c;
  font-size:13px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.auth-card form input:hover{border-color:#cbdacb}
.auth-card form input:focus{
  border-color:#39845a;
  background:#fff;
  box-shadow:0 0 0 4px rgba(57,132,90,.11);
}
.auth-card .btn-primary{
  min-height:49px;
  margin-top:4px;
  padding:0 18px;
  justify-content:center;
  gap:10px;
  border-radius:12px;
  background:linear-gradient(110deg,#216746 0%,#10432f 100%);
  box-shadow:0 9px 20px rgba(20,75,49,.18);
  font-size:12px;
  font-weight:750;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.auth-card .btn-primary:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:0 13px 25px rgba(20,75,49,.22);
}
.auth-card .btn-primary span{font-size:16px;line-height:1}
.auth-card .center{
  margin:25px 0 0;
  padding-top:18px;
  border-top:1px solid #edf1ec;
  color:#9aa69d;
  font-size:10px;
}
.auth-card .alert{margin-top:17px;border-radius:11px}
@media(max-width:600px){
  .auth-page{padding:22px 16px}
  .auth-card{
    width:min(100%,430px);
    padding:32px 25px 25px;
    border-radius:22px;
  }
  .auth-card:before{left:25px;right:25px}
  .auth-card .brand-row{padding-bottom:17px}
  .auth-card .eyebrow{margin-top:24px}
  .auth-card h1{font-size:27px}
}
@media(max-width:360px){
  .auth-card{padding:28px 20px 22px}
  .auth-card:before{left:20px;right:20px}
}


/* v0.8.3 - Minimal premium login: pure white, no ornaments or gold */
.auth-page{
  background:#fff !important;
}
.auth-page:before,
.auth-page:after{
  display:none !important;
  content:none !important;
}
.auth-card{
  background:#fff !important;
  border:1px solid #e8ece8 !important;
  border-radius:20px !important;
  box-shadow:0 12px 36px rgba(20,55,37,.075) !important;
  backdrop-filter:none !important;
}
.auth-card:before{
  display:none !important;
  content:none !important;
}
.auth-card .brand-row{
  border-bottom:1px solid #f0f2f0 !important;
}
.auth-card .eyebrow{
  color:#24734a !important;
  letter-spacing:.13em !important;
}
.auth-card h1{
  color:#173f2c !important;
}
.auth-card>p.muted{
  color:#77847b !important;
}
.auth-card form input{
  background:#fff !important;
  border:1px solid #e1e7e2 !important;
  box-shadow:none !important;
}
.auth-card form input:focus{
  border-color:#4a8b62 !important;
  box-shadow:0 0 0 3px rgba(74,139,98,.10) !important;
}
.auth-card .btn-primary{
  background:#174f36 !important;
  border:1px solid #174f36 !important;
  box-shadow:0 5px 14px rgba(23,79,54,.12) !important;
}
.auth-card .btn-primary:hover{
  background:#103f2b !important;
  border-color:#103f2b !important;
  filter:none !important;
}
.auth-card .center{
  border-top:1px solid #f0f2f0 !important;
  color:#89958d !important;
}


/* v0.8.4 - Soft greenhouse green login background */
.auth-page{
  background:#edf3ed !important;
}


/* v0.8.5 - Public booking page visual refinement only */
.public-booking-page{
  background:#edf3ed;
  color:#193d2b;
}
.public-booking-header{
  height:72px;
  background:#fff;
  border-bottom:1px solid #e7ece7;
}
.public-brand-mark{
  border-radius:11px;
  box-shadow:0 3px 9px rgba(20,65,42,.10);
}
.public-brand strong{
  font-size:12px;
  letter-spacing:.035em;
  color:#16442f;
}
.public-brand small{
  color:#87938a;
  letter-spacing:.12em;
}
.public-header-label{
  color:#728176;
  font-size:9px;
}
.public-booking-wrap{
  width:min(100% - 40px,780px);
  margin:34px auto 0;
}
.public-booking-hero{
  padding:8px 4px 24px;
}
.public-eyebrow{
  color:#8c762f;
  font-size:9px;
  letter-spacing:.15em;
  margin-bottom:11px;
}
.public-booking-hero h1{
  font-size:clamp(30px,4.6vw,40px);
  line-height:1.13;
  letter-spacing:-.05em;
  margin-bottom:12px;
}
.public-booking-hero h1 span{color:#34764b}
.public-booking-hero>p{
  max-width:620px;
  color:#718076;
  font-size:12px;
  line-height:1.7;
}
.public-hero-meta{
  gap:16px;
  margin-top:15px;
  color:#65766b;
}
.public-booking-card,
.booking-success-card{
  padding:27px 29px;
  border:1px solid #e1e8e1;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(22,60,39,.045);
}
.public-form-heading{
  gap:12px;
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid #edf1ed;
}
.form-index{
  width:37px;height:37px;
  border-radius:11px;
  background:#edf4ed;
  color:#286344;
  font-size:11px;
}
.public-form-heading h2{
  color:#174630;
  font-size:16px;
}
.public-form-heading p{
  color:#829087;
  font-size:10px;
}
.public-form-grid{gap:16px 17px}
.public-field{gap:7px}
.public-field>span{
  color:#405548;
  font-size:10px;
  font-weight:750;
}
.public-field input,
.public-field select,
.public-field textarea{
  min-height:45px;
  border:1px solid #e0e8e0;
  border-radius:10px;
  background:#fff;
  color:#203c2b;
  font-size:11px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.public-field input:focus,
.public-field select:focus,
.public-field textarea:focus{
  outline:none;
  border-color:#6a9b78;
  box-shadow:0 0 0 3px rgba(68,132,83,.09);
}
.public-field input::placeholder,
.public-field textarea::placeholder{color:#a0aaa2}
.public-field small{font-size:9px;color:#87948a}
.public-booking-notice{
  background:#f7faf6;
  border-color:#e7eee5;
  border-radius:10px;
}
.public-btn-primary{
  min-height:47px;
  border-radius:10px;
  background:#174f36;
  box-shadow:0 5px 13px rgba(23,79,54,.12);
}
.public-btn-primary:hover{
  background:#123f2c;
  filter:none;
}
.public-privacy-note{color:#87948a}
.public-booking-footer{color:#8a968d}
.booking-success-card{padding:30px}
@media(max-width:600px){
  .public-booking-header{height:64px;padding:0 15px}
  .public-booking-wrap{width:calc(100% - 28px);margin:23px auto 0}
  .public-booking-hero{padding:5px 2px 19px}
  .public-booking-hero h1{font-size:29px;line-height:1.15}
  .public-booking-hero>p{font-size:11px;line-height:1.65}
  .public-hero-meta{gap:9px;flex-wrap:wrap;font-size:9px}
  .public-booking-card,.booking-success-card{
    padding:20px 16px;
    border-radius:15px;
  }
  .public-form-heading{padding-bottom:15px;margin-bottom:17px}
  .public-form-grid{gap:14px}
  .public-field input,.public-field select,.public-field textarea{min-height:44px}
}


/* ===== User management responsive layout ===== */
.users-layout{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);gap:16px;align-items:start;margin-top:18px}
.users-layout>.panel{min-width:0;margin:0}
.users-create-panel{max-width:none;width:100%;padding:24px}
.users-list-panel{display:flex;flex-direction:column;min-height:0;max-height:690px;padding:20px;overflow:hidden}
.users-list-heading{flex:0 0 auto;padding-bottom:13px}
.users-table-wrap{min-width:0;max-height:590px;overflow:auto;border-radius:10px;scrollbar-width:thin;scrollbar-color:#cbd8c8 transparent}
.users-table-wrap .data-table{width:100%;min-width:570px}
.users-table-wrap .data-table thead th{position:sticky;top:0;z-index:2;background:#f5f8f3}
.users-table-wrap .data-table td,.users-table-wrap .data-table th{white-space:nowrap}
.users-create-panel .form-actions{margin-top:20px}
.users-list-panel .panel-heading h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:1050px){
 .users-layout{grid-template-columns:minmax(0,1fr);gap:14px}
 .users-create-panel{max-width:none}
 .users-list-panel{max-height:520px}
 .users-table-wrap{max-height:420px}
}
@media(max-width:700px){
 .users-layout{gap:12px;margin-top:14px}
 .users-create-panel{padding:17px 15px}
 .users-list-panel{padding:16px 13px;max-height:440px}
 .users-table-wrap{max-height:340px}
 .users-list-heading{padding-bottom:11px}
 .users-create-panel .form-actions{margin-top:16px}
 .users-create-panel .form-actions .btn{width:100%;justify-content:center}
}
@media(max-width:380px){
 .users-create-panel .form-section-heading{align-items:flex-start}
 .users-list-panel{padding:14px 11px}
}


/* ===== Users mobile cards: override generic mobile table hiding ===== */
@media(max-width:700px){
 .users-list-panel{max-height:none!important;overflow:visible!important}
 .users-table-wrap{display:block!important;max-height:none!important;overflow:visible!important;width:100%;}
 .users-table-wrap .data-table{display:block;width:100%;min-width:0!important;border:0;}
 .users-table-wrap .data-table thead{display:none!important}
 .users-table-wrap .data-table tbody{display:grid;gap:10px;width:100%;}
 .users-table-wrap .data-table tbody tr{display:grid;gap:0;width:100%;padding:5px 12px;border:1px solid #E3EAE2;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(25,55,35,.035);}
 .users-table-wrap .data-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0;padding:9px 0;border-bottom:1px solid #EEF2EC;white-space:normal;text-align:right;font-size:11px;}
 .users-table-wrap .data-table tbody td:last-child{border-bottom:0;}
 .users-table-wrap .data-table tbody td::before{content:attr(data-label);flex:0 0 82px;text-align:left;color:#718176;font-size:10px;font-weight:700;}
 .users-table-wrap .data-table tbody td>strong{max-width:65%;text-align:right;overflow-wrap:anywhere;}
 .users-table-wrap .data-table tbody td .inline-form{margin:0;}
 .users-table-wrap .data-table tbody td .btn{white-space:normal;}
 .users-list-heading{padding-bottom:12px!important;}
}
@media(max-width:380px){
 .users-table-wrap .data-table tbody tr{padding:4px 10px;}
 .users-table-wrap .data-table tbody td::before{flex-basis:72px;}
}


/* ===== Shared administrator sidebar consistency ===== */
.sidebar{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.sidebar .nav-item{display:flex!important;flex:0 0 auto}
.sidebar .nav-label{display:block!important;flex:0 0 auto}
.sidebar-bottom{display:block!important;margin-top:auto;flex:0 0 auto}
.sidebar .nav-item.active{background:#ffffff16;color:#fff;box-shadow:inset 3px 0 var(--lime)}
@media(max-width:700px){
 .sidebar{display:flex!important;position:fixed!important;inset:0 auto 0 0!important;width:min(82vw,300px)!important;height:100dvh!important;max-height:100dvh;transform:translateX(-105%);z-index:30;overflow-y:auto;padding:20px 17px!important}
 .sidebar.is-open{transform:translateX(0)!important}
 .sidebar .nav-label{display:block!important}
 .sidebar .nav-item,.sidebar .sidebar-bottom{display:flex!important}
 .sidebar .sidebar-bottom{display:block!important}
 .sidebar-backdrop{display:block!important;position:fixed;inset:0;z-index:25;opacity:0;visibility:hidden}
 .sidebar-backdrop.is-visible{opacity:1;visibility:visible}
 .mobile-menu-btn{display:flex!important}
}

/* ===== Masa Tanam responsive controls & dialogs v0.3.1 ===== */
.mt-module-intro{align-items:flex-end}
.mt-module-intro>form,.mt-module-intro>.btn{flex:0 0 auto}
.mt-list-panel{overflow:hidden}
.mt-list-panel>.panel-heading{padding:20px 22px 12px}
.mt-table-wrap{display:block;padding:0 18px 14px;overflow-x:auto}
.mt-data-table{min-width:900px}
.mt-data-table th:last-child,.mt-data-table td:last-child{min-width:310px}
.mt-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
.mt-actions .btn{margin:0;flex:0 0 auto}
.mt-mobile-list{display:none}
.mt-dialog{width:min(92vw,480px);max-width:480px;max-height:90vh;overflow:auto}
.mt-dialog-form{display:block}
.mt-dialog-label{display:block;margin-top:18px;margin-bottom:7px;color:#52685A;font-size:11px;font-weight:750}
.mt-dialog-form input[type=text]{width:100%;height:44px;border:1px solid #DDE5DB;border-radius:10px;padding:0 12px;color:#173F2C;background:#fff;font:inherit;font-size:12px;outline:none}
.mt-dialog-form input[type=text]:focus{border-color:#5E9B72;box-shadow:0 0 0 3px rgba(58,128,78,.12)}
.mt-dialog .confirm-actions{gap:10px;flex-wrap:wrap}
.mt-dialog .confirm-actions .btn{min-height:40px;padding:0 16px}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #EDF1EC;color:#718176;font-size:11px}
.pagination-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pagination-controls button{min-width:32px;height:30px;padding:0 9px;border:1px solid #E0E7DF;border-radius:8px;background:#fff;color:#43594A;font:inherit;font-size:11px;cursor:pointer}
.pagination-controls button[aria-current=page]{background:#174A32;border-color:#174A32;color:#fff;font-weight:750}
.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}
.pagination-controls button:hover:not(:disabled):not([aria-current=page]){background:#F1F5F0}
@media(max-width:700px){
 .mt-module-intro{align-items:stretch;gap:14px}
 .mt-module-intro>.btn{width:100%;min-height:42px}
 .mt-list-panel>.panel-heading{padding:16px 16px 10px}
 .mt-table-wrap{display:none!important}
 .mt-mobile-list{display:grid;gap:10px;padding:12px}
 .mt-mobile-card{padding:13px;border:1px solid #E2E9E0;border-radius:13px;background:#fff;min-width:0}
 .mt-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
 .mt-mobile-head>div{min-width:0}
 .mt-mobile-head>div>strong{display:block;color:#263F2F;font-size:13px;overflow-wrap:anywhere}
 .mt-mobile-head>div>small{display:block;color:#8A968D;font-size:10px;margin-top:4px}
 .mt-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid #EDF1EC}
 .mt-mobile-meta span{min-width:0}
 .mt-mobile-meta small{display:block;color:#829086;font-size:10px;margin-bottom:4px}
 .mt-mobile-meta strong{display:block;color:#425448;font-size:11px;overflow-wrap:anywhere}
 .mt-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
 .mt-mobile-actions .btn{width:100%;min-height:36px;white-space:normal;text-align:center;padding:6px 8px}
 .mt-mobile-actions .btn:last-child:nth-child(3){grid-column:1/-1}
 .table-pagination{align-items:flex-start;flex-direction:column;padding:11px 13px}
 .pagination-controls{width:100%}
 .mt-dialog{padding:20px}
 .mt-dialog .confirm-actions{display:grid;grid-template-columns:1fr 1fr}
 .mt-dialog .confirm-actions .btn{width:100%}
}

/* v0.3.6 — report daily and harvest-period visual summaries */
.report-visual-grid{align-items:stretch}
.report-visual-panel{min-height:0;padding:18px}
.report-visual-panel .panel-heading{margin-bottom:16px}
.report-visual-panel .panel-heading .muted{margin:5px 0 0;font-size:11px}
.report-bar-list{display:flex;flex-direction:column;gap:17px}
.report-bar-row{min-width:0}
.report-bar-top,.report-bar-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.report-bar-top strong{font-size:12px;color:#173F2C}
.report-bar-top span,.report-bar-bottom span{font-size:10px;color:#718176}
.report-bar-bottom{margin-top:6px}
.report-bar-bottom strong{font-size:11px;color:#174A32;white-space:nowrap}
.report-bar-track{height:9px;margin-top:8px;overflow:hidden;border-radius:99px;background:#EDF2EC}
.report-bar-track span{display:block;height:100%;min-width:3px;border-radius:99px;background:linear-gradient(90deg,#1B5A3B,#78A66C)}
.report-visual-panel .empty-state{min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}
@media(max-width:1000px){
 .report-visual-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .report-visual-panel{padding:15px}
 .report-bar-list{gap:15px}
 .report-bar-bottom{align-items:flex-start}
 .report-bar-bottom span{line-height:1.5}
}

/* v0.3.7 — compact two-column report summaries with independent pagination */
.report-visual-grid{align-items:stretch}
.report-visual-panel{min-width:0}
.report-visual-panel .panel-heading .muted{margin:5px 0 0;font-size:11px}
.report-bar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;align-content:start}
.report-bar-row{min-width:0;padding:10px 0;border-bottom:1px solid #EDF1EC}
.report-bar-top,.report-bar-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
.report-bar-top strong{font-size:12px;color:#173F2C;min-width:0;overflow-wrap:anywhere}
.report-bar-top span,.report-bar-bottom span{font-size:10px;color:#718176;min-width:0}
.report-bar-bottom{margin-top:6px;align-items:flex-start}
.report-bar-bottom strong{font-size:11px;color:#174A32;white-space:nowrap}
.report-bar-track{height:8px;margin-top:8px;overflow:hidden;border-radius:99px;background:#EDF2EC}
.report-bar-track span{display:block;height:100%;min-width:3px;border-radius:99px;background:linear-gradient(90deg,#1B5A3B,#78A66C)}
.report-summary-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid #EDF1EC}
.report-summary-pager>span{font-size:10px;color:#718176}
.report-summary-pager nav{display:flex;align-items:center;gap:5px}
.report-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border:1px solid #DCE6DC;border-radius:9px;color:#174A32;text-decoration:none;font-size:11px;background:#fff}
.report-page-link:hover{background:#F1F6F1}
.report-page-link.is-current{background:#174A32;color:#fff;border-color:#174A32;font-weight:700}
.report-page-link.is-disabled{opacity:.35;pointer-events:none}
.report-visual-panel .empty-state{min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}
@media(max-width:1100px){
 .report-bar-grid{gap:12px}
}
@media(max-width:700px){
 .report-visual-grid{grid-template-columns:1fr}
 .report-bar-grid{grid-template-columns:1fr;gap:8px}
 .report-visual-panel{padding:15px}
 .report-summary-pager{align-items:flex-start;flex-direction:column}
 .report-summary-pager nav{align-self:flex-end}
 .report-bar-bottom{align-items:flex-start}
 .report-bar-bottom span{line-height:1.5}
}

/* v0.3.8 — compact two-column payment method cards on phones */
@media(max-width:600px){
  .report-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .report-payment-item{min-width:0;padding:12px 11px;gap:5px}
  .report-payment-item span,.report-payment-item small{line-height:1.35;overflow-wrap:anywhere}
  .report-payment-item strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
}


/* v0.4.2 — dashboard active-period card, booking activity timeline,
   and consistent spacing on the harvest-period filter/list panels */
.premium-period-panel{
  min-height:0;
  padding:22px 25px;
}
.premium-period-panel .panel-heading{margin-bottom:0}
.active-period-content{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,260px);
  align-items:center;
  gap:24px;
  margin-top:22px;
}
.active-period-content>div:first-child{min-width:0}
.active-period-content h2{font-size:clamp(22px,2.2vw,29px);line-height:1.2;overflow-wrap:anywhere}
.active-period-content .muted{max-width:560px;line-height:1.6}
.period-price-card{
  min-width:0;
  width:100%;
  padding:17px 19px;
  border-radius:16px;
  background:rgba(255,255,255,.88);
}
.period-price-card strong{font-size:clamp(21px,2vw,27px);line-height:1.25;overflow-wrap:anywhere}
.period-price-card small{display:block;margin-top:3px;color:#819084}

.booking-activity-history{
  margin-top:22px;
  padding:19px 20px 17px;
  border:1px solid #E4ECE3;
  border-radius:16px;
  background:linear-gradient(145deg,#FBFDFB,#F6F9F5);
}
.booking-activity-history h3{margin:4px 0 17px;font-size:16px;color:#164A32}
.booking-activity-list{
  list-style:none;
  margin:0;
  padding:0 0 0 5px;
  display:grid;
  gap:0;
}
.booking-activity-list li{
  position:relative;
  display:grid;
  grid-template-columns:14px minmax(0,1fr);
  column-gap:11px;
  padding:0 0 17px;
  min-width:0;
}
.booking-activity-list li:last-child{padding-bottom:0}
.booking-activity-list li:before{
  content:"";
  position:absolute;
  left:5px;
  top:13px;
  bottom:-1px;
  width:1px;
  background:#D8E5D8;
}
.booking-activity-list li:last-child:before{display:none}
.booking-activity-list li:after{
  content:"";
  grid-column:1;
  grid-row:1 / span 2;
  width:11px;
  height:11px;
  margin-top:3px;
  border:2px solid #fff;
  border-radius:50%;
  background:#39845A;
  box-shadow:0 0 0 1px #BFD6C1;
  z-index:1;
}
.booking-activity-list li strong{
  grid-column:2;
  min-width:0;
  color:#244B35;
  font-size:12px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.booking-activity-list li span{
  grid-column:2;
  margin-top:4px;
  color:#829187;
  font-size:10px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.period-filter-panel{
  margin-bottom:18px;
  padding:20px;
}
.period-list-panel{margin-top:18px}
.period-filter-panel+.period-list-panel{margin-top:0}

@media (max-width:1000px){
  .premium-period-panel{padding:20px}
  .active-period-content{grid-template-columns:minmax(0,1fr) minmax(190px,230px);gap:18px;margin-top:18px}
  .booking-activity-history{padding:17px}
}
@media (max-width:700px){
  .premium-period-panel{padding:17px}
  .premium-period-panel .panel-heading{align-items:flex-start;gap:10px}
  .active-period-content{grid-template-columns:1fr;gap:13px;margin-top:16px}
  .active-period-content h2{font-size:23px;margin:6px 0}
  .period-price-card{padding:14px 15px}
  .period-price-card strong{font-size:22px}
  .period-filter-panel{margin-bottom:16px;padding:15px}
  .period-list-panel{margin-top:16px}
  .period-filter-panel+.period-list-panel{margin-top:0}
  .booking-activity-history{margin-top:18px;padding:15px 14px}
  .booking-activity-history h3{font-size:15px}
  .booking-activity-list{gap:0}
  .booking-activity-list li{grid-template-columns:13px minmax(0,1fr);column-gap:9px;padding-bottom:15px}
  .booking-activity-list li strong{font-size:12px}
  .booking-activity-list li span{font-size:10px}
}
@media (min-width:701px) and (max-width:1100px){
  .dashboard-lower-grid-single{grid-template-columns:minmax(0,1fr)}
}
