@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;background:#241621;color:#f2eaef;font-size:16px;-webkit-font-smoothing:antialiased}button{font-family:inherit}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-title{margin:0;font-size:1.5rem;font-weight:800;color:#f2eaef;letter-spacing:-.01em}.page-subtitle{margin:.25rem 0 0;font-size:.88rem;color:#c3a8b8}.card{background:#2b1b28;border:1px solid rgba(214,168,196,.16);border-radius:14px;padding:1.25rem 1.4rem;box-shadow:0 4px 18px #070c1a59}.empty-state{color:#97798a;font-size:.92rem;text-align:center;padding:1.5rem 0;margin:0}.error-state{color:#ff9b8a;font-size:.92rem;text-align:center;padding:1.5rem 0;margin:0}.btn{border:none;border-radius:9px;padding:.6rem 1.1rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:filter .15s,background .15s,color .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,#8a3a62,#c4451d);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(1.1)}.btn--outline{background:transparent;border:1.5px solid #8a3a62;color:#f6a07a}.btn--outline:hover:not(:disabled){background:#f6a07a1f}.btn--ghost{background:transparent;color:#c3a8b8;border:1px solid rgba(214,168,196,.16)}.btn--ghost:hover:not(:disabled){background:#d6a8c41a;color:#f2eaef}.btn--danger{background:transparent;border:1.5px solid #d9584a;color:#ff8a75}.btn--danger:hover:not(:disabled){background:#d9584a24}.btn--block{width:100%}.btn--sm{padding:.35rem .7rem;font-size:.8rem}.field{display:flex;flex-direction:column;gap:.35rem}.field>span{font-size:.8rem;font-weight:600;color:#c3a8b8}.field input,.field select,.field textarea{border:1px solid rgba(214,168,196,.28);background:#1a2440;color:#f2eaef;border-radius:8px;padding:.55rem .7rem;font-size:.92rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#8a3a62;box-shadow:0 0 0 3px #f6a07a33}.field input::placeholder,.field textarea::placeholder{color:#97798a}.field select option{background:#1a2440;color:#f2eaef}.field-hint{font-size:.74rem;color:#97798a;margin:.15rem 0 0}.check-field{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#f2eaef;cursor:pointer}.check-field input{accent-color:#8a3a62;width:1rem;height:1rem}input[type=date]{color-scheme:dark}.period-filter{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.period-filter label{display:flex;flex-direction:column;gap:.25rem}.period-filter label span{font-size:.75rem;font-weight:600;color:#c3a8b8}.period-filter input{border:1px solid rgba(214,168,196,.28);border-radius:8px;padding:.45rem .6rem;font-size:.9rem;background:#1a2440;color:#f2eaef}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.88rem}.tbl th{text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#97798a;padding:.55rem .75rem;border-bottom:1px solid rgba(214,168,196,.16);white-space:nowrap}.tbl td{padding:.65rem .75rem;border-bottom:1px solid rgba(214,168,196,.08);color:#f2eaef;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl--clickable tbody tr{cursor:pointer;transition:background .12s}.tbl--clickable tbody tr:hover{background:#d6a8c412}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.18rem .6rem;white-space:nowrap}.badge--ok{background:#3dbe7a29;color:#6fd9a0;border:1px solid rgba(61,190,122,.4)}.badge--warn{background:#f0a03c26;color:#f4b866;border:1px solid rgba(240,160,60,.4)}.badge--off{background:#d6a8c41f;color:#c3a8b8;border:1px solid rgba(214,168,196,.3)}.badge--accent{background:#f6a07a29;color:#f6a07a;border:1px solid rgba(246,160,122,.45)}.badge--danger{background:#d9584a29;color:#ff9b8a;border:1px solid rgba(217,88,74,.45)}.badge--info{background:#6c8cff26;color:#9cb2ff;border:1px solid rgba(108,140,255,.4)}.status-CONFIRMED{color:#9cb2ff}.status-CHECKED_IN{color:#f4b866}.status-COMPLETED{color:#6fd9a0}.status-CANCELLED{color:#ff9b8a}.kpi-section{margin-bottom:1.4rem}.kpi-section__title{margin:0 0 .7rem;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#c3a8b8}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:.9rem}.kpi-card{background:#2b1b28;border-radius:12px;padding:1rem 1.1rem;border:1px solid rgba(214,168,196,.16);box-shadow:0 4px 14px #070c1a4d;display:flex;flex-direction:column;gap:.3rem}.kpi-card--hero{grid-column:span 2;background:linear-gradient(135deg,#8a3a62,#b23a17);border:none}.kpi-card--hero .kpi-card__label{color:#ffffffd9}.kpi-card--hero .kpi-card__value{font-size:2.3rem;color:#fff}.kpi-card--hero .kpi-card__hint{color:#ffffffbf}.kpi-card__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#97798a}.kpi-card__value{font-size:1.55rem;font-weight:800;line-height:1.1;color:#f2eaef}.kpi-card__value--money{font-size:1.25rem}.kpi-card__value--text{font-size:1.05rem}.kpi-card__hint{font-size:.72rem;color:#97798a}.chart-card{margin-bottom:1.25rem}.chart-card__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.chart-card__head h2{margin:0;font-size:1.02rem;color:#f2eaef}.chart-legend{display:flex;gap:1rem;font-size:.8rem;color:#c3a8b8}.chart-legend__item{display:inline-flex;align-items:center;gap:.35rem}.chart-legend__swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.chart-scroll{overflow-x:auto}.chart-svg{width:100%;min-width:560px;height:auto;display:block}.chart-axis{font-size:9px;fill:#97798a}.modal-backdrop{position:fixed;inset:0;background:#070c1ab8;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:100;overflow-y:auto}.modal{background:#362232;border:1px solid rgba(214,168,196,.16);border-radius:14px;padding:1.5rem 1.6rem;width:100%;max-width:560px;box-shadow:0 24px 60px #04081299;animation:modal-in .18s ease}.modal--sm{max-width:440px}.modal h2{margin:0 0 1rem;font-size:1.15rem;color:#f2eaef}.modal-form{display:flex;flex-direction:column;gap:.85rem}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.modal-warning{background:#f0a03c1f;border:1px dashed rgba(240,160,60,.45);color:#f4b866;border-radius:10px;padding:.7rem .9rem;font-size:.82rem;line-height:1.4}.modal-text{color:#c3a8b8;font-size:.92rem;line-height:1.5;margin:0 0 1rem}@keyframes modal-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-input{border:1px solid rgba(214,168,196,.28);background:#1a2440;color:#f2eaef;border-radius:9px;padding:.55rem .85rem;font-size:.92rem;min-width:260px}.search-input:focus{outline:none;border-color:#8a3a62;box-shadow:0 0 0 3px #f6a07a33}.search-input::placeholder{color:#97798a}@media (max-width: 640px){.kpi-card--hero{grid-column:span 1}.modal-row{grid-template-columns:1fr}.search-input{min-width:0;width:100%}}
