:root{--ink:#172f31;--muted:#718180;--green:#123b37;--lime:#d2edba;--cream:#f5f5ee;--line:#e4e8df;--red:#ae3544;--amber:#976c18;--white:#fff;--shadow:0 10px 28px #183a2810}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.btn{border:0;background:var(--green);color:white;padding:13px 17px;border-radius:13px;cursor:pointer;font-weight:650;min-height:46px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover,.btn:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eaf0e4;color:var(--green)}.ghost{background:transparent;color:var(--green);border:1px solid var(--line)}.danger{background:#f9e9e9;color:var(--red)}.small{padding:8px 12px;min-height:38px;font-size:12px}.icon{padding:8px 13px;background:#f0f2ec;color:var(--green);font-size:23px;min-height:42px}input,select,textarea{width:100%;border:1px solid #d4dcd4;border-radius:11px;background:#fff;padding:12px;min-height:47px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #7caa80;outline-offset:1px}textarea{min-height:90px;resize:vertical}label{display:block;font-size:12px;font-weight:650;color:#576d68;margin:13px 0 5px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:29px;line-height:1.17;letter-spacing:-1px;margin-bottom:8px}h2{font-size:20px;letter-spacing:-.4px;margin-bottom:14px}h3{font-size:16px;margin-bottom:10px}p{margin-bottom:12px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:750;color:var(--muted)}.layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--green);color:#fff;padding:32px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin-bottom:43px}.mark{background:var(--lime);color:var(--green);width:43px;height:43px;display:grid;place-items:center;border-radius:14px;font-size:22px;font-weight:800}.brand strong{display:block;font-size:22px;letter-spacing:-.7px}.brand span{font-size:9px;letter-spacing:2px;color:#c5d8ca}.sideNav{display:grid;gap:6px}.sideNav button{justify-content:flex-start;background:transparent;color:#b7ccc3;font-size:13px;padding:13px}.sideNav button.active{background:#2d5147;color:#e0f4ce}.sideFooter{margin-top:auto;font-size:11px;color:#a8c3b6}.workspace{padding:30px 34px 45px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:10px}.topName{font-size:13px;font-weight:700}.top small{font-size:11px;color:var(--muted)}.rolepill{font-size:11px;padding:7px 10px;border:1px solid var(--line);border-radius:24px;background:white;text-transform:capitalize}.welcome{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:23px}.welcome p{margin:0;font-size:12px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.metric{border-radius:17px;background:#fff;padding:20px;border:1px solid var(--line)}.metric.primary{background:var(--green);color:#fff;border:0}.metric .eyebrow{font-size:9px;letter-spacing:1px}.metric.primary .eyebrow{color:#bdd0c1}.metric strong{font-size:25px;display:block;letter-spacing:-.8px;margin:12px 0 5px}.metric small{font-size:10px;color:var(--muted)}.metric.primary small{color:#bdd0c1}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:19px}.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:21px;margin-bottom:18px;box-shadow:var(--shadow)}.panelTitle{display:flex;justify-content:space-between;align-items:center;gap:10px}.panelTitle h3{margin:0}.panelTitle small{color:var(--muted);font-size:10px}.gridStatus{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7px;align-items:center;margin-top:18px}.gridStatus .caption{font-size:10px;color:var(--muted);text-align:center}.hallLabel{font-size:12px;font-weight:650}.slot{font-size:10px;letter-spacing:.4px;min-height:38px;padding:8px;border-radius:9px;border:1px solid transparent;font-weight:750}.free{background:#edf5e8;color:#3c7649}.hold{background:#fff4d9;color:#916a1a}.confirmed{background:#fbe6e7;color:#aa3544}.maintenance{background:#e8ebec;color:#65716e}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:9px;color:var(--muted);margin-top:17px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.eventCard{background:#f8f9f3;border:1px solid var(--line);padding:17px;border-radius:13px;margin-top:14px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.6px;border-radius:7px;padding:5px 7px;display:inline-block}.eventCard h3{font-size:18px;margin:12px 0 4px}.eventCard p{font-size:11px;color:var(--muted);margin:0 0 10px}.detailRow{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:8px 0}.balance{color:var(--red);font-weight:750}.row{padding:15px 0;border-bottom:1px solid #edf0e7}.row:last-child{border-bottom:0;padding-bottom:0}.row strong{display:block;font-size:13px}.row p{font-size:11px;margin:3px 0 9px;color:var(--muted)}.row .when{font-size:10px;color:var(--muted)}.empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px}.callout{padding:12px 14px;background:#edf3e8;border-radius:12px;color:#3b6451;font-size:11px;margin-bottom:16px}.warning{background:#fff3d9;color:#816120}.footer{font-size:10px;color:#81918b;text-align:center;margin:22px 0 0}.bottomNav{display:none}.login{max-width:410px;margin:8vh auto;padding:29px;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.login .mark{width:58px;height:58px;margin-bottom:25px}.login h1{font-size:36px}.login .sub{font-size:13px;color:var(--muted);margin-bottom:25px}.login button{width:100%;margin-top:20px}.login .footer{line-height:1.7}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.full{grid-column:1/-1}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.checks label{display:flex;align-items:center;gap:8px;padding:9px;background:#f5f7f0;border-radius:9px;margin:0}.checks input{width:18px;min-height:18px}.previewTotal{background:var(--green);color:white;border-radius:13px;padding:17px;display:flex;justify-content:space-between;align-items:center;margin:18px 0}.previewTotal strong{font-size:23px}dialog{border:0;padding:0;border-radius:22px;width:min(600px,96vw);max-height:92vh;box-shadow:0 20px 100px #001c2c40}dialog::backdrop{background:#0d242580;backdrop-filter:blur(4px)}dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}dialog h2{margin:0}#modalBody{padding:20px 22px}.formActions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#172f31;color:white;padding:13px 20px;border-radius:12px;z-index:100;display:none;max-width:90%;font-size:13px}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:10px 7px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px}.scroll{overflow-x:auto}.filters{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.filters input,.filters select{width:auto;max-width:100%;flex:1}.bookingsList{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.bookingTile{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;cursor:pointer}.bookingTile h3{margin:10px 0 3px}.bookingTile p{font-size:11px;color:var(--muted);margin-bottom:9px}.slip{border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-bottom:20px}.slipHead{padding:20px;background:var(--green);color:#fff}.slipHead p{color:#bdd0c1;font-size:12px;margin:0}.slipBody{padding:20px}.guests{background:#eff5e6;padding:18px;text-align:center;border-radius:12px;margin-bottom:20px}.guests strong{font-size:34px;display:block;line-height:1.2}.dish{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.dish:before{content:'✓';color:#55804a;margin-right:10px}.progress{height:5px;background:#e4eadd;border-radius:5px;overflow:hidden;margin:12px 0}.progress span{height:100%;background:#84a86f;display:block}.toggleTabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}.toggleTabs button{min-height:36px;padding:8px 12px;font-size:12px}.auditItem{border-left:3px solid #a5bc8c;padding:10px 14px;background:#f8f9f3;margin:10px 0;border-radius:0 9px 9px 0}.auditItem.alert{border-color:#be6170;background:#fff4f3}.auditItem strong{font-size:12px}.auditItem p{font-size:10px;color:var(--muted);margin:4px 0}.pillList{display:flex;gap:5px;flex-wrap:wrap}.pillList span{font-size:10px;border:1px solid var(--line);padding:5px 8px;border-radius:7px}.error{color:var(--red);font-size:12px;margin-top:10px}.bigIcon{font-size:32px}.calendarDay{font-size:12px;font-weight:700;margin:20px 0 5px}.noticeDot{background:#b44246;color:white;border-radius:15px;font-size:9px;padding:2px 5px}
@media(max-width:1000px){.layout{grid-template-columns:190px 1fr}.sidebar{padding:25px 14px}.workspace{padding:25px 22px}.cards{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.welcome{align-items:start}.welcome .actions{max-width:210px}.bookingsList{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:14px}.layout{display:block}.sidebar{display:none}.workspace{padding:19px 17px 105px}.top{margin-bottom:25px}.topName{font-size:12px}.top small{font-size:10px}.rolepill{font-size:10px;padding:6px 9px}.welcome{display:block;margin-bottom:20px}h1{font-size:29px}.welcome .actions{max-width:none;margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.welcome .actions button{padding:13px 9px;font-size:12px}.cards{gap:10px;margin-bottom:19px}.metric{padding:16px 14px;border-radius:15px}.metric strong{font-size:23px;margin:10px 0 3px}.metric .eyebrow{font-size:9px;letter-spacing:.8px}.metric small{font-size:9px}.panel{padding:17px;border-radius:17px;margin-bottom:15px}.columns{gap:0}.bottomNav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 9px max(10px,env(safe-area-inset-bottom));gap:2px;box-shadow:0 -8px 25px #173b2908}.bottomNav button{background:transparent;color:#83918a;flex:1;font-size:9px;min-width:0;display:flex;flex-direction:column;gap:1px;padding:4px;border-radius:10px;min-height:48px;font-weight:600}.bottomNav button b{font-size:19px;line-height:1.3}.bottomNav button.active{color:var(--green);background:#eef3e7}.bottomNav button:last-child{flex:.85}.login{margin:7vh 16px;padding:28px;max-width:none}.formGrid{gap:0 10px}.checks{grid-template-columns:1fr}.formGrid input,.formGrid select{font-size:14px}.bookingsList{gap:10px}.footer{font-size:9px}.row{padding:13px 0}.filters{gap:6px}.filters input,.filters select{font-size:12px;min-width:110px}.slipHead{padding:19px}.slipBody{padding:18px}.panelTitle h3{font-size:15px}.gridStatus{gap:6px}dialog{max-height:94vh;border-radius:20px}#modalBody{padding:17px}dialog header{padding:16px 17px}.formActions button{flex:1;padding:12px 8px}.top .actions{gap:5px}.top .actions button{min-height:35px;padding:7px 10px}}
@media print{.sidebar,.bottomNav,.top,.welcome,.footer,button,.btn{display:none!important}.workspace{padding:0}.layout{display:block}.panel,.slip{break-inside:avoid;box-shadow:none}.slip{border:1px solid #555}.slipHead{color:#111;background:#eee}.slipHead p{color:#444}}
