/* EzeyOtel — KoçPlan tasarımının üstüne marka renkleri ve otel ekranları */
:root{--kp-orange:#F7700F;--kp-red:#D7262F;--kp-maroon:#8C1140;--kp-grad:linear-gradient(90deg,#F7700F 0%,#E0382A 50%,#A3134A 100%);}
body.kp-panel{--kp-side:#4A0D29;--kp-accent:#F7901F;}
.auth-logo{width:240px;max-width:80%;height:auto;display:block;}
.auth-logo-sm{width:220px;max-width:80%;height:auto;display:block;}
.kp-top-new{padding:.55rem 1rem;font-size:.9rem;white-space:nowrap;}

/* Durum rozetleri */
.ot-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:.18rem .6rem;font-size:.74rem;font-weight:800;white-space:nowrap;}
.ot-money{font-variant-numeric:tabular-nums;white-space:nowrap;}
.ot-pos{color:#B42318;font-weight:800;}
.ot-neg{color:#067647;font-weight:800;}
.ot-muted{color:#98A2B3;}
.ot-kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:.92rem;}
.ot-kv dt{color:#667085;font-weight:700;}
.ot-kv dd{margin:0;}
.ot-list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #F2F4F7;}
.ot-list-item:last-child{border-bottom:0;}
.ot-list-item a{color:inherit;text-decoration:none;}
.ot-room-chip{display:inline-grid;place-items:center;min-width:44px;height:34px;padding:0 8px;border-radius:10px;background:#FFF3EA;color:#B54708;font-weight:800;font-size:.9rem;}

/* Oda takvimi */
.ot-cal{overflow-x:auto;border:1px solid #EAECF0;border-radius:14px;background:#fff;}
.ot-cal-grid{display:grid;min-width:max-content;}
.ot-cal-row{display:contents;}
.ot-cal-room,.ot-cal-head,.ot-cal-cell{border-bottom:1px solid #F2F4F7;border-right:1px solid #F2F4F7;}
.ot-cal-room{position:sticky;left:0;z-index:3;background:#fff;padding:8px 12px;font-weight:800;font-size:.85rem;display:flex;flex-direction:column;justify-content:center;min-height:52px;box-shadow:2px 0 0 #EAECF0;}
.ot-cal-room small{font-weight:600;color:#98A2B3;font-size:.72rem;}
.ot-cal-head{position:sticky;top:0;z-index:2;background:#FCFCFD;text-align:center;padding:6px 2px;font-size:.72rem;font-weight:700;color:#667085;line-height:1.25;}
.ot-cal-head b{display:block;font-size:.95rem;color:#1E2430;}
.ot-cal-head.is-weekend{background:#FFF8F2;}
.ot-cal-head.is-today{background:#FDEAD7;color:#B54708;}
.ot-cal-head.is-today b{color:#B54708;}
.ot-cal-head .ot-occ{display:block;font-size:.66rem;color:#98A2B3;font-weight:700;}
.ot-cal-corner{position:sticky;left:0;top:0;z-index:4;background:#FCFCFD;font-size:.72rem;font-weight:800;color:#667085;padding:8px 12px;border-bottom:1px solid #EAECF0;box-shadow:2px 0 0 #EAECF0;display:flex;align-items:end;}
.ot-cal-cell{min-height:52px;position:relative;}
.ot-cal-cell.is-weekend{background:#FFFCF8;}
.ot-cal-cell.is-today{background:#FFF6EE;}
.ot-cal-cell a.ot-cal-add{position:absolute;inset:0;display:grid;place-items:center;color:transparent;text-decoration:none;font-size:1rem;}
.ot-cal-cell a.ot-cal-add:hover{color:#F7700F;background:rgba(247,112,15,.06);}
.ot-cal-bar{z-index:1;margin:7px 3px;border-radius:9px;padding:5px 8px;font-size:.74rem;font-weight:800;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;display:block;border-left:4px solid currentColor;align-self:center;}
.ot-cal-bar small{display:block;font-weight:600;opacity:.8;overflow:hidden;text-overflow:ellipsis;}
.ot-cal-bar.cut-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;}
.ot-cal-bar.cut-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;}
.ot-cal-bar:hover{filter:brightness(.96);}
.ot-legend{display:flex;flex-wrap:wrap;gap:8px;}

/* Rapor çubukları */
.ot-bars{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:6px;}
.ot-bars span{flex:1;background:linear-gradient(180deg,#F7700F,#C8103F);border-radius:4px 4px 0 0;min-height:2px;position:relative;}
.ot-bars span:hover::after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1E2430;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:6px;white-space:nowrap;margin-bottom:4px;}
.ot-hbar{height:8px;border-radius:999px;background:#F2F4F7;overflow:hidden;min-width:80px;}
.ot-hbar i{display:block;height:100%;background:linear-gradient(90deg,#F7700F,#C8103F);border-radius:999px;}

/* Takvim: saatlik ızgara (bir gün = 48 × 30 dk) */
.ot-cal-cell{border-right-color:#EAECF0;}
.ot-cal-hour{background:#FCFCFD;text-align:center;font-size:.66rem;font-weight:700;color:#98A2B3;padding:2px 0;border-bottom:1px solid #EAECF0;border-right:1px solid #F2F4F7;}
.ot-cal-hour.is-day-start,.ot-cal-cell.is-day-start{border-left:1px solid #D0D5DD;}
.ot-cal-cell.is-hour{border-right:1px dashed #F2F4F7;}
.ot-cal-bar.is-short{padding:5px 0;border-left-width:3px;margin-left:1px;margin-right:1px;}
.ot-cal-bar.is-hourly{border-left-style:dotted;}
.ot-cal-now{z-index:2;width:2px;background:#F7700F;justify-self:start;pointer-events:none;opacity:.85;}

/* Takvim filtreleri */
.ot-status-toggle{background:#fff;border:1px solid #EAECF0;color:#667085;font-weight:700;border-radius:999px;padding:.2rem .7rem;}
.btn-check:checked + .ot-status-toggle{background:var(--st-bg);color:var(--st-fg);border-color:var(--st-fg);}
.kp-btn-view.is-active{border-color:#F7700F;color:#B54708;}
.ot-cal-bar.is-cancelled{opacity:.55;text-decoration:line-through;}
