@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap";:root{color-scheme:light;--bg: #fff3eb;--bg-2: #ffd7c2;--surface: rgba(255, 251, 247, .95);--surface-2: rgba(255, 245, 237, .94);--text: #61260f;--muted: #9a5d45;--line: rgba(183, 86, 29, .16);--brand: #f57c00;--brand-strong: #df6400;--electric: #18b84f;--electric-strong: #0f9b40;--danger: #b22222;--warning: #d99000;--white: #ffffff;--shadow: 0 24px 70px rgba(201, 101, 34, .16)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif;color:var(--text);background:linear-gradient(125deg,rgba(245,124,0,.18),transparent 28%),radial-gradient(circle at top right,rgba(24,184,79,.12),transparent 22%),linear-gradient(180deg,#fffaf5 0%,var(--bg) 54%,var(--bg-2) 100%)}button,input,textarea,select{font:inherit}button{cursor:pointer}.page{width:min(100% - 24px,1180px);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff5ede6;border-bottom:1px solid rgba(223,100,0,.12)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-row,.header-user,.form-actions,.legend,.calendar-toolbar{display:flex;align-items:center;gap:12px}.brand-logo{width:min(170px,46vw);display:block}.header-copy{display:grid;gap:2px}.header-copy strong{color:var(--brand-strong);font-size:1rem}.header-copy span,.lead,.empty-state span,.event-bar span{color:var(--muted)}.user-badge{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#f57c001f;color:var(--brand-strong);font-size:.82rem;font-weight:800}.login-stage{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel,.calendar-panel,.dashboard-card,.booking-panel{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}.login-panel{width:min(100%,460px);display:grid;gap:22px;padding:30px;border-radius:24px}.login-logo{width:210px;max-width:72vw}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,6vw,3.25rem);line-height:1;color:var(--text)}h2{color:var(--brand-strong);font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}h3{color:var(--brand-strong);font-size:1.2rem}.lead{margin-top:8px;line-height:1.6}.auth-form,.booking-form{display:grid;gap:16px}label{display:grid;gap:8px;color:var(--brand-strong);font-size:.92rem;font-weight:700}input,select{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(223,100,0,.16);background:#fffcf9eb;padding:0 14px;color:var(--text)}input:focus,select:focus{outline:none;border-color:#df640057;box-shadow:0 0 0 4px #f57c0014}.primary-button,.secondary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover,.day-cell:hover,.free-slot:hover{transform:translateY(-1px)}.primary-button{min-height:48px;padding:0 20px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:var(--white);border:0}.secondary-button{min-height:48px;padding:0 20px;border:1px solid rgba(223,100,0,.16);color:var(--brand-strong);background:#fff3e7d1}.ghost-button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(223,100,0,.16);background:#fff8f1e6;color:var(--brand-strong)}.icon-button{width:44px;height:44px;border:1px solid rgba(223,100,0,.16);color:var(--brand-strong);background:#fff8f1e6}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}button:disabled{cursor:not-allowed;opacity:.65;transform:none}.app-shell{padding:28px 0 44px}.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.room-selector{width:min(100%,460px)}.calendar-panel{padding:20px;border-radius:24px}.calendar-toolbar{justify-content:space-between;margin-bottom:14px}.legend{justify-content:flex-end;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:.9rem;font-weight:700}.legend-dot{width:12px;height:12px;border-radius:999px;display:inline-block}.legend-dot.free{background:var(--electric)}.legend-dot.partial{background:var(--warning)}.legend-dot.full{background:var(--danger)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.weekday{color:var(--muted);font-weight:800;text-align:center;font-size:.82rem}.day-cell{min-height:106px;border:1px solid rgba(223,100,0,.12);border-radius:18px;padding:12px;display:grid;align-content:space-between;justify-items:start;color:var(--text);text-align:left;box-shadow:0 10px 22px #c9652214;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.day-cell.empty{visibility:hidden}.day-cell span{font-weight:800;font-size:1.05rem}.day-cell strong{min-width:32px;min-height:28px;display:inline-grid;place-items:center;border-radius:999px;background:#ffffffc2;color:var(--text)}.day-cell.free{background:linear-gradient(160deg,#18b84f33,#ffffffd1)}.day-cell.partial{background:linear-gradient(160deg,#d9900047,#ffffffd1)}.day-cell.full{background:linear-gradient(160deg,#b2222233,#fff4f4e6)}.loading-cell{min-height:106px;border-style:dashed;background:linear-gradient(160deg,#df640014,#ffffffc2);box-shadow:none;cursor:default}.modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#61260f57;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px}.day-modal{width:min(100%,1240px);height:calc(100vh - 36px);margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(223,100,0,.16);border-radius:24px;background:#fffaf6fa;box-shadow:var(--shadow);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.modal-title{color:var(--electric-strong);font-weight:800}.day-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:18px;padding:18px}.timeline{min-height:0;overflow:auto;display:grid;grid-template-columns:76px minmax(0,1fr);grid-auto-rows:54px;gap:8px 12px;align-items:stretch;padding-right:4px}.time-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:stretch;min-height:54px}.time-label{display:grid;place-items:center;border-radius:14px;background:#f57c001a;color:var(--brand-strong);font-weight:800}.event-bar,.free-slot{border-radius:14px;border:1px solid rgba(223,100,0,.12);padding:10px 14px;display:grid;align-content:center;text-align:left;min-width:0;width:100%}.event-bar{background:#ffebebe6;color:var(--text);gap:3px}.event-bar strong{color:var(--danger);overflow-wrap:anywhere}.event-bar small{color:var(--muted);font-weight:700}.event-tile{position:relative;z-index:1;align-content:start;min-height:54px;overflow:hidden;box-shadow:0 12px 24px #b222221a}.event-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mini-button{min-height:30px;border:1px solid rgba(223,100,0,.16);border-radius:10px;padding:0 10px;background:#ffffffdb;color:var(--brand-strong);font-weight:800;font-size:.78rem}.danger-mini{border-color:#b2222233;color:var(--danger)}.free-slot{background:#f5fff8e6;color:var(--electric-strong);font-weight:800}.booking-panel{min-height:0;overflow:auto;border-radius:20px;padding:18px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.empty-state{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px}.empty-state strong{color:var(--brand-strong);font-size:1.1rem}.form-error,.notice{margin:10px 0;padding:12px 14px;border-radius:14px;font-weight:700}.form-error{border:1px solid rgba(178,34,34,.18);color:var(--danger);background:#fff5f5e6}.notice{border:1px solid rgba(217,144,0,.18);color:#805a00;background:#fff9e8eb}@media (max-width: 820px){.header-inner,.workspace-head,.modal-header{align-items:stretch;flex-direction:column}.header-user{justify-content:space-between}.day-layout{grid-template-columns:1fr}.calendar-grid{gap:6px}.day-cell{min-height:76px;padding:9px;border-radius:14px}.form-row{grid-template-columns:1fr}.modal-shell{padding:0}.day-modal{height:100vh;border-radius:0}}
