:root{color-scheme:light;--forest:#16392f;--deep:#102c27;--mint:#dcece3;--paper:#f7f6f1;--cream:#f1f0ea;--line:#e3e8e0;--ink:#1b322c;--muted:#647a72;--accent:#d0a16a;--white:#fff;--danger:#a4533f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.48}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--forest)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,dialog:focus-visible{outline:3px solid #cc985d;outline-offset:3px}.skip{position:absolute;top:-100px;left:1rem;z-index:8;padding:.7rem 1rem;background:#fff}.skip:focus{top:1rem}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--deep);color:#f0f7ed;padding:27px 17px;gap:1.4rem}.brand{display:flex;align-items:center;gap:.65rem;padding:0 9px;text-decoration:none;color:white;font-size:23px;font-weight:800;letter-spacing:-.06em;line-height:1.08}.brand-icon{height:40px;width:40px;display:grid;place-items:center;border:1px solid #c3d8c8;border-radius:12px;background:#33544a;color:#f9efe4;font-family:Georgia,serif;font-size:29px;font-weight:400}.brand-accent{color:#d7ac7b}.brand small{display:block;letter-spacing:.22em;font-size:9px;font-weight:750;color:#acc5b4;margin-top:.28rem}.side-label,.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.18em}.side-label{margin:20px 13px 0;color:#89ab99}#nav{display:grid;gap:.32rem}#nav button{width:100%;text-align:left;display:flex;align-items:center;gap:.7rem;padding:.74rem .85rem;border:1px solid transparent;border-radius:10px;background:none;color:#d2e3d7;font-weight:620}#nav button span{font-size:1.35rem;line-height:1}#nav button:hover,#nav button[aria-current]{background:#36574c;color:white}#nav button[aria-current]{border-color:#789380}.side-bottom{margin-top:auto;display:grid;gap:1rem;padding:0 9px}.side-bottom>a{color:#ceded4;text-decoration:none;font-size:.84rem}.side-bottom>a:hover{text-decoration:underline}.side-card{border-radius:14px;border:1px solid #6b897482;background:#25463a;padding:1rem}.side-card strong{font-size:.82rem}.side-card p{margin:.5rem 0 0;color:#d0e1d6;font-size:.77rem}.side-dot,.mode i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#95dbaf;margin-right:.35rem}.content{min-width:0;padding:0 clamp(18px,4vw,55px)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:84px;border-bottom:1px solid var(--line)}.topbar .eyebrow{color:#577568}.today{display:block;color:var(--muted);font-size:.82rem;margin-top:.2rem}.top-actions{display:flex;align-items:center;gap:.7rem}.mode{border:1px solid #cfddcf;border-radius:20px;padding:.42rem .65rem;color:#355748;white-space:nowrap;font-size:.67rem;font-weight:800;letter-spacing:.09em}.outline,.ghost,.mini,.light-btn,.text-button,.primary{border-radius:10px;padding:.7rem 1rem;font-weight:720}.outline{background:#fff;color:var(--forest);border:1px solid #c5d3c9}.outline:hover{border-color:var(--forest)}.primary{border:1px solid var(--forest);background:var(--forest);color:white;box-shadow:0 7px 13px #16392f17}.primary:hover{background:#265248}.ghost{background:transparent;border:1px solid #bdcbc2;color:var(--forest)}.notice{background:#eeeade;border:1px solid #e2d5bc;border-radius:11px;padding:.85rem 1rem;font-size:.81rem;color:#4d5144;margin-top:1.1rem}.notice strong{color:#343b31}main{max-width:1580px;margin:auto;min-height:60vh}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:2.2rem 0 1.65rem}.page-title .eyebrow{color:#768d78}.page-title h1,.intro h1{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:.5rem 0}.page-title p,.intro p{color:var(--muted);margin:0;max-width:680px}.page-title button{white-space:nowrap}.welcome{display:flex;align-items:stretch;justify-content:space-between;background:linear-gradient(110deg,#173c32,#1b4f43 65%,#426d50);border-radius:19px;color:white;min-height:230px;padding:clamp(1.5rem,3.6vw,2.5rem);overflow:hidden;position:relative}.welcome h2{font:400 clamp(1.7rem,2.6vw,2.7rem) Georgia,serif;margin:.65rem 0}.welcome p{max-width:450px;color:#d6e8da;margin:0 0 1.25rem}.welcome .eyebrow{color:#c6d8c4}.light-btn{color:#14372d;background:#f3efe1;border:0;padding:.65rem .95rem}.light-btn:hover{background:#fff}.welcome-symbol{display:grid;place-content:center;text-align:center;min-width:210px;margin:-6rem -2rem -6rem 0;border:1px solid #b1d8ba5e;border-radius:55% 15% 55% 15%;transform:rotate(-12deg);opacity:.78}.welcome-symbol span{font:110px Georgia,serif;color:#f4ecd6}.welcome-symbol small{font-size:10px;letter-spacing:.2em}.brief{background:#e7efe4;border:1px solid #bdd2bf;border-radius:12px;padding:1.1rem;margin:1rem 0;white-space:pre-line}.brief strong{font-size:.73rem;letter-spacing:.12em}.brief p{margin:.5rem 0 0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0 1.5rem}.stat-card,.surface,.room-card{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 6px 26px #17382b0a}.stat-card{padding:1.15rem 1.25rem}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#587064;font-size:.83rem}.stat-top span:last-child{font-size:1.4rem;color:#779f89}.stat-card strong{display:block;font:400 2.15rem Georgia,serif;margin:.35rem 0 .05rem}.stat-card small{color:var(--muted);font-size:.78rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:1rem}.surface{min-width:0;padding:1.3rem}.surface-head,.section-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.surface-head h2,.section-bar h2{font:400 1.55rem Georgia,serif;margin:.25rem 0 .95rem}.surface-head .eyebrow{color:#7b9684}.text-button{border:0;background:none;color:#326b51;padding:.5rem .1rem;font-size:.81rem}.text-button:hover{text-decoration:underline}.reservation{display:grid;grid-template-columns:minmax(130px,1.25fr) minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:.75rem;padding:1rem 1.2rem;border-top:1px solid var(--line)}.res-list .reservation:first-child{border-top:0}.reservation strong{display:block;font-size:.86rem}.reservation small{display:block;font-size:.74rem;color:var(--muted);margin-top:.12rem}.res-guest{display:flex;gap:.7rem;align-items:center;min-width:0}.res-guest>div:last-child{min-width:0}.res-guest strong,.res-guest small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e9efe6;color:#2e5841;font-weight:800}.res-action{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.badge,.room-status{border-radius:20px;padding:.28rem .55rem;font-size:.69rem;font-weight:800;text-transform:capitalize;white-space:nowrap}.badge.reserved,.room-status.upcoming{background:#fff2da;color:#825b24}.badge.checked-in,.badge.served,.room-status.ready{background:#dcefe1;color:#236043}.badge.checked-out{background:#e9ece8;color:#4f6558}.badge.preparing{background:#e7eaf6;color:#465e96}.mini{padding:.35rem .6rem;background:#fff;border:1px solid #bdcec3;color:#285444;font-size:.74rem}.mini:hover{border-color:#245440;background:#eff7f0}.ticket-short,.ticket{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.78rem 0;border-bottom:1px solid var(--line)}.ticket-short strong,.ticket strong{display:block;font-size:.86rem}.ticket-short small,.ticket small{display:block;color:var(--muted);font-size:.76rem}.side-surface .text-button{margin-top:1.2rem}.muted{color:var(--muted)}.section-bar{margin:1.7rem 0 .65rem}.section-bar h2{margin:0}.section-bar span,.count-pill{border-radius:20px;background:#e9efe9;color:#3a6650;padding:.25rem .55rem;font-size:.72rem;font-family:system-ui;font-weight:750}.padless{padding:0}.empty{padding:1rem;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 1.4rem;color:#526c5c;font-size:.82rem}.legend span{display:flex;align-items:center;gap:.4rem}.legend i{display:block;width:10px;height:10px;border-radius:50%}.legend i.ready{background:#61ac76}.legend i.occupied{background:#547c95}.legend i.upcoming{background:#e0b467}.legend i.housekeeping{background:#b27566}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.room-card{padding:1.25rem;display:flex;flex-direction:column;min-width:0}.room-card-top,.room-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.room-card-top>span:first-child{font-size:.69rem;letter-spacing:.1em;font-weight:750;color:var(--muted)}.room-status.occupied{background:#e6ecf3;color:#3a6280}.room-status.housekeeping{background:#f6e8e4;color:#98554b}.room-icon{font-size:3rem;line-height:1;color:#a8c9b0;margin:1.35rem 0 .25rem}.room-card h2{font:400 1.65rem Georgia,serif;margin:0}.room-card p{color:var(--muted);font-size:.79rem;margin:.22rem 0 1.2rem}.room-card-bottom{margin-top:auto;border-top:1px solid var(--line);padding:.7rem 0 .8rem;font-size:.76rem;color:var(--muted)}.room-card-bottom strong{color:var(--ink);font-size:.85rem;white-space:nowrap}.room-card-bottom small{font-weight:400}.full{width:100%}.pos-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:1rem;align-items:start}.category-row{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1rem}.category{padding:.4rem .7rem;border-radius:25px;border:1px solid #dbe5db;background:white;color:#486352;font-size:.76rem}.category.active{background:#214939;color:white}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.menu-item{border:1px solid var(--line);background:#fafbf7;border-radius:12px;padding:1rem;min-width:0}.dish-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e6efe3;color:#4b7c61;font-size:1.65rem}.dish-group{display:block;font-size:.67rem;color:#7b936f;text-transform:uppercase;letter-spacing:.1em;margin:.85rem 0 .2rem}.menu-item h3{margin:0;font:400 1.1rem Georgia,serif}.menu-item p{font-size:.74rem;color:var(--muted);min-height:1rem;margin:.2rem 0 .8rem}.menu-item>div:last-child{display:flex;justify-content:space-between;align-items:center}.menu-item>div:last-child strong{font-size:.87rem}.add-item{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:var(--forest);color:white;font-size:1.3rem;line-height:1}.pos-cart label,.dialog-head~p+label{display:block;font-weight:700;margin:.6rem 0 .36rem;font-size:.81rem}.pos-cart select,dialog select,dialog input{width:100%;min-width:0;border:1px solid #b9cbc1;border-radius:9px;background:#fff;color:var(--ink);padding:.75rem;margin-bottom:.55rem}.pos-cart select:focus-visible{outline-offset:1px}.hint{color:var(--muted);font-size:.75rem}.cart-list{min-height:165px;padding:1rem 0}.cart-empty{text-align:center;color:var(--muted);padding:1.2rem}.cart-empty span{font-size:2.5rem;color:#a6bda9}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.72rem 0;border-top:1px solid var(--line)}.cart-line>div:first-child{flex:1;min-width:0}.cart-line strong{font-size:.79rem}.cart-line small{display:block;color:var(--muted);font-size:.71rem}.qty{display:flex;align-items:center;gap:.35rem}.qty button{width:25px;height:25px;border:1px solid #bdcec3;border-radius:7px;background:white}.cart-footer{border-top:1px solid var(--line);padding-top:1rem}.cart-footer>div{display:flex;justify-content:space-between;margin:0 0 1rem}.cart-footer strong{font-size:1.25rem}.cart-footer p{color:var(--muted);font-size:.72rem;text-align:center}.tickets{margin-top:1rem}.ticket>div:last-child{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.ticket small{overflow-wrap:anywhere}.about-demo{margin:3rem 0 0;border-top:1px solid var(--line);padding:1.2rem 0 2rem;color:#526a5d}.about-demo h2{font-size:.9rem}.about-demo p{font-size:.83rem;max-width:920px}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:1.2rem 0 2rem;font-size:.74rem;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;padding:1.5rem;width:min(95vw,520px);max-height:90vh;overflow:auto;box-shadow:0 22px 80px #00171152}dialog::backdrop{background:#0c2018b9}.dialog-head{display:flex;justify-content:space-between;gap:1rem}.dialog-head h2{font:400 1.8rem Georgia,serif;margin:.25rem 0}dialog p{color:var(--muted);font-size:.83rem}dialog label{display:block;font-weight:700;font-size:.8rem;margin:.65rem 0 .38rem}.close{border:0;background:#eef1ed;border-radius:9px;width:34px;height:34px;color:var(--forest);font-size:1.45rem}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.form-error{min-height:1rem;color:var(--danger);font-size:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}#toast{position:fixed;right:1.3rem;bottom:1.3rem;z-index:12;background:#14382e;color:white;max-width:min(400px,90vw);padding:.85rem 1rem;border-radius:10px;box-shadow:0 15px 40px #1d3b3052;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translateY(0)}@media(max-width:1150px){.shell{grid-template-columns:205px minmax(0,1fr)}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.pos-grid{grid-template-columns:1fr}.reservation{grid-template-columns:minmax(120px,1.3fr) minmax(115px,1fr) minmax(105px,.8fr) auto}}@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:relative;padding:.9rem 1rem;gap:.55rem}.brand{padding:0;font-size:20px}.brand-icon{width:33px;height:33px;font-size:23px}.side-label,.side-bottom{display:none}#nav{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}#nav button{width:auto;flex:none;padding:.55rem .65rem;font-size:.78rem}#nav button span{font-size:1rem}.content{padding:0 1rem}.topbar{min-height:60px}.notice{margin-top:.8rem}.page-title{margin:1.8rem 0 1.2rem}.reservation{grid-template-columns:1fr 1fr;gap:.55rem}.res-action{justify-content:flex-start}.res-list .reservation{padding:.9rem}.welcome-symbol{min-width:130px}.welcome-symbol span{font-size:65px}}@media(max-width:520px){.top-actions .mode{display:none}.topbar .eyebrow{font-size:.58rem}.today{font-size:.7rem}.topbar .outline{font-size:.74rem;padding:.43rem .55rem}.page-title{align-items:flex-start;flex-direction:column}.page-title h1{font-size:2.05rem}.page-title .primary{width:100%}.welcome{padding:1.3rem;min-height:0}.welcome-symbol{display:none}.stat-grid,.menu-grid{grid-template-columns:1fr 1fr;gap:.6rem}.stat-card{padding:.9rem}.stat-card strong{font-size:1.8rem}.stat-top{font-size:.72rem}.room-grid{grid-template-columns:1fr}.reservation{grid-template-columns:1fr 1fr}.reservation .res-guest{grid-column:1/-1}.res-room{grid-column:1}.res-action{grid-column:2}.menu-item{padding:.8rem}.menu-item h3{font-size:1rem}.ticket{align-items:flex-start}.ticket>div:last-child{display:block;text-align:right}.ticket>div:last-child>*{display:block;margin:.2rem 0}.form-pair{gap:.5rem}.form-pair input,.form-pair select{padding:.6rem}}
