:root{--bg:#e7efe7;--paper:rgba(248,247,241,0.94);--paper-strong:rgba(255,251,243,0.97);--ink:#10291f;--muted:#476155;--accent:#0b4f3f;--accent-strong:#083b2f;--accent-soft:rgba(11,79,63,0.14);--accent-warm:#b9903c;--accent-warm-strong:#8e6a1f;--line:rgba(16,41,31,0.16);--good:#1d6a49;--bad:#8c4334;--shadow:0 28px 72px rgba(9,37,28,0.18)}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(106,142,110,.34),transparent 24%),radial-gradient(circle at top right,rgba(185,144,60,.16),transparent 28%),linear-gradient(180deg,#f5f5ef,#e7eee4 42%,#e2e8dc)}body{margin:0;color:var(--ink);font-family:Trebuchet MS,Verdana,sans-serif;min-height:100vh}a{color:inherit}.shell{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 3rem}.hero{position:relative;overflow:hidden;padding:2rem;border:1px solid rgba(11,79,63,.18);border-radius:30px;background:linear-gradient(135deg,rgba(255,251,243,.98),rgba(235,242,232,.94)),radial-gradient(circle at bottom right,rgba(185,144,60,.18),transparent 28%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hero--compact{padding:1rem 1.2rem 1.1rem;border-radius:24px}.hero:after{content:"";position:absolute;inset:auto -8% -36% auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(11,79,63,.18) 0,rgba(11,79,63,.06) 42%,transparent 70%);pointer-events:none}.hero__topline{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.hero__topline--compact{align-items:center;gap:1rem}.hero__brand{display:grid;grid-gap:.2rem;gap:.2rem}.hero__toolbar{display:flex;align-items:center;gap:.75rem}.detail-grid h3,.floor-card h3,.hero h1,.overview-card h3,.result-card h3,.section-heading h2{font-family:Baskerville,Palatino Linotype,Cambria,serif;letter-spacing:-.03em}.hero h1{max-width:11ch;margin:.25rem 0 .9rem;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.92}.hero--compact h1{max-width:none;margin:0;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1}.detail-grid p,.floor-card p,.hero__copy,.overview-card p,.section-heading p,.status-line{color:var(--muted)}.hero__copy,.section-heading p{max-width:72ch}.app-nav__link,.button,.language-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.82rem 1.2rem;border:1px solid transparent;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.language-toggle{background:rgba(255,249,235,.92);border-color:rgba(185,144,60,.34);color:var(--accent-strong);box-shadow:0 12px 24px rgba(98,78,27,.12)}.app-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hero--compact .app-nav{margin-top:.9rem;gap:.55rem}.app-nav__link{color:var(--ink);background:rgba(255,251,244,.82);border-color:var(--line)}.app-nav__link--active{background:linear-gradient(135deg,rgba(11,79,63,.95),rgba(7,56,44,.94));border-color:rgba(185,144,60,.38);color:#f9f3e2;box-shadow:0 14px 24px rgba(11,79,63,.18)}.app-nav__link--small{padding:.58rem .9rem;font-size:.9rem}.app-nav__link:hover,.button:hover,.language-toggle:hover{transform:translateY(-1px)}.content{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.auth-shell{width:min(460px,100%);margin:2rem auto 0}.section-heading{display:grid;grid-gap:.35rem;gap:.35rem}.overview-grid,.panel,.section-heading h2{margin:0}.floor-card,.overview-card,.panel,.table-card{border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,rgba(255,251,243,.97),rgba(237,244,237,.92));box-shadow:var(--shadow)}.panel{padding:1.3rem}.date-input-shell{width:100%;cursor:pointer}.date-input-shell input{cursor:pointer}.floor-grid,.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.floor-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:.85rem;gap:.85rem}.floor-view-switcher{display:flex;justify-content:space-between;gap:1rem;align-items:center}.floor-summary__card{padding:1rem 1.1rem;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,252,245,.94),rgba(243,249,246,.9));box-shadow:var(--shadow)}.floor-summary__card h3{margin:.15rem 0 .35rem;font-size:2rem;font-family:Baskerville,Palatino Linotype,Cambria,serif}.floor-card--available,.floor-summary__card--available{border-color:rgba(78,156,72,.28);background:linear-gradient(180deg,rgba(244,255,240,.99),rgba(217,244,208,.94))}.floor-card--reserved,.floor-summary__card--reserved{border-color:rgba(181,109,61,.24);background:linear-gradient(180deg,rgba(255,250,241,.98),rgba(248,238,218,.93))}.floor-card--arrived,.floor-summary__card--arrived{border-color:rgba(197,123,76,.26);background:linear-gradient(180deg,rgba(255,246,238,.98),rgba(249,227,213,.93))}.floor-card--dining,.floor-summary__card--dining{border-color:rgba(15,105,112,.26);background:linear-gradient(180deg,rgba(240,250,250,.98),rgba(219,241,239,.93))}.floor-card--completed,.floor-summary__card--completed{border-color:rgba(78,112,98,.24);background:linear-gradient(180deg,rgba(245,250,247,.98),rgba(232,240,235,.93))}.floor-card--cleaning,.floor-summary__card--cleaning{border-color:rgba(110,131,118,.22);background:linear-gradient(180deg,rgba(247,249,248,.98),rgba(236,241,239,.93))}.floor-card--blocked,.floor-summary__card--blocked{border-color:rgba(154,77,58,.22);background:linear-gradient(180deg,rgba(252,246,244,.98),rgba(245,231,227,.93))}.floor-card--neutral,.floor-summary__card--neutral{border-color:var(--line)}.floor-card,.overview-card,.table-card{position:relative;padding:1.3rem}.floor-card{overflow:hidden}.floor-card--compact{display:grid;grid-gap:.85rem;gap:.85rem;padding:1.15rem}.floor-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;border-radius:26px 0 0 26px;background:rgba(15,105,112,.16)}.floor-card--available:before,.floor-legend__chip--available .floor-legend__dot{background:linear-gradient(180deg,#86d44e,#459537)}.floor-card--reserved:before,.floor-legend__chip--reserved .floor-legend__dot{background:linear-gradient(180deg,#d4a065,#b56d3d)}.floor-card--arrived:before,.floor-legend__chip--arrived .floor-legend__dot{background:linear-gradient(180deg,#e0a278,#c57b4c)}.floor-card--dining:before,.floor-legend__chip--dining .floor-legend__dot{background:linear-gradient(180deg,#1b8b8d,#0f6970)}.floor-card--completed:before,.floor-legend__chip--completed .floor-legend__dot{background:linear-gradient(180deg,#7b9f8d,#597867)}.floor-card--cleaning:before,.floor-legend__chip--cleaning .floor-legend__dot{background:linear-gradient(180deg,#a3b0a7,#77857b)}.floor-card--blocked:before,.floor-card--neutral:before,.floor-legend__chip--blocked .floor-legend__dot,.floor-legend__chip--neutral .floor-legend__dot{background:linear-gradient(180deg,#be7a67,#9a4d3a)}.floor-card__topline{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.floor-card__table-number{margin:.18rem 0 0;font-size:clamp(2rem,5vw,2.8rem);line-height:.95}.floor-card__meta{display:flex;flex-wrap:wrap;gap:.45rem}.floor-card__meta-chip{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.38rem .7rem;border-radius:999px;border:1px solid rgba(16,41,31,.1);background:rgba(255,251,243,.82);color:var(--muted);font-size:.8rem}.floor-card__pos{border-color:rgba(42,109,140,.28);background:rgba(42,109,140,.1);color:#1f4f66;font-weight:600}.floor-card__pos--bill{border-color:rgba(185,144,60,.4);background:rgba(185,144,60,.2);color:var(--accent-warm-strong)}.floor-card__pos--paid{border-color:rgba(62,130,84,.35);background:rgba(62,130,84,.14);color:#2b5d3b}.floor-pos{padding-top:.75rem;padding-bottom:.75rem}.floor-pos--stale{border-color:rgba(185,144,60,.45);background:rgba(185,144,60,.12)}.floor-card__content{display:grid;grid-gap:.38rem;gap:.38rem}.floor-card__content p{margin:0}.overview-card{overflow:hidden}.overview-card:after{content:"";position:absolute;inset:auto -20% -26% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(15,105,112,.18),transparent 68%)}.overview-card:hover{transform:translateY(-3px);border-color:rgba(15,105,112,.22)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--accent-warm-strong)}.form-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field{display:grid;grid-gap:.42rem;gap:.42rem}.field--checkbox{align-content:end;padding-bottom:.2rem}.field--full{grid-column:1/-1}.field--actions{align-content:end}.toggle-toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.toggle-chip-group{display:flex;flex-wrap:wrap;gap:.65rem}.toggle-chip{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.72rem .95rem;border-radius:999px;border:1px solid rgba(11,79,63,.16);background:rgba(255,251,244,.82);color:var(--muted);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.toggle-chip input{width:1rem;height:1rem;margin:0}.toggle-chip:hover{transform:translateY(-1px);border-color:rgba(185,144,60,.34)}.toggle-chip--active{background:linear-gradient(135deg,rgba(11,79,63,.12),rgba(185,144,60,.14));border-color:rgba(11,79,63,.32);color:var(--accent-strong);box-shadow:0 10px 20px rgba(11,79,63,.08)}label{font-size:.92rem;color:var(--muted)}input,select,textarea{width:100%;border-radius:16px;border:1px solid rgba(11,79,63,.18);background:rgba(255,251,246,.94);padding:.9rem 1rem;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}select{cursor:pointer}input:focus,select:focus,textarea:focus{border-color:rgba(185,144,60,.52);box-shadow:0 0 0 4px rgba(185,144,60,.14);background:rgba(255,252,248,.98)}input[type=checkbox]{width:1.2rem;height:1.2rem}.button{background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:#fbf6ea;cursor:pointer;box-shadow:0 14px 28px rgba(11,79,63,.24)}.button:disabled,.language-toggle:disabled{cursor:not-allowed;opacity:.7}.button--ghost{background:rgba(255,250,242,.9);color:var(--accent-strong);border-color:rgba(185,144,60,.26);box-shadow:none}.button--selected{background:linear-gradient(135deg,rgba(11,79,63,.14),rgba(185,144,60,.14));border-color:rgba(11,79,63,.36);box-shadow:0 10px 20px rgba(11,79,63,.1)}.status-line{margin:0}.result-card{background:var(--paper-strong)}.result-card--good{border-color:rgba(36,106,87,.22)}.result-card--bad{border-color:rgba(154,77,58,.22)}.availability-list{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.availability-list__item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(11,79,63,.14);background:rgba(255,252,245,.78)}.floor-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.floor-grid--compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.floor-zone,.floor-zones{display:grid;grid-gap:1rem;gap:1rem}.floor-zone__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.floor-zone__count{margin:0;color:var(--muted);font-size:.95rem}.calendar-panel{display:grid;grid-gap:1rem;gap:1rem}.calendar-panel--week{gap:1.1rem}.calendar-panel__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.calendar-panel__actions{display:flex;flex-wrap:wrap;gap:.5rem}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.week-day{min-height:132px;padding:.9rem;border-radius:20px;border:1px solid rgba(11,79,63,.14);background:rgba(255,251,243,.82);text-decoration:none;display:grid;align-content:start;grid-gap:.42rem;gap:.42rem}.week-day--busy{border-color:rgba(11,79,63,.3);box-shadow:0 10px 20px rgba(11,79,63,.1)}.week-day--selected{background:linear-gradient(180deg,rgba(11,79,63,.18),rgba(255,251,243,.88));border-color:rgba(11,79,63,.38)}.week-day--holiday{border-color:rgba(185,144,60,.34)}.week-day__weekday{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.week-day__date{font-size:1.05rem;font-weight:700}.week-day__count{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.3rem .55rem;border-radius:999px;background:rgba(11,79,63,.12);color:var(--accent-strong);font-size:.78rem}.week-day__count--empty{background:transparent}.week-day__holiday{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.28rem .55rem;border-radius:999px;background:rgba(185,144,60,.16);color:var(--accent-warm-strong);font-size:.76rem}.calendar-notes{display:grid;grid-gap:.35rem;gap:.35rem;padding:.8rem 1rem;border-radius:18px;background:rgba(255,250,241,.84);border:1px solid rgba(185,144,60,.2)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.calendar-grid--weekday{gap:.35rem}.calendar-grid__weekday{padding:.35rem .25rem;text-align:center;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.calendar-cell{min-height:92px;padding:.75rem;border-radius:18px;border:1px solid rgba(11,79,63,.14);background:rgba(255,251,243,.82);text-decoration:none;display:grid;align-content:space-between;grid-gap:.4rem;gap:.4rem}.calendar-cell--busy{border-color:rgba(11,79,63,.3);box-shadow:0 10px 20px rgba(11,79,63,.1)}.calendar-cell--selected{background:linear-gradient(180deg,rgba(11,79,63,.18),rgba(255,251,243,.88));border-color:rgba(11,79,63,.38)}.calendar-cell--empty{min-height:92px}.calendar-cell__day{font-size:1.1rem;font-weight:700}.calendar-cell__count{padding:.3rem .55rem;background:rgba(11,79,63,.12);font-size:.78rem}.calendar-cell__count,.floor-card__status,.pill,.status-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;color:var(--accent-strong)}.floor-card__status,.pill,.status-badge{align-items:center;padding:.36rem .72rem;border:1px solid transparent;background:rgba(11,79,63,.1);font-size:.84rem;font-weight:600}.floor-card--available .floor-card__status,.floor-card__status--available,.pill--available,.status-badge--available{background:rgba(134,212,78,.2);border-color:rgba(69,149,55,.28);color:#1f5e17}.floor-card--reserved .floor-card__status,.floor-card__status--reserved,.pill--reserved,.status-badge--reserved{background:rgba(185,144,60,.18);border-color:rgba(185,144,60,.24);color:var(--accent-warm-strong)}.floor-card--arrived .floor-card__status,.floor-card__status--arrived,.pill--arrived,.status-badge--arrived{background:rgba(197,123,76,.16);border-color:rgba(197,123,76,.22);color:#9a5f33}.floor-card--dining .floor-card__status,.floor-card__status--dining,.pill--dining,.status-badge--dining{background:rgba(11,79,63,.16);border-color:rgba(11,79,63,.22);color:var(--accent-strong)}.floor-card--completed .floor-card__status,.floor-card__status--completed,.pill--completed,.status-badge--completed{background:rgba(78,112,98,.16);border-color:rgba(78,112,98,.2);color:var(--muted)}.floor-card--cleaning .floor-card__status,.floor-card__status--cleaning,.pill--cleaning,.status-badge--cleaning{background:rgba(130,146,137,.14);border-color:rgba(130,146,137,.2);color:var(--muted)}.floor-card--blocked .floor-card__status,.floor-card--neutral .floor-card__status,.floor-card__status--blocked,.floor-card__status--neutral,.pill--blocked,.pill--neutral,.status-badge--blocked,.status-badge--neutral{background:rgba(140,67,52,.14);border-color:rgba(140,67,52,.2);color:var(--bad)}.floor-legend{display:grid;grid-gap:.7rem;gap:.7rem;padding:.95rem 1rem;border-radius:22px;border:1px solid rgba(15,105,112,.12);background:rgba(255,255,255,.66)}.floor-legend__items{display:flex;flex-wrap:wrap;gap:.65rem}.floor-legend__chip{display:inline-flex;align-items:center;gap:.55rem;width:-moz-fit-content;width:fit-content;padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(15,105,112,.12);background:rgba(255,255,255,.78);color:var(--ink);font-size:.84rem}.floor-legend__dot{width:.72rem;height:.72rem;border-radius:50%;background:rgba(15,105,112,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.48)}.floor-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.inline-tool{display:grid;grid-gap:.75rem;gap:.75rem;width:100%;padding:.9rem;border-radius:18px;border:1px solid rgba(11,79,63,.14);background:rgba(255,251,244,.84)}.inline-tool__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.7rem;gap:.7rem}.inline-tool__grid--move{grid-template-columns:1fr}.inline-tool__actions{display:flex;flex-wrap:wrap;gap:.55rem}.split-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);grid-gap:1rem;gap:1rem}.detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.detail-layout,.split-layout__side{display:grid;grid-gap:1rem;gap:1rem}.split-layout__side{align-content:start}.reservation-board__header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.reservation-table-wrap{overflow-x:auto}.reservation-table{width:100%;border-collapse:collapse}.reservation-table td,.reservation-table th{padding:.95rem .75rem;border-top:1px solid var(--line);text-align:left;vertical-align:top}.reservation-table th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.reservation-table tbody tr:hover{background:rgba(11,79,63,.06)}.reservation-row{position:relative;transition:background-color .18s ease,box-shadow .18s ease}.reservation-row td:first-child{border-left:4px solid transparent}.reservation-row--reserved{background:rgba(185,144,60,.06)}.reservation-row--reserved td:first-child{border-left-color:rgba(185,144,60,.72)}.reservation-row--dining{background:rgba(11,79,63,.07)}.reservation-row--dining td:first-child{border-left-color:rgba(11,79,63,.76)}.reservation-row--arrived{background:rgba(197,123,76,.07)}.reservation-row--arrived td:first-child{border-left-color:rgba(197,123,76,.72)}.reservation-row--completed{background:rgba(78,112,98,.06)}.reservation-row--completed td:first-child{border-left-color:rgba(78,112,98,.7)}.reservation-row--blocked{background:rgba(140,67,52,.06)}.reservation-row--blocked td:first-child{border-left-color:rgba(140,67,52,.7)}.reservation-row:hover{box-shadow:inset 0 0 0 1px rgba(16,41,31,.05)}.reservation-status-cell{display:grid;grid-gap:.65rem;gap:.65rem;align-content:start}.pill{font-size:.82rem}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.row-actions__select{min-width:140px;width:auto;background:rgba(255,255,255,.88)}.row-actions .button{padding:.6rem .9rem}.row-actions__message{flex-basis:100%;margin:0;font-size:.84rem;color:var(--muted)}.pagination{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:1rem;gap:1rem;align-items:center}.pagination__label{margin:0;text-align:center;color:var(--muted)}.pagination__spacer{min-height:1px}.detail-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-grid>div{padding:1rem;border-radius:20px;background:rgba(255,251,243,.78);border:1px solid rgba(11,79,63,.1)}.detail-grid h3{margin:.2rem 0 0;font-size:1.8rem}.table-management{display:grid;grid-gap:1rem;gap:1rem}.table-management__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem;gap:1rem}.table-card__actions,.table-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.table-card__actions{margin-top:1rem;flex-wrap:wrap}.adjacency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.5rem}.adjacency-option{display:flex;gap:.5rem;align-items:center;padding:.65rem .8rem;border-radius:14px;border:1px solid rgba(11,79,63,.14);background:rgba(255,251,244,.82)}@media (max-width:860px){.hero__topline{flex-direction:column}.hero__topline--compact{align-items:stretch}.detail-layout,.pagination,.split-layout{grid-template-columns:1fr}.calendar-panel__header,.floor-view-switcher,.floor-zone__header{flex-direction:column;align-items:stretch}.calendar-grid,.week-strip{gap:.35rem}.availability-list__item{flex-direction:column}}@media (max-width:720px){.shell{width:min(100% - 1rem,1200px);padding-top:1rem}.floor-card,.hero,.overview-card,.panel,.table-card{border-radius:22px}.hero{padding:1.4rem}.hero--compact{padding:.95rem 1rem}.hero h1{max-width:none;font-size:clamp(2.3rem,12vw,4rem)}.hero--compact h1{font-size:1.45rem}.reservation-table td,.reservation-table th{padding:.8rem .55rem}.calendar-cell{min-height:76px;padding:.55rem}.week-strip{grid-template-columns:1fr}.week-day{min-height:auto}}