@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--bg:#f8f5f0;--ink:#292620;--gold:#b99458;--line:#e8e0d4;--muted:#8b8379}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;margin:0}h1{font-size:34px}h2{font-size:24px}p{color:var(--muted);line-height:1.55}small{letter-spacing:2px;font-size:10px;color:var(--gold);font-weight:700}a{text-decoration:none;color:inherit}.layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}aside{background:#211f1b;color:#f7f1e8;padding:25px 18px;display:flex;flex-direction:column;gap:7px}aside .brand{width:100%;height:105px;object-fit:contain;background:#f9f5ee;border-radius:8px;margin-bottom:17px}aside>small{margin:6px 12px 15px}aside>a{padding:13px 14px;border-radius:7px;color:#d6cdc0}aside>a:hover,aside>a.selected{background:#3b352d;color:#e6c992}.coming{margin:24px 12px 12px;color:#9e968c}.coming span{font-size:10px;letter-spacing:2px;color:#d6b879}.coming p{color:#a99f94;font-size:12px;margin:14px 0}main:not(.auth){padding:38px;min-width:0}header,.paneltop{display:flex;align-items:center;justify-content:space-between;gap:15px}header p{margin:6px 0 0}.user{background:white;padding:14px 17px;border:1px solid var(--line);border-radius:10px}.user small{display:block;letter-spacing:0;margin-top:3px}.dot{display:inline-block;background:#5e8a68;width:8px;height:8px;border-radius:50%;margin-right:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:28px 0}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 7px 24px #3e312008}.metrics article{padding:23px}.metrics strong{display:block;font:500 35px Georgia;margin:15px 0 7px}.metrics span{font-size:12px;color:var(--muted)}.panel{margin:22px 0;padding:25px}.paneltop{margin-bottom:24px}.paneltop p{margin:6px 0 0}.actions{display:flex;gap:7px;flex-wrap:wrap}button,.secondary{cursor:pointer;border:0;background:#28251f;color:#fff;padding:11px 15px;border-radius:6px;font:600 12px 'DM Sans',Arial}.secondary{background:#f8f5f0;border:1px solid var(--line);color:var(--ink)}button:hover,.secondary:hover{filter:brightness(.91)}.calendar-wrap,.scroll{overflow:auto}.calendar,.register{border-collapse:separate;border-spacing:3px;width:100%}.calendar th{min-width:81px;font-size:11px;color:#9a8c78}.calendar th:first-child{min-width:125px;text-align:left}.calendar thead th{padding:11px 0}.calendar th b,.calendar th span{display:block}.calendar tbody th{padding:8px;text-align:left;background:#faf8f4}.calendar tbody th span{font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.calendar td{height:37px;min-width:75px}.calendar td button{width:100%;height:35px;padding:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar .available{background:#f3f0ea;color:#c9bba7;border:1px dashed #e5ddd0}.calendar .occupied{background:#d5b77b;color:#29241e}.calendar .checked_in{background:#36594a;color:white}.calendar .hold{background:#c9b1a2}.blocked{display:block;text-align:center;color:#bbb}.legend{display:flex;gap:20px;margin-top:19px;color:#81796d;font-size:12px}.key{display:inline-block;width:12px;height:12px;border-radius:3px;background:#d5b77b;margin-right:5px}.key.checked_in{background:#36594a}.key.hold{background:#c9b1a2}.key.available{background:#f3f0ea;border:1px solid #d9cfc0}.register{border-spacing:0;text-align:left}.register th,.register td{padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.register th{font-size:10px;letter-spacing:1px;color:#9c8e7a}.pill{background:#f3eee6;padding:5px 9px;border-radius:12px;text-transform:capitalize}footer{color:#9c948a;text-align:center;padding:30px}.notice{padding:14px 17px;background:#f2e9d9;border-radius:8px;margin:20px 0}dialog{border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 80px #0004;max-width:min(620px,94vw);width:100%;padding:0}dialog::backdrop{background:#15120db5}.dialog-form{padding:30px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.x{background:#eee9e2;color:#333;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;color:#6e655b;font-weight:600;font-size:12px;margin:11px 0}input,select{display:block;width:100%;border:1px solid #ded6cb;border-radius:6px;padding:12px;margin-top:7px;background:white;font:inherit;color:#28241f}.hint{font-size:12px}.auth{max-width:470px;margin:5vh auto;background:white;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 15px 50px #2c201010}.auth img{display:block;width:100%;max-height:170px;object-fit:contain}.auth h1{font-size:28px;margin-top:20px}.auth button,.dialog-form>button,.dialog-form form button{width:100%;margin-top:14px}.error{background:#ffe8e6;color:#9c2626;padding:12px;border-radius:6px}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:190px minmax(0,1fr)}main:not(.auth){padding:18px}.paneltop{align-items:start;flex-direction:column}}@media(max-width:650px){.layout{display:block}aside{position:relative;display:block;padding:12px}aside .brand{width:170px;height:65px;margin:0}aside>a,.coming,aside>small{display:none}header{align-items:start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.metrics article{padding:15px}.panel{padding:13px}.form-grid{grid-template-columns:1fr}}
