:root{--app-bg: #f4f6fb;--app-card: #ffffff;--app-text: #172033;--app-muted: #66728a;--app-accent: #2f6bff;--app-accent-text: #ffffff;--app-border: #dce3f0;color:var(--app-text);background:var(--app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit}.app-shell{display:flex;min-height:100vh;flex-direction:column;background:radial-gradient(circle at top right,rgb(47 107 255 / 10%),transparent 34%),var(--app-bg)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px}.app-header h1{margin:0;font-size:24px}.eyebrow{margin:0 0 6px;color:var(--app-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-pill{border:1px solid var(--app-border);border-radius:999px;background:var(--app-card);color:var(--app-muted);font-size:13px;padding:8px 11px}.app-content{flex:1;padding:8px 14px 96px}.app-error-banner{margin:0 14px 8px;border:1px solid #f6b8b0;border-radius:16px;background:#fff0ee;color:#a02c23;font-size:13px;font-weight:700;padding:12px 14px}.screen-card{border:1px solid var(--app-border);border-radius:24px;background:var(--app-card);padding:22px;box-shadow:0 18px 50px #17203314}.screen-card h2{margin:0 0 10px;font-size:24px}.muted{color:var(--app-muted);line-height:1.55;margin:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{border-radius:999px;background:color-mix(in srgb,var(--app-accent) 12%,transparent);color:var(--app-accent);font-size:13px;font-weight:700;padding:8px 10px}.home-screen{display:grid;gap:10px}.apartment-screen{display:grid;gap:10px;padding-bottom:18px}.bookings-screen{display:grid;gap:10px}.apartment-hero{display:grid;gap:12px}.apartment-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.apartment-grid{align-items:start}.chip-status-free{background:#eef2f6;color:#172033}.chip-status-occupied{background:#bfe8c5;color:#172033}.chip-status-arrival{background:#b8d7ff;color:#172033}.chip-status-departure{background:#d5c5ff;color:#172033}.chip-status-blocked{background:#c6d8ff;color:#172033}.chip-status-problem{background:#ffb3ae;color:#172033}.week-summary{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--app-border);border-radius:20px;background:var(--app-card);padding:14px}.week-summary h2{margin:0;font-size:22px}.week-badge{border-radius:999px;background:color-mix(in srgb,var(--app-accent) 12%,transparent);color:var(--app-accent);font-size:12px;font-weight:800;padding:8px 10px;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.kpi-card{display:grid;gap:4px;min-width:0;border:1px solid var(--app-border);border-radius:16px;background:var(--app-card);padding:10px 8px}.kpi-card span{overflow:hidden;color:var(--app-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.kpi-card strong{font-size:15px;line-height:1.1}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.quick-actions button{min-height:44px;border:0;border-radius:14px;background:var(--app-accent);color:var(--app-accent-text);cursor:pointer;font-size:12px;font-weight:800;line-height:1.15;padding:8px}.task-grid{display:grid;gap:10px}.task-panel{border:1px solid var(--app-border);border-radius:20px;background:var(--app-card);padding:12px}.today-screen{display:grid;gap:10px;padding-bottom:18px}.today-header-card{align-items:center}.today-kpi-row,.day-money-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.cash-fact-card{display:grid;gap:10px}.today-grid{align-items:start}.today-section{min-width:0}.work-card{align-items:flex-start}.work-card.needs-attention{border:1px solid #f7cc88;background:#fff7e8}.work-card.problem-card{border:1px solid #ffb3ae;background:#fff0ee}.work-card-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px;justify-content:flex-end}.work-card-actions button{padding:7px 8px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-title-row h3{margin:0;font-size:16px}.panel-title-row span{display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:#eef3ff;color:var(--app-accent);font-size:12px;font-weight:800}.task-list{display:grid;gap:8px}.task-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border-radius:14px;background:#f7f9fd;padding:10px}.apartment-tag{border-radius:999px;background:#172033;color:#fff;font-size:12px;font-weight:800;padding:6px 8px}.task-item strong{display:block;margin-bottom:3px;font-size:14px}.task-item p{margin:0;color:var(--app-muted);font-size:13px}.inline-action{margin-top:7px;border:0;border-radius:10px;background:var(--app-accent);color:var(--app-accent-text);cursor:pointer;font-size:12px;font-weight:800;padding:7px 9px}.screen-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.screen-title-row h2{margin-bottom:0}.screen-title-row button,.compact-list button,.money-actions button{border:0;border-radius:12px;background:var(--app-accent);color:var(--app-accent-text);cursor:pointer;font-size:12px;font-weight:800;padding:9px 10px}.compact-list{display:grid;gap:8px;margin-top:14px}.compact-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:14px;background:#f7f9fd;padding:10px}.compact-list article>div{min-width:0}.compact-list strong{display:block;font-size:14px}.compact-list p{margin:4px 0 0;color:var(--app-muted);font-size:12px}.clients-screen{display:grid;gap:10px}.clients-hero{display:grid;gap:8px}.clients-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clients-toolbar{display:grid;gap:10px}.clients-toolbar-block{display:grid;gap:8px}.clients-search{display:grid;gap:6px}.clients-search input{min-height:44px;border:1px solid var(--app-border);border-radius:14px;background:#fff;color:var(--app-text);font:inherit;padding:10px 12px;box-shadow:inset 0 1px #ffffffa6}.clients-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.clients-toggle-grid-sort{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-toggle-grid button{border:1px solid var(--app-border);border-radius:14px;background:#fff;color:var(--app-text);cursor:pointer;font-size:12px;font-weight:800;line-height:1.2;min-height:42px;padding:9px 10px}.clients-toggle-grid .clients-toggle-active{border-color:var(--app-accent);background:#fff;color:var(--app-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-accent) 10%,transparent)}.clients-list>button{width:100%;text-align:left}.compact-list .client-row{display:grid;gap:6px;border:1px solid var(--app-border);border-radius:14px;background:#fff;color:var(--app-text);padding:12px;cursor:pointer;box-shadow:0 8px 18px #1720330a}.compact-list .client-row:hover{border-color:#cfd8e8;background:#fff}.client-row-disabled{cursor:default}.client-row-main{display:grid;gap:8px}.client-row-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}.client-name{margin-bottom:4px;font-size:16px;line-height:1.2;color:var(--app-text)}.client-phone{display:block;color:var(--app-muted);font-size:12px;font-weight:700}.client-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.clients-summary-grid .detail-grid-value{border:1px solid #e7ecf4;background:#fff}.client-meta-card{border:1px solid #e7ecf4;border-radius:10px;background:#f8fafc;padding:8px}.client-meta-card span{display:block;color:var(--app-muted);font-size:11px;margin-bottom:4px}.client-meta-card strong{font-size:13px;line-height:1.25;color:var(--app-text)}.client-meta{display:flex;flex-wrap:wrap;gap:8px 10px}.client-meta span,.client-note{color:var(--app-muted);font-size:12px;margin:0}.client-meta{color:var(--app-muted)}.client-debt-badge{border-radius:999px;background:#fff0ee;color:#a02c23;font-size:11px;font-weight:800;padding:6px 8px}.client-amount-badge{border-radius:999px;background:#f3f6fb;color:#4d596e;font-size:11px;font-weight:800;padding:6px 8px}.client-badges{display:flex;flex-wrap:wrap;gap:6px}.client-badge{border-radius:999px;border:1px solid transparent;background:#fff;font-size:10px;font-weight:800;letter-spacing:.01em;padding:4px 7px}.client-badge-active{border-color:#bfdcc9;color:#176b34}.client-badge-future{border-color:#d3def5;color:var(--app-accent)}.client-detail-screen{display:grid;gap:10px}.client-detail-hero{display:grid;gap:12px}.client-detail-top{align-items:flex-start}.client-back-button{min-height:40px;border:1px solid var(--app-border);border-radius:12px;background:#fff;color:var(--app-text);cursor:pointer;font-size:12px;font-weight:800;padding:8px 10px}.client-profile-block{display:grid;gap:10px}.client-profile-block>div{border:1px solid #e7ecf4;border-radius:12px;background:#fff;padding:10px 12px}.client-profile-block span{display:block;color:var(--app-muted);font-size:11px;font-weight:800;margin-bottom:4px}.client-profile-block strong,.client-profile-block p{color:var(--app-text);font-size:14px;line-height:1.35;margin:0}.client-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-metric{border:1px solid #e7ecf4;background:#fff}.client-metric-danger{color:#a02c23}.client-detail-section{display:grid;gap:10px}.client-bookings-list{margin-top:4px}.client-bookings-list .client-booking-card{display:grid;gap:8px;border:1px solid #e7ecf4;border-radius:14px;background:#fff;box-shadow:0 8px 18px #1720330a;padding:12px}.client-booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.client-booking-top strong{color:var(--app-text);font-size:15px}.client-booking-top p{margin:3px 0 0;color:var(--app-muted);font-size:12px}.client-booking-meta{display:flex;flex-wrap:wrap;gap:6px 8px}.client-booking-meta span{border:1px solid #e7ecf4;border-radius:999px;background:#fff;color:var(--app-muted);font-size:11px;font-weight:700;padding:5px 8px}.client-booking-status{border-radius:999px;border:1px solid #dbe1ea;background:#f8fafc;color:#4d596e}.client-booking-open-button{border:1px solid #dbe1ea!important;background:#fff!important;color:#4d596e!important}.client-status-confirmed{border-color:#d3def5;color:var(--app-accent)}.client-status-checked_in{border-color:#bfdcc9;color:#176b34}.client-status-completed{border-color:#dbe1ea;color:#36506f}.client-status-cancelled{border-color:#ffd2cd;background:#fff0ee;color:#a02c23}.client-pill-grid{display:flex;flex-wrap:wrap;gap:8px}.client-pill{border:1px solid #dbe1ea;border-radius:999px;background:#fff;color:var(--app-text);font-size:11px;font-weight:800;padding:6px 10px}.client-crm-empty{border:1px dashed #dbe1ea;border-radius:14px;background:#f8fafc;color:var(--app-text);padding:14px}.client-crm-empty strong{display:block;margin-bottom:4px;font-size:14px}.client-crm-empty p{margin:0;color:var(--app-muted);font-size:12px}.client-tasks-section{gap:12px}.client-task-summary{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.client-task-summary span{border:1px solid #dbe1ea;border-radius:999px;background:#fff;color:var(--app-muted);font-size:11px;font-weight:800;padding:5px 8px}.client-task-form{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px;align-items:end;border:1px solid #e7ecf4;border-radius:14px;background:#f8fafc;padding:10px}.client-task-form label{display:grid;gap:5px}.client-task-form span{color:var(--app-muted);font-size:11px;font-weight:800}.client-task-form input{min-height:40px;width:100%;box-sizing:border-box;border:1px solid #dbe1ea;border-radius:12px;background:#fff;color:var(--app-text);font-size:13px;outline:none;padding:9px 10px}.client-task-form input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px #2563eb1a}.client-task-form button,.client-task-actions button,.client-show-completed-button{min-height:40px;border:0;border-radius:12px;background:var(--app-accent);color:#fff;cursor:pointer;font-size:12px;font-weight:900;padding:9px 12px}.client-task-form button:disabled,.client-task-actions button:disabled{cursor:default;opacity:.55}.client-task-list{display:grid;gap:8px}.client-task-card,.client-task-empty{display:grid;gap:10px;border:1px solid #dbe8d9;border-radius:14px;background:#fff;box-shadow:0 8px 18px #1720330d;padding:12px}.client-task-card{border-left:4px solid #2f8f4e}.client-task-card-completed{border-color:#e3e7ef;border-left-color:#c7cfdd;background:#f8fafc;box-shadow:none;opacity:.78}.client-task-main{display:grid;gap:4px}.client-task-title-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.client-task-title-row strong,.client-task-empty strong{color:var(--app-text);font-size:14px}.client-task-main p,.client-task-empty p{margin:4px 0 0;color:var(--app-muted);font-size:12px;line-height:1.35}.client-task-done-badge{border:1px solid #dbe1ea;border-radius:999px;background:#fff;color:#566176;font-size:10px;font-weight:900;padding:4px 7px}.client-task-actions{display:flex;flex-wrap:wrap;gap:6px}.client-task-actions .client-task-delete{border:1px solid #ffd2cd;background:#fff0ee;color:#a02c23}.client-show-completed-button{justify-self:start;border:1px solid #dbe1ea;background:#fff;color:var(--app-text)}.money-actions{display:flex;gap:6px;margin-top:14px;overflow-x:auto;padding-bottom:2px}.money-actions button{flex:0 0 auto}.form-backdrop{z-index:30}.form-sheet{max-height:90vh}.form-stack{display:grid;gap:10px;margin-top:14px}.form-section{display:grid;gap:10px;border:1px solid var(--app-border);border-radius:14px;background:#f7f9fd;padding:10px}.form-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.form-section-title strong{font-size:14px}.form-section-title span{border:0;border-radius:10px;background:#e8eefb;color:var(--app-accent);font-size:12px;font-weight:800;padding:7px 9px}.form-section-body{display:grid;gap:10px}.form-warning{margin:0;border:1px solid #f7cc88;border-radius:12px;background:#fff7e8;color:#8a5200;font-size:13px;font-weight:700;line-height:1.35;padding:9px 10px}.form-toggle{display:flex;align-items:center;gap:8px;color:var(--app-text);font-size:13px;font-weight:800}.form-toggle input{width:18px;height:18px;accent-color:var(--app-accent)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-field{display:grid;gap:5px}.form-field span{color:var(--app-muted);font-size:12px;font-weight:800}.form-field input,.form-field select{width:100%;min-height:42px;border:1px solid var(--app-border);border-radius:12px;background:#fff;color:var(--app-text);font:inherit;padding:9px 10px}.form-error{margin:12px 0 0;border-radius:12px;background:#ffe1de;color:#a02c23;font-size:13px;font-weight:700;padding:10px}.form-submit{width:100%;min-height:46px;margin-top:14px;border:0;border-radius:14px;background:var(--app-accent);color:var(--app-accent-text);cursor:pointer;font-weight:900}.form-submit-danger{border:1px solid #ffd0ca;background:#ffebe8;color:#a02c23}.week-screen,.day-screen,.reports-screen{display:grid;gap:10px}.day-header-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;border:1px solid var(--app-border);border-radius:20px;background:var(--app-card);padding:14px}.day-header-card h2{margin:0;font-size:24px}.fact-card{display:grid;align-content:center;border-radius:16px;background:#172033;color:#fff;padding:10px 12px}.fact-card span{color:#ffffffb3;font-size:11px;font-weight:800}.fact-card strong{font-size:18px}.day-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compact-list-tight{margin-top:0}.empty-state{justify-content:flex-start!important}.report-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;background:#eef3ff;color:var(--app-accent);font-size:12px;font-weight:800;padding:8px 10px}.reports-card h2{margin-bottom:14px}.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-grid-value{border-radius:14px;background:#f7f9fd;padding:12px}.detail-grid-value span{display:block;color:var(--app-muted);font-size:12px;margin-bottom:4px}.detail-grid-value strong{font-size:16px}.week-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid var(--app-border);border-radius:18px;background:var(--app-card);padding:10px}.week-toolbar button,.period-controls button,.metric-switch button,.sheet-title-row button{border:1px solid var(--app-border);border-radius:12px;background:#fff;color:var(--app-text);cursor:pointer;font-size:12px;font-weight:800;padding:9px 10px}.period-controls{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.period-controls input{flex:1 0 150px;min-width:0;border:1px solid var(--app-border);border-radius:12px;background:#fff;color:var(--app-text);font-size:13px;font-weight:800;padding:9px 10px}.week-toolbar strong{display:block;font-size:18px}.metric-switch{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.metric-switch button{flex:0 0 auto;white-space:nowrap}.metric-switch .metric-active{border-color:var(--app-accent);background:var(--app-accent);color:var(--app-accent-text)}.week-total-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;border-radius:16px;background:#172033;color:#fff;padding:12px}.week-total-row span{color:#ffffffb3;font-size:12px;font-weight:800}.week-total-row strong{font-size:20px}.week-total-row small{grid-column:1 / -1;color:#ffffffb8;font-size:12px}.legend-row{display:flex;gap:8px;overflow-x:auto}.legend-row span{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;color:var(--app-muted);font-size:12px;font-weight:700}.legend-dot{width:11px;height:11px;border-radius:999px}.week-matrix{display:grid;grid-template-columns:48px repeat(7,minmax(38px,1fr));gap:5px;overflow-x:auto;border:1px solid var(--app-border);border-radius:20px;background:var(--app-card);padding:8px}.matrix-head{display:grid;min-height:38px;place-items:center;border-radius:12px;background:#f2f5fb;color:var(--app-muted);font-size:11px}.matrix-head strong{color:var(--app-text);font-size:12px}.matrix-head-today{border:1px solid color-mix(in srgb,var(--app-accent) 24%,transparent);background:color-mix(in srgb,var(--app-accent) 12%,#f2f5fb)}.matrix-apartment-head{position:sticky;left:0;z-index:2}.matrix-apartment{position:sticky;left:0;z-index:1;border:0;border-radius:12px;background:#172033;color:#fff;cursor:pointer;font-weight:900}.matrix-cell{display:grid;min-height:42px;place-items:center;border:0;border-radius:12px;color:#172033;cursor:pointer;padding:4px}.matrix-cell span{min-height:12px;font-size:10px;font-weight:900}.matrix-cell strong{font-size:12px;line-height:1}.status-free{background:#eef2f6}.status-occupied{background:#bfe8c5}.status-arrival{background:#b8d7ff}.status-departure{background:#d5c5ff}.status-cleaning{background:#ffe29a}.status-blocked{background:#c6d8ff}.status-problem{background:#ffb3ae}.block-detail{margin-top:10px;border-radius:14px;background:#eef4ff;padding:10px}.danger-inline{border-color:#ffd0ca;background:#ffebe8;color:#a02c23}.detail-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#17203359}.detail-sheet{width:100%;max-height:76vh;overflow-y:auto;border-radius:26px 26px 0 0;background:var(--app-card);padding:10px 16px 24px;box-shadow:0 -18px 50px #17203333}.sheet-handle{width:44px;height:4px;margin:0 auto 12px;border-radius:999px;background:#c9d2e3}.sheet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sheet-title-row h2{margin:0;font-size:22px}.detail-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.detail-status{border-radius:999px;font-size:13px;font-weight:900;padding:8px 10px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-grid div,.detail-note{border-radius:14px;background:#f7f9fd;padding:12px}.detail-grid span{display:block;color:var(--app-muted);font-size:12px;margin-bottom:4px}.detail-grid strong{font-size:16px}.detail-note{margin-top:10px}.detail-note p{margin:4px 0 0;color:var(--app-muted);line-height:1.45}.bottom-nav{position:fixed;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border:1px solid var(--app-border);border-radius:22px;background:#ffffffeb;box-shadow:0 14px 40px #17203326;padding:8px}.nav-item{display:flex;min-width:0;align-items:center;border:0;border-radius:16px;background:transparent;color:var(--app-muted);cursor:pointer;flex-direction:column;font-size:11px;gap:3px;padding:8px 3px}.nav-item-active{background:var(--app-accent);color:var(--app-accent-text)}.nav-icon{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:#ffffff29;font-size:12px;font-weight:800}@media (min-width: 680px){.app-shell{max-width:520px;margin:0 auto;border-right:1px solid var(--app-border);border-left:1px solid var(--app-border)}.bottom-nav{right:calc(50% - 248px);left:calc(50% - 248px)}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 420px){.day-header-card,.clients-summary-grid,.client-stats-grid,.clients-toggle-grid,.clients-toggle-grid-sort,.client-summary-grid{grid-template-columns:1fr}.client-row-head{align-items:flex-start;flex-direction:column}.client-row{padding:11px}.client-detail-top,.client-booking-top{flex-direction:column}.client-task-form{grid-template-columns:1fr}.client-task-summary{justify-content:flex-start}.week-summary{align-items:flex-start;flex-direction:column;gap:8px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions,.apartment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
