:root{font-family:Arial,sans-serif;color:#202e32;background:#f5f7f7;font-size:14px;letter-spacing:0;--green:#19654e;--border:#dde4e3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ccd7d4;background:white;border-radius:6px;padding:10px 14px;color:#203d34;font-weight:600}button:hover{background:#edf4f1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #db9b30;outline-offset:2px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#114f3b}header{background:white;border-bottom:1px solid var(--border);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:bold}.mark{background:#1b5545;color:white;padding:10px;border-radius:6px;font-size:15px}.muted{font-weight:normal;color:#687773}.tools{display:flex;align-items:center;gap:8px}.tools span{font-size:12px;color:#60736b;margin-right:12px}main{max-width:1500px;margin:auto;padding:34px 30px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:bold;color:#6a7772;margin:0 0 10px}h1{font-size:28px;line-height:1.2;margin:0}p{color:#64736e;line-height:1.5}h2{font-size:18px;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0;margin-bottom:28px}.metrics>div{padding-left:24px;border-left:1px solid var(--border)}.metrics>div:first-child{padding-left:0;border:none}.metrics span{display:block;color:#65736e;font-size:12px;margin-bottom:9px}.metrics strong{font-size:27px;font-weight:600}nav{display:flex;gap:26px;border-bottom:1px solid var(--border);margin-bottom:26px}nav button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:12px 0;color:#66736e}nav .active{color:var(--green);border-bottom-color:var(--green)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px}.section-head p{margin:7px 0 0;font-size:12px}.table-wrap{overflow:auto;background:white;border:1px solid var(--border);border-radius:6px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums}th{background:#edf2f0;font-size:11px;color:#51645c;text-align:left;height:52px;padding:10px 13px}td{border-top:1px solid #e9edeb;padding:11px 13px;height:58px}tbody tr:hover{background:#f9fbfa}th:first-child,td:first-child{position:sticky;left:0;background:white;z-index:1;min-width:130px}th:first-child{background:#edf2f0}th small{display:block;font-weight:normal;margin-top:5px}td.num,th.num{text-align:right}.guest-name{border:0;background:transparent;padding:4px 0;font-weight:600;color:#244f42;text-align:left}.tag{font-size:11px;padding:5px 8px;border-radius:4px}.Solo{background:#f0e7f7;color:#763f87}.Duo{background:#fff0d3;color:#805500}.Quattro{background:#daf1f4;color:#226573}.stay{border:1px solid transparent;width:44px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:0;background:#e4f1e9;color:#216343;font-size:12px}.stay.off{background:#f7eded;color:#9a6060}.stay:hover{border-color:var(--green)}.total{font-weight:bold;background:#f2f7f4}.night-total td{font-size:12px;background:#f8faf9;height:42px}.night-total td:first-child{background:#f8faf9;font-weight:bold}.note{margin-top:24px;max-width:820px;font-size:12px}.note p{margin:6px 0}#warning{color:#98621f;margin-top:14px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:18px;align-items:end;margin:22px 0 32px;max-width:1050px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}input,select{padding:10px;border:1px solid #cbd7d2;border-radius:5px;background:white;color:#273d33;min-width:0;width:100%}#search{max-width:240px}.travel-text{white-space:normal;min-width:150px;max-width:300px;font-size:12px}footer{display:flex;justify-content:space-between;gap:18px;padding:28px 0;color:#829087;font-size:12px}a{color:#356a57}dialog{border:1px solid var(--border);border-radius:8px;width:540px;max-width:calc(100% - 24px);padding:26px;max-height:90vh;overflow:auto}dialog::backdrop{background:#162a2566}dialog form{display:flex;flex-direction:column;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:1px solid var(--border);border-radius:5px;padding:14px}legend{font-size:12px}#night-inputs{display:flex;flex-wrap:wrap;gap:15px}#night-inputs label{align-items:center;font-size:11px}#night-inputs input{width:18px;height:18px;accent-color:var(--green)}.dialog-actions{display:flex;justify-content:space-between}.danger{color:#ab3636}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203d32;color:white;padding:12px 20px;border-radius:6px;display:none;z-index:10}@media(max-width:800px){header{padding:14px 16px;align-items:start;flex-direction:column}.tools{flex-wrap:wrap}.tools span{width:100%}main{padding:24px 16px}.intro{align-items:start}h1{font-size:23px}.metrics{grid-template-columns:1fr 1fr;gap:22px}.metrics>div:nth-child(3){border:0;padding-left:0}.metrics strong{font-size:23px}.settings-grid{grid-template-columns:1fr}.intro button{flex-shrink:0}nav{gap:20px}.section-head{flex-wrap:wrap}footer{flex-wrap:wrap}.brand{font-size:17px}}@media print{header,.intro>button,nav,.section-head>button,footer,dialog,#toast{display:none!important}main{padding:0;max-width:none}.table-wrap{overflow:visible;border:0}table{font-size:10px}td,th{padding:6px;height:auto}.stay{border:0;background:none!important;width:auto}.metrics{padding:12px 0}.note{font-size:10px}th:first-child,td:first-child{position:static}button{color:black}.view[hidden]{display:none!important}@page{size:landscape;margin:12mm}}
@media screen {
  .stay.off { background: #e32636; color: #ffffff; }
  .stay.off:hover { background: #c91e2d; border-color: #a81724; }
}
.top-variables { max-width:none; margin:0 0 24px; padding:20px 0; border-top:1px solid var(--border); }
.top-variables input { font-size:22px; font-weight:600; height:52px; }
.top-variables button { height:52px; }
@media print { .top-variables button { display:none; } .top-variables { grid-template-columns:repeat(3,1fr); } .top-variables input { border:0; padding:0; font-size:16px; } }
@media screen {
  :root { background:#eef6fb; color:#233f4c; --green:#147550; --border:#cedfe5; }
  header { background:#155e68; border-bottom:3px solid #edba4c; color:#ffffff; }
  .mark { background:#f6cb63; color:#23464b; }
  .muted, .tools span { color:#d1f0f0; }
  .tools button { background:#ffffff; border-color:#ffffff; color:#175660; }
  .tools button:hover { background:#dff4f5; }
  h1 { color:#165663; }
  h2 { color:#225867; }
  .eyebrow { color:#25788a; }
  #dates { color:#4b6976; }
  .primary { background:#147550; border-color:#147550; box-shadow:0 2px 4px #14583d18; }
  .primary:hover { background:#0d6141; }
  .top-variables { border-top-color:#bcd9e4; }
  .top-variables label:nth-child(1) { color:#215f91; }
  .top-variables label:nth-child(1) input { background:#e4f1ff; border-color:#91bde4; color:#1c5583; }
  .top-variables label:nth-child(2) { color:#226b50; }
  .top-variables label:nth-child(2) input { background:#e1f4e8; border-color:#8fc6a8; color:#205e45; }
  .top-variables label:nth-child(3) { color:#805b18; }
  .top-variables label:nth-child(3) input { background:#fff2ce; border-color:#dfbd6d; color:#795316; }
  .top-variables input:focus { background:#ffffff; }
  .metrics { padding:0; gap:0; border:0; }
  .metrics > div { padding:20px 22px; border:0; border-top:3px solid #56ad80; background:#e0f2e8; }
  .metrics > div:first-child { padding:20px 22px; border-top:3px solid #56ad80; }
  .metrics > div:nth-child(2) { background:#e0effb; border-top-color:#519dd4; }
  .metrics > div:nth-child(3) { background:#f1e8fa; border-top-color:#af83ce; padding:20px 22px; }
  .metrics > div:nth-child(4) { background:#fff1d4; border-top-color:#dda83c; }
  .metrics span { color:#415b62; }
  .metrics > div:nth-child(1) strong { color:#206543; }
  .metrics > div:nth-child(2) strong { color:#235f92; }
  .metrics > div:nth-child(3) strong { color:#775195; }
  .metrics > div:nth-child(4) strong { color:#81591a; }
  nav { border-bottom-color:#bad5df; }
  nav button { color:#4c6774; }
  nav button:hover { background:#e2eff5; }
  nav .active { color:#086376; border-bottom-color:#13869a; }
  .table-wrap { border-color:#b9d2dc; box-shadow:0 3px 12px #234d6110; }
  th, th:first-child { background:#216477; color:#ffffff; }
  th small { color:#d8eff5; }
  td { border-top-color:#e0ebef; }
  tbody tr:nth-child(even), tbody tr:nth-child(even) td:first-child { background:#f0f7fb; }
  tbody tr:hover, tbody tr:hover td:first-child { background:#e4f1f7; }
  .guest-name { color:#205c79; }
  .guest-name:hover { background:#dceefa; }
  .Solo { background:#edd9fa; color:#713d90; }
  .Duo { background:#ffe3a0; color:#785000; }
  .Quattro { background:#bfeef2; color:#17616c; }
  .stay { background:#c8edda; color:#155e3f; }
  .stay:hover { background:#aee2c7; border-color:#32916a; }
  .stay.off { background:#e32636; color:#ffffff; }
  .stay.off:hover { background:#c91e2d; border-color:#a81724; }
  .total { background:#dcf0e5; color:#195c42; }
  .night-total td, .night-total td:first-child, tbody tr.night-total:nth-child(even) td:first-child { background:#e3edf4; color:#294f62; }
  .night-total td.total { background:#c5e6d4; color:#174d37; }
  .note { border-left:3px solid #e3b13c; padding-left:14px; }
  .note strong { color:#285c6d; }
  .note p { color:#526d79; }
  footer { color:#587482; }
  a { color:#156d87; }
  dialog { background:#f5fafc; border-top:5px solid #218295; }
  dialog input, dialog select { border-color:#b6cfd8; }
  #toast { background:#175e67; }
}
.top-variables { grid-template-columns:repeat(3,minmax(0,1fr)); }
.top-variables .date-variable { color:#326778; }
.top-variables input[type=date] { background:#e5f5f7; border-color:#95c7d1; color:#215c6b; font-size:18px; min-width:0; }
@media(max-width:800px) { .top-variables { grid-template-columns:1fr; } }
#room-limits-form { margin:0 0 28px; }
.room-limits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.room-limits label { padding:14px 16px; border-radius:6px; }
.room-limits input { font-size:22px; font-weight:600; height:48px; }
.room-limits span { font-size:12px; font-weight:normal; }
.room-limits .over-limit { outline:2px solid #d32135; }
.room-select { width:108px; padding:6px; font-size:12px; font-weight:600; border:1px solid #c8d8dd; }
#capacity-dialog { width:360px; border-top:5px solid #e32636; }
#capacity-title { color:#aa2030; }
#capacity-dialog form { align-items:flex-end; }
@media(max-width:600px) { .room-limits { grid-template-columns:1fr; } }
@media print { #room-limits-form button { display:none; } .room-limits { grid-template-columns:repeat(3,1fr); } }
#summary-form .metrics > div { min-width:0; }
#summary-form .metrics label { color:#415b62; min-height:30px; margin-bottom:8px; }
#summary-form .metrics input { width:100%; font-size:23px; font-weight:600; height:48px; background:#ffffffc9; }
#confirmed { color:#206543; }
#budget { color:#235f92; }
#summary-form .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
#summary-form .metrics > div:nth-child(3) { background:#fff1d3; border-color:#eba500; }
#chalet-name { overflow-wrap:anywhere; }
.intro > div { min-width:0; }
#edit-name { font-size:12px; padding:5px 9px; }
#capacity-dialog { border-top-color:#d69a13; }
#capacity-title { color:#805c0a; }
.room-limits .over-limit { outline-color:#d69a13; }
@media(max-width:600px) { #summary-form .metrics { grid-template-columns:1fr; } }
@media print { #edit-name { display:none; } }
#unallocated { color:#81591a; }
[hidden] { display:none!important; }
#access-gate { max-width:460px; margin:50px auto; padding:0 24px; }
#access-gate form { display:flex; flex-direction:column; gap:18px; }
#access-gate input { font-size:16px; }
#auth-message { min-height:42px; overflow-wrap:anywhere; }
#initialize-trip { display:flex; flex-direction:column; gap:18px; margin-top:24px; }
#sync-problem { padding:18px 30px; background:#fff0c8; color:#614900; border-bottom:2px solid #ca920b; }
#sync-problem p { color:inherit; margin-top:0; }
#sync-problem > div { display:flex; flex-wrap:wrap; gap:10px; }
#signed-in-as { overflow-wrap:anywhere; max-width:220px; }
button:disabled { cursor:wait; opacity:.6; }
[inert] { opacity:.75; }
#toast { max-width:calc(100% - 32px); overflow-wrap:anywhere; }
@media print { #access-gate, #sync-problem { display:none!important; } }
#summary-form .summary-status { font-size:11px; margin:9px 0; min-height:28px; line-height:1.4; overflow-wrap:anywhere; }
#summary-form [data-reset-summary] { font-size:11px; padding:7px 9px; }
#summary-form [data-reset-summary]:disabled { opacity:.5; cursor:default; }
@media(max-width:600px) { #summary-form .metrics > div { padding:14px 10px; } #summary-form .metrics input { font-size:18px; padding:8px; } }
@media print { #summary-form button { display:none; } #summary-form .metrics input { border:0; background:none; padding:0; } }
