.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);align-items:start}.kanban-board__footer-actions{margin-top:var(--space-md)}.kanban-add-column-btn{min-height:var(--control-min-height);min-width:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-white);color:var(--dark);box-shadow:var(--shadow-sm);cursor:pointer}.kanban-column{background:var(--bg-white);color:var(--dark);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-sm);min-height:120px}.kanban-column__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.kanban-column__title-wrap{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.kanban-column__title{font-size:1rem;margin:0}.kanban-column__header-actions{display:flex;gap:.25rem}.kanban-column__btn{min-height:var(--control-min-height);min-width:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);box-shadow:var(--shadow-sm);cursor:pointer}.kanban-column__cards{display:flex;flex-direction:column;gap:var(--space-sm)}.kanban-empty{text-align:center;color:var(--gray);padding:var(--space-sm)}.kanban-card{background:var(--bg-white);color:var(--dark);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow_sm, var(--shadow-sm));padding:var(--space-sm);cursor:grab}.kanban-card.dragging{opacity:.9;transform:scale(1.02);box-shadow:var(--shadow-md)}.kanban-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.kanban-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kanban-card__title-btn{background:transparent;border:none;cursor:text;text-align:left}.kanban-card__title{font-weight:600}.kanban-card__badges{display:flex;flex-wrap:wrap;gap:.25rem}.kanban-card__badge{display:inline-flex;align-items:center;padding:0 .5rem;height:1.25rem;border-radius:var(--radius-full);font-size:.75rem;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.kanban-card__body{margin-top:.25rem}.kanban-card__desc-btn{background:transparent;border:none;text-align:left;cursor:text;width:100%}.kanban-card__meta{display:flex;gap:.5rem;align-items:center;margin-top:.25rem;font-size:.8rem;color:var(--gray)}.kanban-card__due.is-overdue{color:var(--destructive);font-weight:600}.kanban-card__actions{display:flex;gap:.25rem;margin-top:.5rem}.kanban-card__btn{min-height:var(--control-min-height);min-width:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);box-shadow:var(--shadow-sm);cursor:pointer}.kanban-card-wrapper{position:relative}.kanban-card-dropend{height:10px;border:1px dashed var(--border);border-radius:var(--radius-sm);margin-top:.25rem}.kanban-toolbar .kanban-input,.kanban-toolbar .kanban-select,.kanban-toolbar .kanban-btn{min-height:var(--control-min-height)}.kanban-server-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:var(--space-sm);font-size:.85rem;color:var(--gray)}.kanban-server-meta__refresh{margin-left:auto}.kanban-server-meta__stale{color:var(--destructive);font-weight:600}.kanban-server-board__card-missing{margin-bottom:var(--space-sm);color:var(--gray);font-size:.9rem}.kanban-card--highlighted{outline:2px solid var(--ring);outline-offset:2px;animation:kanban-card-highlight-pulse 1.2s ease-in-out 2}@keyframes kanban-card-highlight-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--ring) 35%,transparent)}}@media(prefers-reduced-motion:reduce){.kanban-card--highlighted{animation:none}}@media(hover:hover){.kanban-card:hover{box-shadow:var(--shadow-md)}}.dark .kanban-column,:root[data-theme=dark] .kanban-column{background:var(--bg-white);border-color:var(--border)}.dark .kanban-card,:root[data-theme=dark] .kanban-card{background:var(--bg-white);border-color:var(--border)}.kanban-board--pipeline{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-sm)}.kanban-board--pipeline:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.kanban-board--pipeline .kanban-column{flex:0 0 300px;min-width:300px;scroll-snap-align:start;max-height:70vh;overflow-y:auto;padding-top:0}.kanban-board--pipeline .kanban-column__header{position:sticky;top:0;z-index:1;background:var(--bg-white);padding-top:var(--space-sm);padding-bottom:.25rem}@media(max-width:640px){.kanban-board--pipeline .kanban-column{flex-basis:85vw;min-width:85vw}}.kanban-column__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.5rem;padding:0 .5rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-white);color:var(--gray);font-size:.8rem;font-weight:600}.kanban-column__total{margin:0 0 var(--space-sm);font-size:.8rem;color:var(--gray)}.kanban-server-toolbar{display:flex;flex-direction:column;gap:.5rem;margin-bottom:var(--space-sm)}.kanban-server-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.kanban-server-toolbar__search{flex:1 1 240px;min-height:var(--control-min-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);padding:0 .75rem}.kanban-server-toolbar__toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--control-min-height);cursor:pointer;color:var(--dark)}.kanban-server-toolbar__toggle input{width:1.25rem;height:1.25rem}.kanban-server-toolbar__count{font-size:.85rem;color:var(--gray)}.kanban-summary{display:flex;flex-wrap:wrap;gap:.375rem}.kanban-summary__chip{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-white);color:var(--dark);font-size:.8rem;cursor:pointer}.kanban-summary__chip--empty{opacity:.55}.kanban-summary__chip-count{font-weight:700}.kanban-summary__chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.kanban-card--clickable{cursor:pointer}.kanban-card--match{border-color:var(--ring)}.kanban-drawer__rows{display:flex;flex-direction:column;gap:.75rem;margin:var(--space-sm) 0 0}.kanban-drawer__row{display:flex;flex-direction:column;gap:.25rem}.kanban-drawer__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray)}.kanban-drawer__value{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--dark)}.kanban-drawer__description{white-space:pre-line}.kanban-drawer__code{font-family:var(--font-mono, monospace);font-size:.85rem;padding:.125rem .375rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white)}.kanban-drawer__muted{color:var(--gray)}.kanban-drawer__link{font-size:.8rem;word-break:break-all}.kanban-drawer__copy-wrap{display:inline-flex;align-items:center;gap:.375rem}.kanban-drawer__copy-status{font-size:.8rem;color:var(--gray)}@media(hover:hover){.kanban-summary__chip:hover{box-shadow:var(--shadow-sm)}}@media(prefers-reduced-motion:reduce){.kanban-board--pipeline{scroll-behavior:auto}}.dark .kanban-board--pipeline .kanban-column__header,:root[data-theme=dark] .kanban-board--pipeline .kanban-column__header,.dark .kanban-summary__chip,:root[data-theme=dark] .kanban-summary__chip,.dark .kanban-server-toolbar__search,:root[data-theme=dark] .kanban-server-toolbar__search,.dark .kanban-drawer__code,:root[data-theme=dark] .kanban-drawer__code{background:var(--bg-white);border-color:var(--border);color:var(--dark)}.kanban-card__badge--attention{background:var(--warning-bg, #fef3c7);color:var(--warning-fg, #92400e);border:1px solid var(--warning-border, #f59e0b)}.kanban-card__next-step{margin-top:.5rem}.kanban-card__next-step-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;width:100%;min-height:44px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);font-size:.85rem;font-weight:600;cursor:pointer}.kanban-card__next-step-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media(hover:hover){.kanban-card__next-step-btn:hover{box-shadow:var(--shadow-sm)}}.kanban-drawer__cockpit{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.kanban-drawer__payment{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-full);border:1px solid var(--border);font-size:.8rem;font-weight:600}.kanban-drawer__payment--paid{border-color:var(--success-border, #10b981)}.kanban-drawer__payment--open,.kanban-drawer__payment--partial{border-color:var(--warning-border, #f59e0b)}.kanban-drawer__timeline{display:flex;flex-wrap:wrap;gap:.375rem .75rem;font-size:.8rem;color:var(--gray)}.kanban-drawer__timeline-step.is-done{color:var(--dark);font-weight:600}.kanban-drawer__actions{display:flex;flex-direction:column;gap:.5rem}.kanban-drawer__actions-title{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray)}.kanban-drawer__actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.kanban-drawer__action-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:.375rem;min-height:44px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);font-size:.85rem;cursor:pointer}.kanban-drawer__action-btn--primary{border-color:var(--ring);font-weight:700}.kanban-drawer__action-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.kanban-composer{display:flex;flex-direction:column;gap:.75rem;margin-top:var(--space-sm)}.kanban-composer__recipient{margin:0;color:var(--gray);font-size:.9rem}.kanban-composer__warnings{margin:0;padding:.5rem .75rem;list-style:none;border:1px solid var(--warning-border, #f59e0b);border-radius:var(--radius-sm);background:var(--warning-bg, #fef3c7);color:var(--warning-fg, #92400e);font-size:.85rem;display:flex;flex-direction:column;gap:.25rem}.kanban-composer__field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--gray)}.kanban-composer__body{resize:vertical;min-height:10rem;font-family:inherit}.kanban-composer__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.kanban-composer__btn{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:0 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--dark);font-size:.9rem;cursor:pointer}.kanban-composer__btn--primary{border-color:var(--ring);font-weight:700}.kanban-composer__btn:disabled{opacity:.6;cursor:not-allowed}.kanban-composer__btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.kanban-composer__feedback,.kanban-composer__status{font-size:.85rem;color:var(--gray)}.kanban-composer__error{color:var(--danger, #dc2626);font-size:.9rem}.kanban-composer__hint{margin:0;font-size:.8rem;color:var(--gray)}.kanban-action-feedback{margin:.5rem 0 0;font-size:.9rem;color:var(--gray)}.kanban-action-feedback--error{color:var(--danger, #dc2626)}.kanban-server-toolbar__select,.kanban-server-toolbar__date{min-height:44px}.dark .kanban-card__next-step-btn,:root[data-theme=dark] .kanban-card__next-step-btn,.dark .kanban-drawer__action-btn,:root[data-theme=dark] .kanban-drawer__action-btn,.dark .kanban-composer__btn,:root[data-theme=dark] .kanban-composer__btn{background:var(--bg-white);border-color:var(--border);color:var(--dark)}.dark .kanban-card__badge--attention,:root[data-theme=dark] .kanban-card__badge--attention,.dark .kanban-composer__warnings,:root[data-theme=dark] .kanban-composer__warnings{background:var(--warning-bg-dark, rgba(245, 158, 11, .15));color:var(--warning-fg-dark, #fbbf24);border-color:var(--warning-border, #f59e0b)}.guest-lifecycle{display:grid;gap:1rem}.guest-lifecycle__booking{border:1px solid var(--color-border, #d8dee9);border-radius:.9rem;background:var(--color-surface, #fff);padding:1rem}.guest-lifecycle__booking header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.guest-lifecycle__booking h3{margin:0}.guest-lifecycle__steps{display:grid;grid-template-columns:repeat(9,minmax(8rem,1fr));gap:0;margin:1.25rem 0 0;padding:0;overflow-x:auto;list-style:none}.guest-lifecycle__steps li{position:relative;display:grid;gap:.3rem;min-width:8rem;padding:1.6rem .5rem .4rem;color:var(--color-text-muted, #667085);border-top:.2rem solid var(--color-border, #d8dee9)}.guest-lifecycle__steps li.is-reached{color:var(--color-text, #172033);border-color:var(--color-primary, #2563eb)}.guest-lifecycle__dot{position:absolute;top:-.55rem;left:.5rem;width:.9rem;height:.9rem;border:.18rem solid var(--color-border, #d8dee9);border-radius:50%;background:var(--color-surface, #fff)}.guest-lifecycle__steps .is-reached .guest-lifecycle__dot{border-color:var(--color-primary, #2563eb);background:var(--color-primary, #2563eb)}.guest-lifecycle__steps time,.guest-lifecycle__steps small{font-size:.75rem}.guest-lifecycle__steps small{width:fit-content;border-radius:999px;color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 12%,transparent);padding:.1rem .45rem}.guest-lifecycle__cleaning{margin:.8rem 0 0;color:var(--color-text-muted, #667085)}.dark .guest-lifecycle__booking{--color-surface: #172033;--color-border: #334155;--color-text: #f8fafc;--color-text-muted: #cbd5e1}.kanban-lifecycle-switch{display:flex;gap:.5rem;margin:.75rem 0}.kanban-lifecycle-switch button[aria-pressed=true]{color:#fff;background:var(--color-primary, #2563eb)}
