:root{--color-bg: #f6f8fc;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-border: #e5eaf2;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #082259;--color-primary-soft: #dbeafe;--color-action-view: #64748b;--color-action-edit: #082259;--color-action-delete: #dc2626;--color-action-primary: #082259;--color-action-secondary: #ffffff;--color-action-danger: #dc2626;--button-view-bg: #ffffff;--button-view-text: #475569;--button-edit-bg: #082259;--button-edit-text: #ffffff;--button-create-bg: #082259;--button-create-text: #ffffff;--button-paid-bg: #ffffff;--button-paid-text: #334155;--button-cancel-bg: #dc2626;--button-cancel-text: #ffffff;--button-delete-bg: #dc2626;--button-delete-text: #ffffff;--button-close-bg: #ffffff;--button-close-text: #475569;--button-accept-bg: #082259;--button-accept-text: #ffffff;--badge-active-bg: #ecfdf5;--badge-active-text: #065f46;--badge-inactive-bg: #f8fafc;--badge-inactive-text: #475569;--badge-draft-bg: #eef2ff;--badge-draft-text: #1e3a8a;--badge-pending-bg: #fff7ed;--badge-pending-text: #9a3412;--badge-paid-bg: #eef2ff;--badge-paid-text: #1e3a8a;--badge-cancelled-bg: #f8fafc;--badge-cancelled-text: #475569;--badge-available-bg: #ecfdf5;--badge-available-text: #065f46;--badge-existing-bg: #fff7ed;--badge-existing-text: #9a3412;--badge-origin-individual-bg: #eef2ff;--badge-origin-individual-text: #1e3a8a;--badge-origin-bulk-bg: #ecfdf5;--badge-origin-bulk-text: #065f46;--color-sidebar-bg: #f8fafc;--color-sidebar-active: #e0f2fe;--color-secondary: #a80000;--color-menu-text: #082054;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--color-text);background-color:var(--color-bg)}body{margin:0;min-height:100vh;background:var(--color-bg)}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;padding:.6rem 1rem;border-radius:.5rem;background:var(--color-primary);color:#fff;font-weight:600}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#fbfdff,#f7faff);color:var(--color-text);padding:1.6rem 1.25rem;display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start;border-right:1px solid var(--color-border)}.sidebar-header{width:100%;display:flex;flex-direction:column;align-items:center;gap:.65rem;padding-bottom:.45rem;border-bottom:1px solid var(--color-border)}.sidebar-brand{display:grid;gap:.15rem;justify-items:center}.sidebar-brand-subtitle{color:var(--color-text-muted);font-size:.78rem}.sidebar h2{margin:0;text-align:center;color:var(--color-text);font-size:1rem;line-height:1.2;font-weight:700}.sidebar-nav{display:flex;flex-direction:column;gap:1rem;width:100%;align-items:flex-start;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.2rem}.sidebar-section{display:grid;gap:.4rem;width:100%}.sidebar-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;padding:0 .2rem}.sidebar-section-links{display:flex;flex-direction:column;gap:.32rem;width:100%}.sidebar a{display:block;padding:.7rem .9rem;border-radius:.7rem;color:var(--color-menu-text);width:100%;text-align:left;box-sizing:border-box;transition:background-color .15s ease,color .15s ease}.sidebar a:hover{background:#eef4ff;color:var(--color-text)}.sidebar a.active{background:var(--color-sidebar-active);color:var(--color-primary);box-shadow:inset 0 0 0 1px #2563eb17;font-weight:600}.sidebar-link-icon{display:inline-flex;width:1.25rem;margin-right:.5rem;color:var(--color-text-muted)}.sidebar a.active .sidebar-link-icon{color:var(--color-primary)}.sidebar-footer{width:100%;display:flex;justify-content:space-between;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.72rem}main{display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:70px;gap:1rem}.topbar-title-group{display:grid;gap:.2rem}.topbar-kicker{color:var(--color-text-muted);font-size:.8rem}.topbar-title-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.topbar-title{margin:0;font-size:1.2rem;line-height:1.2;color:var(--color-text)}.topbar-role-badge{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.topbar-user-button{display:flex;align-items:center;gap:.65rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 6px 18px #0f172a0a;padding:.55rem .75rem}.topbar-avatar{width:34px;height:34px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-weight:700;flex:0 0 auto}.topbar-user-meta{text-align:left;display:grid;gap:.1rem}.topbar-user-meta div{font-size:12px;color:var(--color-text-muted)}.topbar-user-menu{position:absolute;right:0;margin-top:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.85rem;box-shadow:0 10px 40px #0f172a1a;min-width:200px;z-index:10;overflow:hidden}.topbar-user-menu-item{width:100%;text-align:left;padding:.75rem 1rem;border-radius:0;background:var(--color-surface);color:var(--color-text)}.topbar-user-menu-item:hover{background:var(--color-surface-muted)}.topbar-user-menu-danger{background:#fee2e2;color:#991b1b}.content{padding:2rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.section-heading h2,.section-heading h3{margin:0;color:var(--color-text)}.section-heading p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.95rem}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{background:var(--color-surface);color:var(--color-text);padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--color-border);box-shadow:0 10px 30px #0f172a0a;display:grid;gap:.3rem;min-width:0}.metric-card small{color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.metric-card h2{margin:0;color:var(--color-text);font-size:1.55rem}.metric-card p{margin:0;color:var(--color-text-muted);font-size:.92rem}.dashboard-shell{display:grid;gap:1.25rem}.dashboard-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.2rem 1.25rem;box-shadow:0 10px 30px #0f172a0a;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.dashboard-hero-logo{max-width:150px;height:auto;object-fit:contain}.dashboard-hero-copy{display:grid;gap:.3rem}.dashboard-hero-copy h1{margin:0;font-size:1.45rem;color:var(--color-text)}.dashboard-hero-copy p{margin:0;color:var(--color-text-muted);max-width:60ch;line-height:1.5}.dashboard-kicker{margin:0;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.dashboard-section{display:grid;gap:.85rem}.dashboard-metrics{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-card{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 10px 30px #0f172a0a}.dashboard-card small{color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.dashboard-card h2{margin:0;color:var(--color-text);font-size:1.65rem}.dashboard-card p{margin:0;color:var(--color-text-muted);font-size:.9rem}.action-row{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-page{display:grid;gap:1.25rem}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.15rem 1.25rem;box-shadow:0 10px 30px #0f172a0a}.dashboard-header-copy{display:grid;gap:.35rem;min-width:0}.dashboard-header-copy h1{margin:0;font-size:1.55rem;color:var(--color-text)}.dashboard-header-copy p{margin:0;color:var(--color-text-muted);line-height:1.5;max-width:68ch}.dashboard-header-controls{display:grid;gap:.75rem;justify-items:end}.dashboard-header-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.dashboard-range{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.dashboard-range-button{min-height:34px;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:.84rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.dashboard-range-button:hover{background:var(--color-surface-muted)}.dashboard-range-button.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.dashboard-meta-chip{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .65rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.74rem;font-weight:700}.dashboard-meta-label{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.dashboard-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;min-width:0}.dashboard-header-meta strong{color:var(--color-text);font-size:.92rem;line-height:1.3}.dashboard-loading-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-skeleton-card{display:grid;gap:.6rem;padding:1rem 1.05rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 10px 30px #0f172a0a}.dashboard-skeleton-line{display:block;height:.7rem;border-radius:999px;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0);background-size:200% 100%;animation:dashboard-skeleton 1.4s ease-in-out infinite}.dashboard-skeleton-line--sm{width:40%}.dashboard-skeleton-line--lg{width:78%;height:1.2rem}.dashboard-kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-kpi-card{display:grid;gap:.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1rem 1.05rem;box-shadow:0 10px 30px #0f172a0a;min-width:0}.dashboard-kpi-card small{color:var(--color-text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dashboard-kpi-card h2{margin:0;color:var(--color-text);font-size:1.7rem;line-height:1.1}.dashboard-kpi-card p{margin:0;color:var(--color-text-muted);font-size:.88rem;line-height:1.4}.dashboard-kpi-card--primary{border-top:3px solid var(--color-primary)}.dashboard-kpi-card--info{border-top:3px solid #2563eb}.dashboard-kpi-card--warning{border-top:3px solid #d97706}.dashboard-kpi-card--danger{border-top:3px solid var(--color-action-danger)}.dashboard-kpi-card--success{border-top:3px solid #059669}.dashboard-section-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-panel{display:grid;gap:.9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1rem 1.05rem;box-shadow:0 10px 30px #0f172a0a;min-width:0}.dashboard-section-grid>.dashboard-panel:not(.dashboard-panel--wide){align-content:start;min-height:100%}.dashboard-panel--wide{grid-column:1/-1}.dashboard-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.dashboard-panel-header h3{margin:0;color:var(--color-text);font-size:1rem}.dashboard-panel-header p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.88rem;line-height:1.45}.dashboard-panel-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;flex-wrap:wrap}.dashboard-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.28rem .55rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.76rem;font-weight:700}.dashboard-alert-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dashboard-alert-filters{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding-top:.1rem}.dashboard-alert-filters-label{color:var(--color-text-muted);font-size:.76rem;font-weight:700;margin-right:.15rem}.dashboard-alert-filter{min-height:28px;padding:.25rem .6rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:.76rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.dashboard-alert-filter:hover{background:var(--color-surface-muted);color:var(--color-text)}.dashboard-alert-filter.is-active{background:var(--color-primary-soft);border-color:var(--color-primary-soft);color:var(--color-primary)}.dashboard-alerts-collapsed{padding:.7rem .8rem;border:1px dashed var(--color-border);border-radius:.75rem;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.84rem}.dashboard-subsection{display:grid;gap:.65rem}.dashboard-subsection-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.dashboard-subsection-header h4{margin:0;color:var(--color-text);font-size:.92rem}.dashboard-subsection-header p{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.82rem}.dashboard-subsection-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;padding:.22rem .45rem;border-radius:999px;background:#f8fafc;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.dashboard-mini-chart{display:grid;gap:.65rem}.dashboard-status-row{display:grid;gap:.35rem}.dashboard-status-row-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.84rem;color:var(--color-text)}.dashboard-status-row-head strong{font-size:.84rem}.dashboard-status-track{height:8px;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border);overflow:hidden}.dashboard-status-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary-soft) 0%,var(--color-primary) 100%)}.dashboard-list{list-style:none;display:grid;gap:.6rem;padding:0;margin:0}.dashboard-list-item{display:grid;gap:.35rem;padding:.85rem .9rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface-muted)}.dashboard-list-item--alert{background:#fff7ed;border-color:#fed7aa}.dashboard-list-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dashboard-list-item-head strong{display:block;min-width:0;color:var(--color-text);font-size:.92rem}.dashboard-list-item-head p{margin:.12rem 0 0;color:var(--color-text-muted);font-size:.82rem;line-height:1.35}.dashboard-list-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;color:var(--color-text-muted);font-size:.78rem}.dashboard-list-item-meta span{display:inline-flex;align-items:center;gap:.25rem}.dashboard-badge{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.dashboard-badge--neutral{background:#f8fafc;color:#475569;border-color:#e2e8f0}.dashboard-badge--warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.dashboard-badge--danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.dashboard-badge--info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.dashboard-badge--success{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.dashboard-empty-state{display:grid;gap:.4rem;padding:.95rem 1rem;border-radius:.85rem;border:1px dashed var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);line-height:1.45}.dashboard-empty-state strong{color:var(--color-text)}.dashboard-empty-state--success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.dashboard-empty-state--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.dashboard-loading-inline{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.8rem;font-weight:700}.dashboard-activity-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.filter-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dashboard-subsection-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.dashboard-subsection-toggle{min-height:28px;padding:.25rem .6rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:.74rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.dashboard-subsection-toggle:hover{background:var(--color-surface-muted);color:var(--color-text)}.dashboard-subsection-scroll{max-height:460px;overflow-y:auto;padding-right:.2rem}.dashboard-subsection-scroll::-webkit-scrollbar{width:6px}.dashboard-subsection-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:var(--color-border)}.dashboard-subsection-collapsed-summary{padding:.55rem .7rem;border:1px dashed var(--color-border);border-radius:.7rem;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.78rem}.filter-toolbar-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-empty-state{display:grid;gap:.25rem;justify-items:center;padding:1rem;border:1px dashed var(--color-border);border-radius:.75rem;background:var(--color-surface-muted);color:var(--color-text-muted);line-height:1.45}.admin-empty-state strong{color:var(--color-text);font-size:.9rem}.admin-empty-state span{font-size:.82rem}.task-board-column-content>.admin-empty-state{min-height:4.5rem;align-content:center}.tasks-list-toolbar{justify-content:flex-start}.tasks-list-toolbar input,.tasks-list-toolbar select{min-height:38px;background:var(--color-surface)}.tasks-list-toolbar input{min-width:min(280px,70vw)}.tasks-result-count{margin:-.65rem 0 0;color:var(--color-text-muted);font-size:.82rem}.task-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.task-board-column{min-width:0;padding:1rem}.task-board-column-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.task-board-column-header h4{margin:0}.task-board-column-content{display:flex;flex-direction:column;gap:.75rem;max-height:560px;overflow-y:auto;margin-top:1rem;padding-right:.2rem}.task-board-card{display:grid;gap:.35rem;min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-surface)}.task-board-card p,.task-board-card small{margin:0;color:var(--color-text-muted)}.task-board-card-actions{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.35rem}@media (max-width: 1050px){.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.task-board{grid-template-columns:1fr}.tasks-list-toolbar input,.tasks-list-toolbar select{width:100%}}@keyframes dashboard-skeleton{0%{background-position:0% 50%}to{background-position:200% 50%}}@media (max-width: 1100px){.dashboard-header,.dashboard-header-controls{justify-items:start}.dashboard-header-actions{justify-content:flex-start}.dashboard-panel--wide{grid-column:1/-1}.dashboard-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.dashboard-section-grid{grid-template-columns:1fr}}.action-button{min-height:30px;padding:.35rem .68rem;border-radius:8px;border:1px solid transparent;font-weight:500;font-size:.8rem;line-height:1;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #0f172a0f}.action-button:disabled{opacity:.68;cursor:not-allowed;box-shadow:none;transform:none}.action-button--primary{background:color-mix(in srgb,var(--color-action-primary, var(--color-action-edit, var(--color-primary))) 82%,white 18%);color:#fff;border-color:color-mix(in srgb,var(--color-action-primary, var(--color-action-edit, var(--color-primary))) 86%,#ffffff 14%)}.action-button--secondary{background:var(--color-action-secondary, var(--color-surface));color:var(--color-action-view, #475569);border-color:var(--color-border)}.action-button--success{background:var(--button-paid-bg, var(--color-surface));color:var(--button-paid-text, var(--color-text));border-color:var(--color-border)}.action-button--danger{background:var(--button-delete-bg, color-mix(in srgb, var(--color-action-danger, var(--color-action-delete, #dc2626)) 82%, white 18%));color:var(--button-delete-text, #fff);border-color:color-mix(in srgb,var(--color-action-danger, var(--color-action-delete, #dc2626)) 86%,#ffffff 14%)}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.tag{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .6rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.75rem;font-weight:700;white-space:nowrap}.status-badge--paid,.status-badge--active{background:var(--badge-active-bg);color:var(--badge-active-text)}.status-badge--draft{background:var(--badge-draft-bg);color:var(--badge-draft-text)}.status-badge--pending{background:var(--badge-pending-bg);color:var(--badge-pending-text)}.status-badge--cancelled,.status-badge--inactive{background:var(--badge-cancelled-bg);color:var(--badge-cancelled-text)}.status-badge--available{background:var(--badge-available-bg);color:var(--badge-available-text)}.status-badge--existing{background:var(--badge-existing-bg);color:var(--badge-existing-text)}.tag--success{background:var(--badge-active-bg);color:var(--badge-active-text)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-muted)}.btn-primary-soft{background:var(--color-primary-soft);color:var(--color-primary)}.appearance-preview-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.appearance-preview-chip{padding:.8rem .9rem;border-radius:.85rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:grid;gap:.25rem;min-height:74px}.appearance-preview-chip span{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.appearance-preview-chip strong{font-size:.95rem}.grid{display:grid;gap:1.5rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--color-surface);padding:1.5rem;border-radius:1rem;border:1px solid var(--color-border);box-shadow:0 10px 40px #0f172a0d}.table{width:100%;border-spacing:0;border-collapse:collapse;font-size:.95rem}.table th,.table td{padding:.9rem .95rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{background:var(--color-surface-muted);font-weight:600;color:var(--color-text);text-align:center;white-space:nowrap}.table-actions-header{text-align:center;vertical-align:middle}.cell-left{text-align:left!important}.cell-center{text-align:center!important}.cell-right{text-align:right!important}.cell-code,.cell-folio,.cell-contract-code{max-width:190px}.truncate-cell{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.cell-money{text-align:right!important;width:130px}.cell-date{text-align:center;white-space:nowrap}.cell-period{white-space:nowrap;min-width:180px}.cell-status{text-align:center}.td-folio,.td-contrato,.td-propiedad{width:120px}.td-inquilino{width:150px}.td-vigencia{width:180px}.td-renta,.td-vencimiento,.td-status{width:120px}.table tbody tr:nth-child(2n),.basic-table tbody tr:nth-child(2n){background:var(--color-surface-muted)}.text-right{text-align:right}.text-center{text-align:center}.reports-section{margin-top:1rem}.table th.center,.table td.center{text-align:center}.table tbody tr:hover,.basic-table tbody tr:hover{background:#eef4ff}.table-shell,.table-shell-basic{overflow-x:auto;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface)}.basic-table{width:100%;border-collapse:collapse;font-size:.95rem}.basic-table th,.basic-table td{padding:.85rem .9rem;border-bottom:1px solid var(--color-border)}.basic-table th{background:var(--color-surface-muted);text-align:center;vertical-align:middle;white-space:nowrap}.table-actions{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:nowrap;white-space:nowrap}.table-actions--center{justify-content:center}.table-control{display:flex;justify-content:center;align-items:center}.table-control select,.table-control input{width:100%;max-width:180px}.reports-filter-row{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.reports-filter-group{display:flex;flex-direction:column;gap:.35rem;min-width:0}.reports-filter-group input,.reports-filter-group select{min-height:40px}.reports-filter-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reports-table-shell{width:100%;overflow-x:auto;overflow-y:hidden;text-align:left;padding:.25rem .5rem .5rem;box-sizing:border-box}.admin-table-shell.reports-table-shell{padding:0;border-radius:16px}.reports-table{width:max-content;border-collapse:collapse;border-spacing:0;font-size:.9rem;background:var(--color-surface);margin:0}.reports-table th,.reports-table td{padding:.7rem .8rem;border-bottom:1px solid #d7e0ee;vertical-align:middle;white-space:nowrap}.reports-table th{background:#1e3a5f;color:#fff;font-weight:700;text-align:center}.reports-table tbody tr:nth-child(2n){background:#f8fbff}.reports-table tbody tr:hover{background:#eef4ff}.reports-table .td-folio,.reports-table .td-contrato{width:190px;max-width:190px;text-align:left}.reports-table .td-propiedad,.reports-table .td-inquilino{min-width:180px;text-align:left}.reports-table .td-folio .truncate-cell,.reports-table .td-contrato .truncate-cell{max-width:190px}.reports-table .td-renta,.reports-table .td-total,.reports-table .td-pendiente,.reports-table .td-vencido,.reports-table .td-pagado,.reports-table .td-comision,.reports-table .td-comision-estimada{width:150px;min-width:150px;max-width:160px;text-align:right}.reports-table .td-vigencia,.reports-table .td-vencimiento{width:160px;text-align:center}.reports-table .td-status,.reports-table .td-recibos{width:120px;text-align:center}.reports-table .td-status>*{margin-inline:auto}.reports-table .td-comision{min-width:130px}.reports-table .td-recibos{width:110px}.admin-table-shell{width:100%;overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 40px #0f172a0d;text-align:left}.admin-table-shell--compact{border-radius:12px}.admin-table-shell--wide{max-width:100%}.admin-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;background:var(--color-surface);font-size:.92rem}.admin-table--compact{font-size:.88rem}.admin-table--comfortable{font-size:.95rem}.admin-table th,.admin-table__header{background:var(--color-primary);color:#fff;font-weight:700;text-align:center;vertical-align:middle;white-space:nowrap;padding:.75rem .85rem}.admin-table td{padding:.75rem .85rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text)}.admin-table tbody tr:nth-child(2n){background:var(--color-surface-muted)}.admin-table tbody tr:hover{background:var(--color-primary-soft)}.admin-table__actions,.admin-table .admin-table__actions{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:nowrap;white-space:nowrap}.admin-table__actions-header{text-align:center;vertical-align:middle}.admin-table .table-sort-button{color:inherit}.admin-table .table-sort-indicator{color:#ffffffd9}.admin-table .cell-left{text-align:left}.admin-table .cell-center{text-align:center}.admin-table .cell-right{text-align:right}.admin-table .cell-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.admin-table .cell-date,.admin-table .cell-period,.admin-table .cell-status{text-align:center;white-space:nowrap}.admin-table .cell-code,.admin-table .cell-folio,.admin-table .cell-contract-code{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-nowrap{white-space:nowrap}.cell-truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.projects-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.25rem;flex-wrap:wrap}.projects-admin-table{width:100%;table-layout:fixed}.projects-admin-table th,.projects-admin-table td{min-width:0}.projects-admin-table td .cell-truncate{display:block}.projects-admin-table .admin-table__actions{overflow:visible}.projects-page-header h1{margin:.15rem 0 0}.projects-page-subtitle{margin:.35rem 0 0;color:var(--color-text-muted)}.projects-page-header-action{flex:0 0 auto}.projects-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.projects-summary-card .card{min-height:0;padding:1.1rem 1.2rem}.projects-list-card{display:grid;gap:.85rem;min-width:0}.projects-list-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.projects-list-toolbar h2{margin:0;font-size:1.05rem}.projects-list-toolbar span{display:block;margin-top:.25rem;color:var(--color-text-muted);font-size:.82rem}.projects-list-filters{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.projects-list-filters label{display:block}.projects-list-filters input,.projects-list-filters select{min-height:38px;background:var(--color-surface)}.projects-search-field input{min-width:min(280px,70vw)}.projects-modal-content{display:grid;gap:1.25rem}.projects-modal-subtitle{margin:0;color:var(--color-text-muted)}.projects-delete-modal{display:grid;gap:1.25rem}.projects-delete-modal p{margin:0;color:var(--color-text);line-height:1.55}.projects-delete-modal-actions{display:flex;justify-content:flex-end;gap:.65rem}.projects-modal-content form>button{width:auto;justify-self:end;min-width:150px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 760px){.projects-summary-grid{grid-template-columns:1fr}.projects-list-toolbar,.projects-list-filters{align-items:stretch;width:100%}.projects-list-filters input,.projects-list-filters select{width:100%}.projects-search-field,.projects-status-field{flex:1 1 100%}}.forms-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}input,select,textarea{border:1px solid #cbd5f5;border-radius:.6rem;padding:.65rem .8rem;font-family:inherit;box-sizing:border-box;max-width:100%}form label{display:flex;flex-direction:column;gap:.3rem;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem 1.25rem;align-items:start}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;width:100%}.color-preview{width:60px;height:24px;border-radius:.5rem;border:1px solid #e2e8f0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:1rem;padding:2.25rem;width:min(1120px,96vw);max-height:85vh;box-shadow:0 30px 80px #0f172a26;display:flex;flex-direction:column;overflow:hidden}.modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding-right:.25rem}.modal-body--preview{overflow:hidden;display:flex;flex-direction:column}.inline-checkbox{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:14px;font-weight:500;color:#0f172a;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:6px;flex-direction:row!important}.inline-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.folio-field{display:flex;flex-direction:column;gap:6px}.folio-manual-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;margin-top:4px;font-size:14px;font-weight:500;color:#0f172a;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.folio-manual-row input[type=checkbox]{width:16px;height:16px;min-width:16px;margin:0;padding:0;cursor:pointer;flex:0 0 auto}.folio-help{font-size:12px;color:#64748b;line-height:1.35;margin:0}.preview-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.85rem;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.4rem}.preview-summary-card span{font-size:.8rem;color:#64748b}.preview-summary-card strong{font-size:1.15rem;color:#0f172a}.preview-modal-shell{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0;overflow:hidden}.preview-modal-top{display:grid;gap:.5rem;flex:0 0 auto}.preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.preview-table-shell{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;border:1px solid #e2e8f0;border-radius:.85rem;background:#fff}.preview-empty{border:1px dashed #cbd5e1;border-radius:.85rem;padding:1.4rem;text-align:center;color:#64748b;background:var(--color-surface-muted)}.preview-table{width:100%;border-collapse:collapse}.preview-table thead th{position:sticky;top:0;z-index:1}.preview-table th,.preview-table td{padding:.75rem .6rem;background:#fff}.preview-table th{text-align:center;vertical-align:middle}.preview-table tbody tr:hover{background:var(--color-surface-muted)}.preview-row-disabled{background:#f8fafc;opacity:.9}.preview-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.preview-badge-success{background:#ecfdf5;color:#065f46}.preview-badge-warning{background:#fff7ed;color:#9a3412}.preview-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;flex:0 0 auto}.receipts-table-card{display:grid;gap:1rem}.receipts-toolbar{display:grid;gap:1rem;grid-template-columns:minmax(260px,1.3fr) minmax(260px,1fr) auto;align-items:end}.receipts-toolbar-search label,.receipts-toolbar-filters label{display:grid;gap:.35rem}.receipts-toolbar-search span,.receipts-toolbar-filters span{font-size:.8rem;color:#64748b;font-weight:600}.receipts-toolbar-filters{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.75rem}.receipts-toolbar-count{color:#475569;font-size:.95rem;text-align:right;white-space:nowrap}.receipts-table-shell{overflow:auto;border:1px solid #e2e8f0;border-radius:.9rem}.receipts-table{width:100%;min-width:1100px;border-collapse:collapse}.receipts-admin-table{width:100%;min-width:0;table-layout:fixed}.receipts-admin-table .receipts-col-folio,.receipts-admin-table .receipts-col-contract,.receipts-admin-table .receipts-col-tenant{width:12%}.receipts-admin-table .receipts-col-period{width:13%}.receipts-admin-table .receipts-col-due,.receipts-admin-table .receipts-col-total{width:8%}.receipts-admin-table .receipts-col-status,.receipts-admin-table .receipts-col-origin{width:7%}.receipts-admin-table .receipts-col-actions{width:21%}.receipts-admin-table .cell-folio,.receipts-admin-table .cell-contract-code,.receipts-admin-table .cell-left{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipts-admin-table .admin-table__actions{gap:.35rem}.receipts-admin-table .action-button{padding-inline:.55rem}@media (max-width: 1280px){.receipts-admin-table{min-width:1180px}}.receipts-table th{background:#f8fafc;vertical-align:middle;text-align:center}.table-sort-button{background:transparent;color:#0f172a;padding:0;display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.table-sort-indicator{color:#2563eb;font-size:.9rem;min-width:1ch}.origin-badge-massive{background:var(--badge-origin-bulk-bg);color:var(--badge-origin-bulk-text)}.origin-badge-individual{background:var(--badge-origin-individual-bg);color:var(--badge-origin-individual-text)}.receipts-empty{padding:1.4rem;text-align:center;color:#64748b;background:var(--color-surface-muted)}.project-detail-page{gap:1rem}.project-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.project-detail-hero-copy{display:grid;gap:.35rem}.project-detail-hero-copy h1{margin:0}.project-detail-subtitle{margin:0;color:var(--color-text-muted)}.project-detail-meta,.project-detail-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.project-detail-tab{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.project-detail-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.project-detail-stack,.project-detail-card{display:grid;gap:1rem}.project-detail-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.project-detail-summary-grid span{display:block;font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.project-detail-summary-grid p{margin:0;color:var(--color-text)}.project-detail-form{display:grid;gap:1rem}.project-detail-field--wide{grid-column:1/-1}.project-detail-form-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.project-detail-note{margin:0;color:var(--color-text-muted)}.project-detail-error{margin:0;color:#991b1b}.project-detail-toggle{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;flex-direction:row!important}.project-tasks-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.project-task-column{display:grid;gap:.75rem;align-content:start}.project-task-column-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.project-task-column-header h4{margin:0}.project-task-column-header p{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.85rem}.project-task-list{display:grid;gap:.75rem}.project-task-card{border:1px solid var(--color-border);border-radius:.9rem;padding:.85rem;background:var(--color-surface);display:grid;gap:.7rem}.project-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.project-task-card-head strong{min-width:0}.project-task-summary{margin:0;color:var(--color-text-muted);font-size:.92rem}.project-task-meta{display:grid;gap:.2rem;font-size:.82rem;color:var(--color-text-muted)}.project-task-status-control{display:grid;gap:.25rem;font-size:.82rem;color:var(--color-text-muted)}.project-task-status-control select{min-width:0;width:100%}.maintenance-page-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.maintenance-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.maintenance-list-heading{flex:1 1 220px}.maintenance-list-heading h2{margin:0;font-size:1.05rem}.maintenance-list-heading p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.82rem}.maintenance-list-filters{justify-content:flex-end;max-width:100%}.maintenance-list-toolbar input,.maintenance-list-toolbar select{min-height:38px;background:var(--color-surface)}.maintenance-list-toolbar input{min-width:min(280px,70vw)}.maintenance-result-count{margin:-.65rem 0 0;color:var(--color-text-muted);font-size:.82rem}.maintenance-table-shell{min-width:0}.maintenance-table{width:100%;min-width:1120px;table-layout:fixed}.maintenance-table th,.maintenance-table td{min-width:0}.maintenance-table td .cell-truncate{display:block}.maintenance-table .cell-date{white-space:nowrap}.maintenance-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.maintenance-form-modal-body{overflow-y:auto}.maintenance-form-modal-body .maintenance-form-actions{justify-content:flex-end}@media (max-width: 760px){.maintenance-page-header{align-items:stretch}.maintenance-page-actions,.maintenance-list-filters{justify-content:flex-start}.maintenance-list-toolbar input,.maintenance-list-toolbar select{width:100%}.maintenance-calendar-heading{align-items:flex-start;flex-direction:column}}.maintenance-page{gap:1.5rem}.maintenance-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.maintenance-page-header h1{margin-bottom:.25rem}.maintenance-page-note{margin:.35rem 0 0;color:var(--color-text-muted)}.maintenance-page-note--error{color:#991b1b}.maintenance-form-card{display:grid;gap:1rem}.maintenance-form{gap:1rem}.maintenance-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.maintenance-form-grid label{min-width:0}.maintenance-recurring-toggle{display:flex;flex-direction:column!important;justify-content:flex-start;gap:.3rem;min-width:0}.maintenance-recurring-checkbox{min-height:42px;display:flex;align-items:center;padding:0 .15rem;border:0;border-radius:0;background:transparent;box-sizing:border-box}.maintenance-recurring-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;flex:0 0 auto}.maintenance-form-summary{display:grid;gap:.25rem;padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--color-border);background:var(--color-surface-muted)}.maintenance-form-summary span{color:var(--color-text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.maintenance-form-summary p{margin:0;color:var(--color-text);line-height:1.45}.maintenance-series-note{display:grid;gap:.25rem;padding:.85rem 1rem;border-radius:.85rem;border:1px solid #bfdbfe;background:#eff6ff}.maintenance-series-note strong{color:var(--color-primary)}.maintenance-series-note p{margin:0;color:var(--color-text)}.maintenance-edit-note{padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:.9rem;line-height:1.4;align-self:end}.maintenance-form-error{margin:.1rem 0 0;color:#991b1b;font-size:.82rem}.maintenance-form-error--summary{padding:.75rem .9rem;border-radius:.8rem;background:#fef2f2;border:1px solid #fecaca}.maintenance-form-info{margin:0;padding:.75rem .9rem;border-radius:.8rem;background:#eff6ff;border:1px solid #bfdbfe;color:var(--color-primary)}.maintenance-calendar-shell{display:grid;gap:.9rem;overflow-x:auto}.maintenance-calendar-title{margin:0}.maintenance-calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.maintenance-calendar-nav{display:flex;gap:.5rem;flex-wrap:wrap}.maintenance-calendar-label{color:var(--color-text);text-transform:capitalize}.maintenance-calendar-grid{display:grid;gap:.75rem}.maintenance-calendar-weekdays,.maintenance-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.75rem}.maintenance-calendar-days{overflow-x:auto}.maintenance-calendar-weekday{font-weight:600;color:var(--color-text-muted)}.maintenance-calendar-day{min-height:138px;max-height:138px;border:1px solid var(--color-border);border-radius:.75rem;padding:.5rem;background:var(--color-surface);display:grid;align-content:start;gap:.35rem;overflow:hidden;transition:background-color .15s ease,border-color .15s ease}.maintenance-calendar-day--interactive{cursor:pointer}.maintenance-calendar-day--interactive:hover{background:#f8fbff;border-color:#bfdbfe}.maintenance-calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:0}.maintenance-calendar-day-number{font-weight:600}.maintenance-calendar-day-open{background:transparent;color:var(--color-primary);border:1px solid transparent;border-radius:.45rem;padding:.15rem .35rem;font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap}.maintenance-calendar-day-open:hover{background:var(--color-primary-soft);border-color:#bfdbfe}.maintenance-calendar-day-events{display:grid;gap:.28rem;min-height:0;overflow:hidden}.maintenance-calendar-event{background:linear-gradient(180deg,#e0f2fe,#dbeafe);border:1px solid #bfdbfe;border-radius:.5rem;padding:.28rem .45rem;font-size:.78rem;text-align:left;cursor:pointer;color:#142343;display:grid;gap:.16rem;min-height:44px;overflow:hidden;box-shadow:0 4px 10px #0f172a0a}.maintenance-calendar-event strong,.maintenance-calendar-event div,.maintenance-calendar-event small,.maintenance-day-modal-item strong,.maintenance-day-modal-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maintenance-calendar-event--range{background:linear-gradient(180deg,#e0f2fe,#dbeafe);border:1px solid #bfdbfe}.maintenance-calendar-event--recurring{background:#eff6ff;border:1px solid #bfdbfe}.maintenance-calendar-event-title{font-size:.8rem;line-height:1.1}.maintenance-calendar-event-meta{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0}.maintenance-calendar-event-property{min-width:0;color:#334155;font-size:.72rem}.maintenance-calendar-event-tags{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto}.maintenance-calendar-event-chip{display:inline-flex;align-items:center;padding:.12rem .38rem;border-radius:999px;font-size:.67rem;font-weight:700;white-space:nowrap}.maintenance-calendar-event-chip--range{background:#dbeafe;color:#1d4ed8}.maintenance-calendar-event-chip--recurring{background:#ecfdf5;color:#047857}.maintenance-calendar-event-range{color:#1d4ed8;font-size:.72rem;font-weight:700}.maintenance-calendar-event-recurrence{color:var(--color-primary);font-size:.72rem;font-weight:700}.maintenance-calendar-day-more{align-self:start;justify-self:start;border:1px dashed #93c5fd;background:#eff6ff;color:#1d4ed8;border-radius:.45rem;padding:.2rem .45rem;font-size:.72rem;font-weight:700}.maintenance-calendar-day-more:hover{background:#dbeafe}.maintenance-day-modal-body{overflow:hidden}.maintenance-day-modal{display:grid;gap:.9rem}.maintenance-day-modal-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:.85rem;background:linear-gradient(180deg,#f8fbff,#fff)}.maintenance-day-modal-summary span{display:block;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;margin-bottom:.15rem}.maintenance-day-modal-summary strong{display:block;color:var(--color-text)}.maintenance-day-modal-summary b{display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.78rem}.maintenance-day-modal-list{display:grid;gap:.75rem;max-height:52vh;overflow:auto;padding-right:.25rem}.maintenance-day-modal-item{display:grid;gap:.65rem;padding:.95rem;border-radius:.9rem;border:1px solid var(--color-border);background:linear-gradient(180deg,#fff,#f8fbff);text-align:left;box-shadow:0 8px 20px #0f172a0a}.maintenance-day-modal-item:hover{background:var(--color-surface-muted)}.maintenance-day-modal-item-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.maintenance-day-modal-item-head strong{color:var(--color-text);font-size:.98rem}.maintenance-day-modal-status{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}.maintenance-day-modal-status--scheduled{background:#eef2ff;color:#1e3a8a}.maintenance-day-modal-status--in_progress{background:#fef3c7;color:#92400e}.maintenance-day-modal-status--completed{background:#ecfdf5;color:#047857}.maintenance-day-modal-status--skipped{background:#f8fafc;color:#475569}.maintenance-day-modal-badges,.maintenance-day-modal-dates{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.maintenance-day-modal-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:700}.maintenance-day-modal-badge--range{background:#dbeafe;color:#1d4ed8}.maintenance-day-modal-badge--recurring{background:#ecfdf5;color:#047857}.maintenance-day-modal-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem}.maintenance-day-modal-item-grid span{display:grid;gap:.12rem;padding:.55rem .65rem;border-radius:.7rem;background:#fff;border:1px solid #e5eaf2}.maintenance-day-modal-item-grid small{color:var(--color-text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.maintenance-day-modal-item-grid b{color:var(--color-text);font-size:.84rem;font-weight:600}.maintenance-day-modal-dates{color:var(--color-text-muted);font-size:.82rem}.maintenance-day-modal-description{margin:0;color:var(--color-text-muted);font-size:.86rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.maintenance-day-modal-card-actions,.maintenance-day-modal-actions{display:flex;justify-content:flex-end}.maintenance-delete-modal-body{overflow:hidden}.maintenance-delete-modal{display:grid;gap:.9rem}.maintenance-delete-modal p{margin:0;color:var(--color-text);line-height:1.5}.maintenance-delete-modal-error{color:#991b1b!important}.maintenance-delete-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.maintenance-detail-modal-body{max-height:68vh;overflow:auto}.maintenance-detail{display:grid;gap:1rem}.maintenance-detail-hero{padding:1rem;border:1px solid var(--color-border);border-radius:.9rem;background:linear-gradient(180deg,#f8fbff,#fff)}.maintenance-detail-hero-copy{display:grid;gap:.55rem}.maintenance-detail-hero h3{margin:0;color:var(--color-text);font-size:1.22rem}.maintenance-detail-hero p{margin:0;color:var(--color-text-muted);line-height:1.45}.maintenance-detail-badges{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.maintenance-detail-badge{display:inline-flex;align-items:center;padding:.22rem .58rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:700;white-space:nowrap}.maintenance-detail-badge--scheduled{background:#eef2ff;color:#1e3a8a}.maintenance-detail-badge--in_progress{background:#fef3c7;color:#92400e}.maintenance-detail-badge--completed{background:#ecfdf5;color:#047857}.maintenance-detail-badge--skipped{background:#f8fafc;color:#475569}.maintenance-detail-badge--range{background:#dbeafe;color:#1d4ed8}.maintenance-detail-badge--recurring{background:#ecfdf5;color:#047857}.maintenance-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.maintenance-detail-card{display:grid;gap:.2rem;padding:.85rem;border:1px solid var(--color-border);border-radius:.8rem;background:var(--color-surface)}.maintenance-detail-card span,.maintenance-detail-dates span,.maintenance-detail-notes span{color:var(--color-text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.maintenance-detail-card strong,.maintenance-detail-dates strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:.92rem}.maintenance-detail-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;padding:.9rem;border:1px solid #bfdbfe;border-radius:.9rem;background:#eff6ff}.maintenance-detail-dates div{display:grid;gap:.2rem}.maintenance-detail-recurrence{display:grid;gap:.25rem;padding:.9rem;border:1px solid #bbf7d0;border-radius:.9rem;background:#f0fdf4}.maintenance-detail-recurrence strong{color:#047857}.maintenance-detail-recurrence p,.maintenance-detail-recurrence small{margin:0;color:var(--color-text-muted)}.maintenance-detail-notes{display:grid;gap:.75rem}.maintenance-detail-notes div{display:grid;gap:.3rem;padding:.9rem;border:1px solid var(--color-border);border-radius:.8rem;background:var(--color-surface-muted)}.maintenance-detail-notes p{margin:0;color:var(--color-text);line-height:1.45}.maintenance-detail-error{margin:0;color:#991b1b;padding:.75rem .9rem;border-radius:.75rem;background:#fef2f2;border:1px solid #fecaca}.maintenance-detail-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;padding-top:.25rem}
