*{box-sizing:border-box}:root{--green:#15392b;--green2:#28543e;--bg:#f7f7f2;--white:#fff;--ink:#1b2b23;--muted:#77877c;--line:#e5e9e0;--gold:#ddb675}body{margin:0;background:var(--bg);color:var(--ink);font:14px DM Sans,system-ui,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:30px}h2{font-size:18px}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.brand{display:flex;align-items:center;gap:12px;font:800 20px Manrope,system-ui;letter-spacing:.025em}.brand small{display:block;font:700 10px DM Sans,sans-serif;letter-spacing:.16em;color:#abc4b3;margin-top:1px}.logo-icon{height:45px;width:45px;border-radius:13px;background:#2d6247;color:#fff;display:grid;place-items:center;font:700 25px Manrope,system-ui}.eyebrow{display:inline-block;font:700 10px DM Sans,sans-serif;letter-spacing:.15em;color:#b6935b;margin-bottom:9px}.button{border:1px solid var(--green);border-radius:10px;background:var(--green);color:#fff;font-weight:700;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.button:hover{filter:brightness(1.12)}.button.outline,.button.secondary{background:#fff;color:var(--green);border-color:#dfe6df}.button.small{font-size:11px;padding:7px 10px;min-height:31px}.button.danger{background:#fff2ef;color:#a24d48;border-color:#f5dad6}.button.wide{display:flex;width:100%;margin-top:16px}.textbtn{background:transparent;color:#b8d1bf;border:0;font-size:12px;padding:13px 0}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-hero{background:var(--green);padding:60px 10%;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:45px;overflow:hidden}.auth-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.1;max-width:600px;margin-bottom:20px}.auth-hero em{color:var(--gold);font-style:normal}.auth-hero p{color:#c3d8c9;max-width:415px;font-size:16px;line-height:1.8}.auth-hero footer{color:#9cbaa6;font-size:11px;letter-spacing:.12em}.auth-panel{display:grid;place-items:center;padding:35px}.auth-box{width:min(400px,100%)}.auth-box h2{font-size:31px;margin:7px 0 10px}.auth-box p{line-height:1.7;color:var(--muted)}.auth-box form{margin-top:20px}.switch{margin-top:28px;display:flex;padding:4px;border:1px solid var(--line);background:#eff2eb;border-radius:11px}.switch button{flex:1;background:none;border:0;padding:11px;border-radius:8px;color:var(--muted);font-weight:700}.switch button.active{background:#fff;color:var(--green);box-shadow:0 2px 6px #0001}form label{display:block;font-size:12px;font-weight:700;margin-bottom:15px;color:#58695e}form input:not([type=checkbox]),form textarea,form select,.head-actions select{display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #dce3d9;border-radius:10px;min-height:43px;margin-top:7px;color:var(--ink);outline:none}form input:focus,form select:focus{border-color:#669579}form textarea{min-height:82px;resize:vertical}.hint-text{font-size:12px;color:var(--muted);line-height:1.6;margin-top:17px}.splash{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;align-self:flex-start;width:248px;flex:0 0 248px;height:100vh;background:var(--green);color:#fff;padding:28px 17px 17px;display:flex;flex-direction:column}.sidebar .brand{padding-left:7px}.nav-label{font-size:10px;color:#92b09d;font-weight:700;letter-spacing:.15em;margin:39px 12px 11px}.navbtn{width:100%;display:flex;align-items:center;gap:13px;padding:13px 15px;margin:2px 0;border:0;text-align:left;border-radius:10px;background:transparent;color:#bdd4c3;font-weight:700}.navbtn span{font-size:18px;width:19px;text-align:center}.navbtn.active,.navbtn:hover{background:#305741;color:#fff}.account{margin-top:auto;border-top:1px solid #ffffff22;padding:15px 9px}.person{display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;display:grid;place-items:center;background:#315b43;border-radius:10px;font-weight:800}.person div:nth-child(2){min-width:0}.person b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px;font-size:11px}.person small{display:block;margin-top:6px;color:#a7c4af}.main{flex:1;min-width:0}.topbar{height:76px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff;color:#859187}.topbar b{color:var(--ink)}.role{border-radius:40px;padding:8px 13px;color:#4d795d;background:#eef5ec;font-size:11px;font-weight:800}.workspace{margin:auto;padding:36px;max-width:1430px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.page-header p{color:var(--muted);margin-top:8px;line-height:1.5}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.head-actions select{margin-top:0;width:auto;max-width:250px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.metrics.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.metric.dark{background:var(--green);color:#fff;border-color:var(--green)}.metric .caption{color:#839287;font-weight:700;font-size:12px;margin-bottom:16px}.metric.dark .caption,.metric.dark small{color:#b5d0bf}.metric strong{display:block;font:800 32px Manrope,system-ui;letter-spacing:-.05em}.metric small{display:block;margin-top:9px;font-size:11px;color:var(--muted)}.two-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:19px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:22px}.panel-head{padding:20px 23px;display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid #eef1eb}.panel-head h2{font-size:17px}.feed{padding:0 22px}.performance{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #eef1eb}.performance:last-child{border-bottom:0}.date-tile{height:52px;width:51px;display:grid;place-content:center;flex:0 0 51px;border-radius:11px;text-align:center;background:#f3f5f0}.date-tile b{font:700 21px Manrope}.date-tile span{font:700 9px DM Sans;letter-spacing:.11em;color:var(--muted)}.performance-info{flex:1;min-width:0}.performance-info b{display:block;margin-bottom:5px}.performance-info small{color:var(--muted);font-size:11px;line-height:1.5;display:block}.pill{border-radius:25px;font-size:10px;font-weight:800;padding:7px 10px;white-space:nowrap}.pill.open{background:#e5f5eb;color:#36784e}.pill.booked{background:#faf0df;color:#9d753b}.pill.closed{background:#f1f2ef;color:#889089}.empty{padding:55px 20px;text-align:center;color:var(--muted);line-height:1.8}.quick{padding:20px;display:grid;gap:10px}.quick button{background:#fff;border:1px solid var(--line);border-radius:11px;text-align:left;padding:17px;position:relative}.quick button:hover{background:#f7faf6}.quick b,.quick small{display:block}.quick small{color:var(--muted);margin-top:6px}.quick button span{position:absolute;right:17px;top:20px}.notice{background:#f1f7f0;border:1px solid #dfebdb;border-radius:11px;padding:16px;color:#52715a;font-size:12px;line-height:1.7;margin:18px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dow{text-transform:uppercase;color:#8b9b90;font-weight:800;font-size:10px;letter-spacing:.13em;text-align:center;padding:14px 4px}.day{min-height:126px;border-top:1px solid #eef0eb;border-right:1px solid #eef0eb;padding:9px 7px;min-width:0}.day:nth-child(7n){border-right:0}.day.other{background:#fafbf8}.day>b{display:inline-grid;place-content:center;min-width:25px;height:25px}.day>b.today{background:var(--green);color:#fff;border-radius:50%}.date-chip{display:block;border:0;border-radius:6px;width:100%;margin:5px 0;padding:7px 5px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:pointer}.date-chip.open{background:#e5f6eb;color:#316f44}.date-chip.booked{background:#fbefdd;color:#9c6a2b}.date-chip.closed{background:#efefec;color:#8a938b}.month-nav{display:flex;gap:7px}.month-nav button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--green);padding:8px 12px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:10px;color:#849489;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:#fafbf8;padding:14px 18px}td{padding:17px 18px;border-top:1px solid #edf0ea}td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.venue-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.venue-card{border-radius:14px;border:1px solid var(--line);background:#fff;padding:25px}.venue-card h2{font-size:22px;margin:7px 0 17px}.venue-card p{color:var(--muted)}.indicator{background:#78a27e;width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:7px}.venue-footer{display:flex;align-items:center;justify-content:space-between;margin-top:30px;font-size:11px;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0c211ac4;display:grid;place-items:center;padding:18px}.dialog{background:#fff;border-radius:18px;max-width:535px;width:100%;padding:26px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 65px #0003}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-top h2{font-size:22px}.close{width:34px;height:34px;background:#f1f4ef;border:0;border-radius:10px;font-size:22px}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog form h3{margin:17px 0;font-size:14px}.checkbox{display:flex;gap:8px;align-items:center;font-size:12px}.checkbox input{margin:0}.venue-approval{background:#f8faf7;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.venue-approval label{margin:0}.venue-approval input:not([type=checkbox]){margin-top:4px}.date-modal{font-size:25px;margin:9px 0}.muted{color:var(--muted)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px}.error-page{max-width:520px;margin:20vh auto;padding:30px}.error-page p{margin:15px 0;color:#9b4a42}#toast{position:fixed;right:25px;bottom:25px;max-width:min(450px,90vw);background:var(--green);padding:15px 20px;color:#fff;border-radius:11px;box-shadow:0 12px 35px #0003;opacity:0;transform:translateY(13px);transition:.2s;pointer-events:none;z-index:110}#toast.show{opacity:1;transform:translateY(0)}#toast.error{background:#ab514c}@media(max-width:1080px){.sidebar{width:210px;flex-basis:210px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-cols{grid-template-columns:1fr}.workspace{padding:25px}}@media(max-width:720px){.auth-layout{display:block}.auth-hero{min-height:290px;padding:25px}.auth-hero h1{font-size:37px;margin-top:24px}.auth-panel{padding:34px 20px}.sidebar{position:static;width:100%;height:auto;padding:15px;display:block}.shell{display:block}.nav-label,.account{display:none}.nav{display:flex;overflow-x:auto;gap:5px;margin-top:10px}.navbtn{font-size:11px;padding:10px;white-space:nowrap}.navbtn span{display:none}.topbar{height:58px;padding:0 18px}.workspace{padding:25px 15px}.page-header{display:block}.head-actions{margin-top:16px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:26px}.performance{gap:8px}.date-tile{width:41px;flex-basis:41px}.performance-info small{font-size:10px}.feed{padding:0 12px}.panel-head{padding:16px}.day{min-height:84px;padding:5px 2px}.date-chip{font-size:8px;padding:5px 3px}.dow{font-size:8px}.venue-cards,.venue-approval,.form-cols{grid-template-columns:1fr}}
