:root{color-scheme:dark;--bg:#14100e;--panel:#211916;--line:#574334;--gold:#ebbf80;--text:#fbede0;--dim:#c6b5a8;--green:#95d9ae}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 20% 25%,#352219 0%,var(--bg) 62%) fixed;color:var(--text);font:16px/1.55 system-ui,sans-serif}a{color:var(--gold)}button,input,select{font:inherit}button{cursor:pointer}.top,footer{display:flex;align-items:center;gap:1rem;padding:1rem clamp(1rem,5vw,4.5rem);border-bottom:1px solid var(--line)}.top>a:last-child{margin-left:auto}.brand{font-family:Georgia,serif;letter-spacing:.18em;text-decoration:none}.badge,.overline{font-size:.74rem;letter-spacing:.18em;color:var(--gold);font-weight:700}.badge{padding:.25rem .55rem;border:1px solid var(--line);border-radius:99px}.shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.25fr);gap:clamp(1rem,4vw,4rem);padding:clamp(1rem,4vw,3.5rem)}.intro{align-self:start;position:sticky;top:3rem;padding:3rem 0}.mark{font:2.2rem Georgia,serif;display:grid;place-items:center;width:64px;height:64px;color:var(--gold);border:1px solid var(--gold);border-radius:50%}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:.5rem 0 1rem}h1{font-size:clamp(2.5rem,5.5vw,5.5rem);letter-spacing:-.04em}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:1.35rem}.intro p{max-width:330px;color:var(--dim)}.social{display:block;margin-top:1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:clamp(1rem,3vw,2rem);margin-bottom:1rem}.muted,small{color:var(--dim)}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:.65rem 1rem;min-height:44px;border:1px solid transparent;border-radius:.5rem;font-weight:650;line-height:1.2}.button{background:var(--gold);color:#26150b}.secondary{background:#362923;border-color:var(--line);color:var(--text)}:focus-visible{outline:3px solid #fff0ad;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:.75rem;align-items:end;margin:1rem 0}label{display:grid;gap:.3rem;font-size:.9rem}input,select{width:100%;min-width:0;padding:.58rem .65rem;border:1px solid var(--line);border-radius:.4rem;background:#17110f;color:var(--text)}.section-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem}.section-row p{margin:0}.floor-title{font-size:.68rem;text-align:center;letter-spacing:.24em;color:var(--gold);padding:.4rem;border-bottom:3px double var(--line)}.floor,.staff-floor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.75rem 0}.floor button,.staff-tile{display:grid;place-content:center;gap:.15rem;text-align:center;min-height:78px;padding:.4rem;border:1px solid var(--line);border-radius:.75rem;background:#2e241f;color:var(--text)}.floor button[data-state=free]{border-color:var(--green);background:#20372a}.floor button[data-state=busy]{background:#432925;border-color:#9a5e57}.floor button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.floor button[data-state=offline]{color:var(--dim);border-style:dashed}.floor button small,.staff-tile small{display:block;font-size:.75rem}.floor button:last-child{grid-column:span 3}.check{display:flex;gap:.6rem;align-items:flex-start;margin:.9rem 0}.check input{width:auto;margin-top:.32rem}.notice{margin:1rem 0;padding:1rem;border:1px solid var(--gold);border-radius:.5rem}.message:not(:empty){margin:1rem 0;padding:.8rem;background:#392c20;border-radius:.5rem}.login{width:min(95%,480px);margin:3rem auto}.login h1,.dashboard h1{font-size:clamp(2rem,4vw,3.4rem)}.login label{margin:.75rem 0}.dashboard{max-width:1050px;margin:auto;padding:clamp(1rem,4vw,3rem)}.dashboard input[type=date]{max-width:230px}.staff-tile[data-state=occupied]{border-color:#d18574}.staff-tile[data-state=held]{border-color:var(--gold)}.staff-tile[data-state=reserved]{border-color:var(--green)}.record{border-top:1px solid var(--line);padding:.75rem 0;display:flex;gap:.65rem;justify-content:space-between;flex-wrap:wrap}.record span{display:block}.record button{margin:.2rem}.sticky{position:sticky;bottom:.5rem}footer{border-top:1px solid var(--line);font-size:.85rem;color:var(--dim)}@media(max-width:780px){.shell{display:block}.intro{position:static;padding:1rem 0 2rem}.top{flex-wrap:wrap}.top>a:last-child{margin-left:0}.floor button,.staff-tile{min-height:72px}.floor button strong{font-size:.9rem}}

/* Cafe backdrop and independent Instagram reading pane */
.cafe-page::before{content:"";position:fixed;inset:-8px;z-index:-1;background:linear-gradient(100deg,#140b08dc,#170e0bb8),url("cafe-background.jpg") center/cover;filter:blur(3px);pointer-events:none}
.cafe-page{background:#1a120e;isolation:isolate}
.cafe-page .top{background:#160e0bdc}
.cafe-page .shell{min-height:calc(100svh - 70px);align-items:center;grid-template-columns:minmax(250px,1fr) minmax(0,1fr)}
.cafe-page .intro{position:static;align-self:center}
.cafe-logo{display:block;width:min(10.5rem,48%);height:auto;object-fit:contain;margin-bottom:1.4rem}
.instagram{width:min(100%,490px);max-height:calc(100svh - 135px);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--gold) #211916;padding:.8rem .9rem .8rem .1rem;justify-self:center;align-self:center}
.instagram h2{margin-bottom:.5rem}
.instagram-card{background:#201713ee;border:1px solid var(--line);border-radius:.8rem;padding:.8rem;margin-top:1rem}
.instagram-card p{overflow-wrap:anywhere}
.instagram-card summary{cursor:pointer;color:var(--gold);margin:.65rem 0}
.instagram-card>img,.ig-frame img,.ig-frame video{display:block;width:auto;max-width:100%;height:auto;max-height:66svh;object-fit:contain;margin:0 auto;border-radius:.5rem}
.instagram-card>a{display:inline-block;margin-top:.6rem}
.ig-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem}
.booking-section{width:min(100%,960px);margin:auto;padding:1rem clamp(1rem,4vw,3rem)}
#rezerwacja{scroll-margin-top:1rem}
.floor button[data-state=offline],.staff-tile[data-online=false]{background:#333337;border-color:#77777e;color:#f5f0ee}
.floor button[data-state=unknown],.floor button[data-state=free],.staff-tile[data-online=true]{background:#543522;border-color:#bb8659;color:#fff1e3}
.floor button[data-state=busy]{background:#3b2721;border-color:#b47c6b}
.floor button[aria-pressed=true],.staff-tile[aria-pressed=true],.week-strip button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--gold);border-color:var(--gold)}
.suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.suggestions strong{flex-basis:100%}
.calendar-controls{display:flex;gap:.45rem;align-items:end;flex-wrap:wrap}
.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-top:.8rem}
.week-strip button{padding:.4rem;font-size:.83rem}
#staff-edit{width:min(92%,650px);color:var(--text)}
#staff-edit::backdrop{background:#100904ce}
.stat-line{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;padding:.55rem 0;border-top:1px solid var(--line)}
@media(max-width:780px){
  .cafe-page .shell{min-height:auto}
  .instagram{width:100%;max-height:none;overflow:visible;padding:0 0 1rem}
  .ig-frame img,.ig-frame video{max-height:80svh}
  .week-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reservation overlay, compact date controls and discreet Instagram navigation. */
.instagram-layout{width:min(100%,490px);min-width:0;justify-self:center;position:relative}
.instagram-layout .instagram{width:100%;max-height:calc(100svh - 245px);min-height:min(22rem,52svh);padding:.35rem .15rem;scrollbar-width:none}
.instagram-layout .instagram::-webkit-scrollbar{display:none}
.instagram-scroll{display:flex;justify-content:end;gap:.4rem;margin-top:.4rem}
.instagram-scroll button,.close-dialog{min-width:42px;padding:.35rem}
.booking-dialog{width:min(95vw,960px);max-height:94dvh;overflow:auto;color:var(--text);padding:0 1.3rem 1.3rem}
.booking-dialog::backdrop,.picker-dialog::backdrop{background:#100904cb}
.booking-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:2;background:var(--panel);padding:.75rem 0;border-bottom:1px solid var(--line);margin-bottom:.8rem}
.booking-header h2{margin:0}
.close-dialog{font-size:1.45rem}
body:has(.booking-dialog[open]){overflow:hidden}
.picker-trigger{justify-content:flex-start}
.picker-dialog{width:min(92vw,325px);color:var(--text);padding:.85rem}
.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.picker-heading strong{color:var(--gold);text-align:center}
.picker-heading button{padding:.3rem .6rem;min-height:34px}
.picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.24rem;margin:.65rem 0;text-align:center}
.picker-grid small{color:var(--gold)}
.picker-grid button{padding:.15rem;min-height:34px}
.picker-grid button[aria-pressed=true]{color:#26150b;background:var(--gold)}
.picker-grid button:disabled{opacity:.35;cursor:default}
.picker-dialog form>.secondary{margin-left:.4rem}
.calendar-controls{display:grid;grid-template-columns:auto auto minmax(75px,115px) auto auto auto;justify-content:start;gap:.28rem}
.calendar-controls label{font-size:.71rem;gap:.15rem}
.calendar-controls .secondary,.calendar-controls input{font-size:.77rem;min-height:36px;padding:.35rem .48rem;white-space:nowrap}
.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-top:.55rem}
.week-strip button{min-height:36px;font-size:.74rem;padding:.25rem .12rem;line-height:1.1}
@media(max-width:780px){
  .instagram-layout{width:100%}
  .instagram-layout .instagram{max-height:none;min-height:0;overflow:visible}
  .instagram-scroll{display:none}
  .booking-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;padding:0 .8rem 1rem}
  .calendar-controls{grid-template-columns:auto auto minmax(68px,88px) auto auto auto;gap:.18rem}
  .calendar-controls .secondary,.calendar-controls input{font-size:.68rem;padding:.26rem .32rem;min-height:40px}
  .week-strip button{font-size:.66rem;min-height:40px}
}
