@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--green:#123d31;--lime:#dbed9a;--ink:#192c25;--muted:#65736c;--border:#dce3dd;--bg:#f4f7f4;--font:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #9cc453}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif}h1{letter-spacing:-1.2px;font-size:36px;font-weight:700;line-height:1.2}h2{letter-spacing:-.5px;font-size:22px}p{color:var(--muted);line-height:1.65}.header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:105px;padding:12px max(5vw,24px);display:flex}.brand{align-items:center;gap:24px;display:flex}.brand img{object-fit:contain;width:104px;height:77px}.brand span{letter-spacing:2px;border-left:1px solid var(--border);padding-left:24px;font-size:12px;font-weight:600}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:14px 23px;font-weight:600;transition:background .2s;display:inline-flex}.button:hover{background:#205542}.button.small{min-height:44px;padding:10px 18px;font-size:14px}.button.outline{color:var(--green);background:#fff}.header-user{align-items:center;gap:16px;display:flex}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--ink);background:#fff;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.text-button{color:var(--green);background:0 0;border:0;min-height:40px;padding:10px 6px;font-size:14px;font-weight:600}.landing{grid-template-columns:1fr 1fr;gap:65px;max-width:1370px;margin:0 auto;padding:74px 5vw 25px;display:grid}.landing-copy{padding:40px 0}.eyebrow{letter-spacing:1.8px;color:var(--green);align-items:center;gap:12px;margin-bottom:23px;font-size:12px;font-weight:700;display:flex}.line{background:var(--green);width:30px;height:2px}.landing h1{letter-spacing:-2.7px;margin-bottom:28px;font-size:clamp(38px,4.1vw,60px);line-height:1.13}.landing p{max-width:460px;margin-bottom:30px;font-size:17px}.landing-detail{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:39px;font-size:14px;display:flex}.divider{background:var(--border);width:1px;height:15px;margin:0 6px}.logo-panel{border:1px solid var(--border);background:#fff;border-radius:16px;align-self:center;overflow:hidden;box-shadow:0 12px 45px #123d3108}.logo-panel img{object-fit:contain;width:100%;height:360px;padding:38px 26px}.panel-bottom{background:var(--green);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.panel-bottom span:first-child{color:var(--lime);letter-spacing:2px;font-size:12px}.landing footer{color:var(--muted);border-top:1px solid var(--border);grid-column:1/-1;padding-top:24px;font-size:13px}.workspace{max-width:1400px;margin:auto;padding:36px 4vw 15px}.workspace-top{justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px;display:flex}.workspace-top .eyebrow{margin-bottom:10px}.workspace h1{margin:0;font-size:30px}.tabs{border-bottom:1px solid var(--border);gap:25px;margin-bottom:26px;display:flex}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:9px;padding:14px 2px;font-size:14px;font-weight:600;display:flex}.tabs button.active{border-bottom-color:var(--green);color:var(--green)}.calendar-card,.card{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px 12px;display:flex}.date-nav{align-items:center;gap:10px;display:flex}.date-nav h2{text-transform:capitalize;min-width:160px;margin:0 4px;font-size:20px}.date-nav .icon-button{background:var(--bg);border:0}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 15px;font-size:14px}.segmented .active{color:var(--green);background:#fff;font-weight:700;box-shadow:0 1px 5px #0001}.calendar-meta{color:var(--muted);align-items:center;gap:20px;padding:8px 28px 22px;font-size:13px;display:flex}.calendar-meta>span{align-items:center;gap:7px;display:flex}.timezone{margin-left:auto}.legend{border:1px solid var(--border);border-radius:3px;width:10px;height:10px}.legend.free{background:#fff}.legend.booked{background:#c7ddb8;border-color:#adc398}.legend.blocked{background:#e5e7e4}.week-grid{grid-template-columns:70px repeat(var(--days),minmax(0,1fr));border-top:1px solid var(--border);display:grid}.grid-row{display:contents}.day-heading,.time-heading{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;background:#fafcf9;flex-direction:column;gap:5px;padding:16px 8px;display:flex}.day-heading span,.time-heading{color:var(--muted);font-size:12px}.day-heading strong{font-size:16px}.is-today strong{color:var(--green)}.day-heading.is-today{background:#edf4e7}.time-cell{color:var(--muted);text-align:center;border-bottom:1px solid var(--border);background:#fcfdfb;padding:14px 8px;font-size:12px}.slot{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;min-height:68px;color:var(--ink);background:#fff;flex-direction:column;justify-content:center;gap:3px;padding:9px 10px;font-size:13px;display:flex;overflow:hidden}.slot strong{overflow-wrap:anywhere;font-size:14px;line-height:1.25}.slot span{font-size:12px}.slot small{color:#2d6137;font-size:12px}.slot.available:hover:not(:disabled){background:#eff6e6}.free-label{color:#78927c;align-items:center;gap:5px;display:flex}.reserved{background:#e8f0e0;border-left:3px solid #86a66e;padding-left:7px}.reserved.own{border-left-color:var(--green);background:#d9e9c7}.blocked{background:#ecefeb;border-left:3px solid #8d968d}.continued{color:#6d7c6e}.slot:disabled{opacity:1;background:#f8f9f7}.calendar-footer{color:var(--muted);justify-content:space-between;gap:15px;padding:18px 24px;font-size:12px;display:flex}.calendar-footer span{align-items:center;gap:8px;display:flex}.workspace-footer{color:var(--muted);padding:28px 0 10px;font-size:12px}.mobile-days{display:none}.card{margin-bottom:22px;padding:26px}.card p{font-size:14px}.narrow{max-width:470px}.field{flex-direction:column;gap:8px;margin-bottom:19px;display:flex}.field>span{font-size:14px;font-weight:600}.field input,.field select,.reset-result textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd6cf;border-radius:7px;min-height:46px;padding:12px}.field input:focus,.field select:focus{border-color:var(--green);outline:2px solid #bdd69e}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}form .button{width:100%}.admin-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:22px;display:grid}.admin-grid .full{grid-column:1/-1}.members-list{margin-top:25px}.member-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.member-row small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.member-row>div:last-child{flex-wrap:wrap;justify-content:flex-end;display:flex}.booking-row{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:22px;width:100%;padding:18px 0;display:flex}.booking-row:hover{background:var(--bg)}.booking-date{min-width:78px;color:var(--muted);flex-direction:column;align-items:center;font-size:12px;display:flex}.booking-date strong{color:var(--green);font-size:28px}.booking-row small{color:var(--muted);margin-top:5px;font-size:14px;display:block}.row-action{color:var(--green);margin-left:auto;font-size:14px}.empty{text-align:center;color:var(--muted);padding:40px}.empty p{margin:12px 0}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10291fcc;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:14px;width:460px;max-width:100%;max-height:calc(100dvh - 44px);padding:36px;position:relative;overflow:auto;box-shadow:0 20px 90px #0003}.modal-close{border:0;position:absolute;top:15px;right:15px}.modal .eyebrow{margin-top:12px;font-size:11px}.modal h2{margin-bottom:12px;font-size:28px}.modal p{font-size:14px}.modal .text-button{margin-top:10px}.login-note{color:var(--muted);padding-top:12px;font-size:12px;display:block}.booking-summary{background:var(--bg);border-radius:7px;align-items:center;gap:8px;margin:4px 0 22px;padding:16px;font-size:14px;display:flex}.alert{justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:14px;display:flex}.error,.inline-error{color:#8c2626;background:#ffeded}.alert button{color:inherit;background:0 0;border:0}.success{color:var(--green);background:#e7f1dd}.inline-error{border-radius:6px;margin-top:15px;padding:13px}.danger{color:#a73434}.danger-button{background:#a73434;border-color:#a73434}.delete-confirm{background:#ffeded;border-radius:7px;margin-top:12px;padding:16px}.delete-confirm p{color:#8c2626}.reset-result{background:var(--bg);border-radius:7px;margin-top:16px;padding:18px;font-size:14px}.reset-result textarea{resize:none;word-break:break-all;height:90px;font-family:monospace}.month-grid{border-top:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-heading{text-align:center;color:var(--muted);background:var(--bg);padding:14px;font-size:13px}.month-cell{border:0;border-top:1px solid var(--border);border-right:1px solid var(--border);text-align:left;background:#fff;flex-direction:column;gap:5px;min-height:125px;padding:12px 8px;display:flex;overflow:hidden}.month-cell.muted{color:#7f8c80;background:#f8faf7}.month-cell strong{margin-bottom:4px;font-size:14px}.book-chip,.block-chip{text-overflow:ellipsis;white-space:nowrap;background:#e3eed7;border-radius:3px;max-width:100%;padding:4px;font-size:12px;overflow:hidden}.block-chip{background:#e7eae5}.month-cell em{font-style:normal}.month-cell small{color:var(--muted);font-size:12px}@media (min-width:1500px){.landing{padding-left:30px;padding-right:30px}}@media (max-width:850px){.header{height:90px;padding:10px 22px}.brand span{display:none}.brand img{width:89px;height:68px}.landing{gap:28px;padding:35px 24px}.landing h1{font-size:42px}.landing-copy{padding:20px 0}.logo-panel img{height:270px;padding:20px}.panel-bottom{flex-direction:column;align-items:start}.workspace{padding:28px 22px}.workspace h1{font-size:25px}.workspace-top .button{padding:12px;font-size:14px}.calendar-toolbar{flex-wrap:wrap;gap:12px;padding:18px 16px}.calendar-meta{gap:14px;padding:0 18px 18px}.timezone{display:none!important}.admin-grid{grid-template-columns:1fr}.calendar-footer{flex-wrap:wrap}.tabs{gap:20px;overflow:auto}.date-nav h2{min-width:130px;font-size:18px}.slot{padding:7px 5px}.slot strong{font-size:12px}.calendar-footer span:last-child{display:none}}@media (max-width:600px){.landing{grid-template-columns:1fr;gap:26px;padding:25px 22px}.landing h1{letter-spacing:-2px;font-size:44px}.landing p{font-size:16px}.landing-copy{padding:15px 0}.logo-panel img{height:280px;padding:25px}.panel-bottom{flex-direction:row;padding:18px}.landing-detail{margin-top:25px;font-size:13px}.landing footer{font-size:12px}.workspace{padding:25px 14px}.workspace-top{flex-direction:column;align-items:start;gap:18px}.workspace h1{font-size:26px}.workspace-top .eyebrow{font-size:10px}.workspace-top .button{align-self:flex-start}.header-user{gap:12px;font-size:14px}.tabs{gap:18px}.tabs button{gap:6px;font-size:13px}.calendar-toolbar{padding:16px 12px}.date-nav{gap:6px;width:100%}.date-nav h2{flex:1;min-width:0}.segmented{width:100%}.segmented button{flex:1}.calendar-meta{padding:0 14px 17px;font-size:12px}.mobile-days{border-top:1px solid var(--border);gap:2px;padding:10px 6px;display:flex}.mobile-days button{color:var(--muted);background:#fff;border:0;border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 4px;font-size:12px;display:flex}.mobile-days button.active{background:var(--green);color:#fff}.mobile-days strong{font-size:16px}.week-grid{grid-template-columns:62px 1fr}.mobile-hidden{display:none!important}.day-view{grid-template-columns:62px 1fr}.time-heading{font-size:11px}.day-heading{padding:12px}.slot{min-height:65px;padding:9px 14px}.slot strong{font-size:14px}.free-label{font-size:13px!important}.calendar-footer{padding:16px 13px;font-size:11px}.card{padding:21px}.admin-grid{gap:0}.member-row{flex-direction:column;align-items:start;gap:7px}.member-row .text-button{padding:5px;font-size:12px}.modal{padding:28px 22px}.modal-backdrop{padding:14px}.modal h2{font-size:25px}.month-cell{min-height:90px;padding:8px 3px}.month-cell em,.month-cell small{display:none}.book-chip,.block-chip{padding:3px 1px;font-size:10px}.month-heading{padding:12px 5px}.booking-row{gap:12px}.booking-date{min-width:65px}.row-action{font-size:12px}.form-row{gap:12px}.alert{padding:12px 15px}}.rules-intro{max-width:760px;color:var(--green);align-items:flex-start;gap:14px;margin:2px 0 25px;display:flex}.rules-intro svg{flex:none;margin-top:3px}.rules-intro p{margin:0;font-size:16px}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.rules-card{margin:0;padding:28px}.rules-heading{align-items:center;gap:15px;margin-bottom:20px;display:flex}.rules-icon{width:48px;height:48px;color:var(--green);background:#edf4e7;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.rules-number{letter-spacing:1px;color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.rules-heading h2{margin:0;font-size:20px;line-height:1.35}.rules-card ul{margin:0;padding-left:21px}.rules-card li{padding-left:4px;font-size:16px;line-height:1.7}.rules-card li+li{margin-top:14px}.rules-card li::marker{color:#86a66e}@media (max-width:700px){.rules-grid{grid-template-columns:1fr;gap:16px}.rules-card{padding:23px}.rules-heading{gap:12px}.rules-heading h2{font-size:19px}.rules-icon{width:43px;height:43px}.rules-intro{gap:12px;margin-bottom:20px}}
