@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#192b26;background:#f4f6f5;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{background:#155941;color:#fff;border:1px solid #155941;padding:11px 18px;border-radius:8px;font-weight:600;cursor:pointer}button:hover{background:#0a4130}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;color:#234e3e;border:1px solid #cddbd5}input,select,textarea{width:100%;padding:10px 12px;background:#fff;border:1px solid #c8d4ce;border-radius:7px;color:inherit;min-width:0}input:focus,textarea:focus,select:focus,button:focus-visible{outline:3px solid #a9cf61;outline-offset:2px}label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:.875rem;font-weight:600}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(1.6rem,3vw,2.35rem);font-weight:800;letter-spacing:-.04em;line-height:1.2;margin:10px 0 12px}h2{font-size:1.15rem;margin:0 0 20px}h3{font-size:1.05rem;margin:8px 0}p{color:#596f65;margin:6px 0 14px}.app-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#123d30;color:#fff;padding:32px 22px;display:flex;flex-direction:column;min-width:0}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:1.4rem;font-family:Manrope;font-weight:800}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#c6df79;color:#174b35}.brand-small{display:block;font-size:.65rem;letter-spacing:.16em;font-weight:500}.farm-label{margin:28px 0 32px;font-size:.875rem;color:#bdd0c6;overflow-wrap:anywhere}nav{display:grid;gap:8px}nav button{text-align:left;border:none;background:transparent;padding:12px 14px;font-size:.95rem;font-weight:500;color:#ccdbd2}nav button.active{background:#c6df79;color:#164232}nav button:hover{background:#285845;color:#fff}.sidebar-footer{margin-top:auto;padding-top:40px;display:grid;gap:10px}.sidebar-footer span{font-size:.75rem;letter-spacing:.15em;color:#b6c8bd}.sidebar-footer select{background:#204d3c;color:#fff;border-color:#4c6c5c}main{padding:36px clamp(20px,4vw,64px);max-width:1500px;width:100%;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:#60766b;text-transform:uppercase}.merchant-badge{border:1px solid #d8e2dc;background:#fff;padding:7px 12px;border-radius:20px;font-size:.875rem;white-space:nowrap}.notice{font-size:.875rem;padding:13px 16px;background:#eaf0e9;border-radius:8px;color:#486343;margin-bottom:24px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 24px}.metrics article{border:1px solid #dfe6e1;border-radius:12px;padding:22px 24px;background:#fff}.metrics span{color:#61736a;font-size:.875rem}.metrics strong{display:block;font:800 2.5rem Manrope;margin-top:8px}.panel{background:#fff;border:1px solid #dde5df;border-radius:12px;padding:24px;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading select{width:auto}.empty{padding:36px 14px;text-align:center;background:#f7f9f7;border:1px dashed #d8e1da;border-radius:8px}.workspace{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.activity-card{padding:18px 0;border-top:1px solid #e7ece8}.activity-card p{white-space:pre-wrap}.slot-item{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-top:1px solid #e6ece7}.slot-item p{font-size:.875rem;margin:6px 0 0}.slot-item>div:last-child{min-width:160px;font-size:.875rem}progress{display:block;width:100%;height:7px;accent-color:#638743;margin-top:8px}.form-row{display:flex;gap:16px}.form-row label{flex:1;min-width:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}th{color:#647b6d;background:#f3f6f3;font-weight:500;padding:12px}td{padding:18px 12px;border-bottom:1px solid #e6ece7}small{display:block;font-size:.8rem;color:#678070;margin-top:5px;overflow-wrap:anywhere}.badge{font-size:.75rem;background:#e8f1e3;color:#335730;border-radius:6px;padding:5px 8px}.badge.cancelled{background:#f1f0ed;color:#736b60}.booking-form{max-width:900px}.success,.error{padding:14px 16px;border-radius:8px}.success{background:#e7f4e8;color:#205d2c}.error{background:#fff0ed;color:#913b23}.login{max-width:550px;margin:10vh auto;background:#fff;border:1px solid #dfe6e1;border-radius:16px;padding:40px}.login form{margin-top:30px}@media(max-width:1000px){.app-shell{grid-template-columns:195px 1fr}aside{padding:25px 16px}.workspace{grid-template-columns:1fr}.form-row{flex-wrap:wrap}.form-row label{min-width:150px}.metrics{gap:12px}.metrics article{padding:18px}}@media(max-width:700px){.app-shell{display:block}aside{padding:18px}.brand{font-size:1.2rem}.farm-label,.sidebar-footer{display:none}nav{display:flex;margin-top:20px;overflow-x:auto;gap:5px}nav button{padding:9px 11px;white-space:nowrap;font-size:.875rem}main{padding:24px 16px}header{align-items:flex-start}.merchant-badge{display:none}.metrics{grid-template-columns:1fr}.metrics article{display:flex;justify-content:space-between;align-items:center}.metrics strong{font-size:1.8rem;margin:0}.panel{padding:20px 16px}.slot-item{align-items:flex-start;flex-direction:column;gap:14px}.section-heading{flex-wrap:wrap}.login{margin:30px 15px;padding:25px}}.booking-columns{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,1fr);gap:28px;align-items:start}.calendar,.time-options,.basket-options,.product-rule{border:1px solid #dce5de;border-radius:10px;padding:18px;margin:0 0 20px;min-width:0}.calendar legend,.time-options legend,.basket-options legend,.product-rule legend{padding:0 6px;font-weight:600;font-size:.9rem}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.calendar-heading strong{text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid button{padding:10px 0;background:#edf4e7;color:#224e35;border-color:transparent;border-radius:7px;font-weight:600}.calendar-grid button:hover{background:#d4e5bc}.calendar-grid button[aria-pressed=true]{background:#155941;color:#fff}.calendar-grid button:disabled{background:transparent;color:#8c9992;opacity:1;cursor:default}.weekday{text-align:center;font-size:.75rem;color:#65786e;padding:5px 0}.calendar-help{font-size:.8rem;margin:16px 0 0}.time-option{flex-direction:row;align-items:center;gap:10px;border:1px solid #d8e2d9;padding:12px;border-radius:8px;font-weight:500}.time-option:has(input:checked){border-color:#246248;background:#eef4e8}.time-option input,.checkbox-label input{width:auto;accent-color:#155941}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:400}.booking-total{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid #dfe6de}.booking-total strong{font-size:1.3rem;color:#1d4e36}@media(max-width:850px){.booking-columns{grid-template-columns:1fr}}.optional-minimum{border-top:1px solid #e3e9e3;padding-top:14px;margin-bottom:20px}.minimum-disabled{font-size:.875rem;color:#65786e;margin:0 0 14px}.tickets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.ticket-card{border:1px solid #dce5de;border-radius:12px;padding:20px;break-inside:avoid}.ticket-card img,.public-ticket img{display:block;max-width:100%;height:auto;margin:12px auto}.ticket-card code,.public-ticket code{font-size:.75rem;overflow-wrap:anywhere}.scanner-video{width:100%;min-height:180px;background:#152b23;border-radius:10px;margin-bottom:18px}.scanner-video+button{margin-bottom:20px}.public-ticket{text-align:center}.metrics strong{font-size:clamp(1.25rem,2.5vw,2.5rem)}@media print{aside,nav,button,.notice,form{display:none!important}body,main{background:#fff!important}main{padding:0}.public-ticket{border:0;margin:0 auto}.ticket-card{box-shadow:none}}
