:root{--ink: #141425;--paper: #ffffff;--accent: #01fdce;--accent-hover: #00e6bb;--accent-ink: #06a892;--accent-deep: #04c2a3;--accent-wash: #e3fff9;--accent-border: #a9f5e6;--fg: var(--ink);--fg-muted: #6f6f80;--fg-faint: #a2a2b2;--border: rgba(30, 25, 50, .07);--glass: rgba(255, 255, 255, .42);--glass-strong: rgba(255, 255, 255, .55);--soft: 0 6px 22px rgba(40, 40, 60, .07);--soft-sm: 0 2px 10px rgba(40, 40, 60, .055);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--profit-positive: #04b8a0;--profit-negative: #e11d74;--status-active-bg: rgba(20, 120, 255, .13);--status-active-fg: #0a63e0;--status-expired-bg: rgba(217, 119, 6, .14);--status-expired-fg: #c2410c;--status-error-bg: rgba(225, 29, 116, .12);--status-error-fg: var(--profit-negative);--dark-button-bg: #2b2e34;--dark-button-hover: #3b3f47}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--font-sans);font-size:14px;color:var(--ink);background-color:#e9ebee;background-image:radial-gradient(1500px 820px at 50% -12%,#ffffffeb,#fff0 62%),radial-gradient(900px 600px at 100% 0%,#ffffff80,#fff0 55%);background-attachment:fixed}a{color:var(--accent-ink);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-wash)}input,button,select{font-family:inherit}.app-layout{display:flex;height:100vh;width:100%;overflow:hidden;padding:14px;gap:6px}.main-content{flex:1;height:100%;overflow-y:auto;min-width:0;padding:4px 8px 8px}.sidebar{width:250px;flex-shrink:0;height:100%;display:flex;flex-direction:column;padding:12px 10px;transition:width .2s ease}.sidebar--collapsed{width:74px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:8px 10px 22px}.sidebar--collapsed .sidebar-brand{flex-direction:column}.brand-logo{width:38px;height:38px;border-radius:12px;background:var(--paper);box-shadow:var(--soft-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-labels{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.brand-suffix{font-size:10.5px;font-weight:600;color:var(--fg-muted);letter-spacing:.14em}.sidebar-toggle{margin-left:auto;width:30px;height:30px;flex-shrink:0;border-radius:9px;border:none;background:transparent;box-shadow:none;color:var(--fg-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease}.sidebar-toggle:hover:not(:disabled){background:transparent}.sidebar-toggle svg{transition:transform .2s ease}.sidebar--collapsed .sidebar-toggle{margin-left:0}.sidebar--collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{display:flex;flex-direction:column;gap:6px;flex:1}.nav-item{display:flex;align-items:center;justify-content:flex-start;gap:13px;padding:13px 15px;border-radius:16px;cursor:pointer;font-size:14.5px;font-weight:500;color:var(--fg-muted);transition:background .15s ease,box-shadow .15s ease}.nav-item:hover{background:#ffffff80;color:var(--fg-muted);text-decoration:none}.nav-item--active,.nav-item--active:hover{background:var(--paper);box-shadow:var(--soft-sm);color:var(--ink);font-weight:600}.nav-item svg{flex-shrink:0}.nav-label{line-height:1.25}.sidebar--collapsed .nav-item{justify-content:center}.sidebar--collapsed .nav-label,.sidebar--collapsed .brand-labels,.sidebar--collapsed .user-info{display:none}.user-card{display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:10px 12px;border-radius:16px;background:var(--paper);box-shadow:var(--soft-sm)}.sidebar--collapsed .user-card{justify-content:center}.user-avatar{width:36px;height:36px;border-radius:11px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:#08120f;flex-shrink:0}.user-info{display:flex;flex-direction:column;line-height:1.3;min-width:0}.user-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11.5px;color:var(--fg-muted)}.page{padding:20px 12px}.page h1{font-size:32px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 7px}.page-subtitle{font-size:14.5px;line-height:1.55;color:var(--fg-muted);margin:0 0 6px;max-width:580px}button{font-size:13.5px;font-weight:600;padding:11px 18px;border-radius:13px;border:none;background:var(--dark-button-bg);color:var(--accent);cursor:pointer;box-shadow:0 3px 10px #1e202629;transition:background .15s ease}button:hover:not(:disabled){background:var(--dark-button-hover)}button:disabled{background:#2b2e3459;color:#fff9;box-shadow:none;cursor:not-allowed}.button-secondary{background:var(--paper);color:var(--ink);border:1px solid var(--border);box-shadow:var(--soft-sm)}.button-secondary:hover:not(:disabled){background:#f7fbfa}.button-ghost{background:transparent;color:var(--fg);border:none;box-shadow:none}.button-ghost:hover:not(:disabled){background:#fff9}.credentials-form{display:flex;flex-direction:column;gap:1rem;max-width:420px}.credentials-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--fg)}.credentials-form input{font-size:13.5px;font-weight:400;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink)}.table-toolbar{display:flex;gap:.75rem;margin:1rem 0}.tooltip-anchor{position:relative;display:inline-block}.tooltip-anchor:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:0;white-space:nowrap;padding:.4rem .6rem;border-radius:6px;background:var(--dark-button-bg);color:#f1f5f9;font-size:.8rem;z-index:10}.bookings-table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.88rem;border-radius:16px;box-shadow:var(--soft-sm)}.bookings-table th,.bookings-table td{padding:.55rem .7rem;border-bottom:1px solid var(--border);text-align:left}.bookings-table th{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}.bookings-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.bookings-table th.sortable-header:hover{background:var(--accent-wash)}.bookings-table td button{padding:7px 12px;font-size:12px;border-radius:10px;box-shadow:none}.action-message{font-size:13px;font-weight:500;line-height:1.5;padding:12px 16px;border-radius:12px}.action-message--success{background:var(--accent-wash);color:#0a6b4f}.action-message--info{background:var(--status-active-bg);color:var(--status-active-fg)}.action-message--error{background:#fee2e2;color:#991b1b}.reg-row-message{padding:10px 22px 14px;border-bottom:1px solid var(--border)}.detail-action-message{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.button-loading{display:inline-flex;align-items:center;gap:7px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14142559;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal-panel{background:var(--paper);border-radius:22px;box-shadow:0 20px 60px #14142540;width:100%;max-width:560px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:18px;font-weight:700;color:var(--ink)}.modal-close{width:32px;height:32px;padding:0;border:none;background:transparent;box-shadow:none;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;border-radius:9px;cursor:pointer}.modal-close:hover:not(:disabled){background:#1414250d}.modal-body{padding:16px 24px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border)}.modal-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--fg-muted);font-size:13.5px}.alt-option{border:1px solid var(--border);border-radius:14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.alt-option:last-child{margin-bottom:0}.alt-option:hover{border-color:var(--accent-border)}.alt-option--selected,.alt-option--selected:hover{border-color:var(--accent-ink);background:var(--accent-wash)}.alt-option-summary{display:flex;align-items:center;gap:12px;padding:14px 16px}.alt-option-radio{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent-ink);cursor:pointer}.alt-option-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.alt-option-title-main{display:flex;align-items:center;gap:8px;min-width:0}.alt-option-address{font-size:11.5px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alt-option-distance{color:var(--fg-faint)}.alt-option-hotel{min-width:0;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600}.cmp-badge--matching{background:#eef0f3;color:var(--fg-muted)}.cmp-badge--upgraded{background:var(--accent-wash);color:var(--accent-ink)}.alt-field-right{display:flex;align-items:center;gap:8px}.alt-option-price{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink)}.alt-option-diff{font-family:var(--font-mono);font-size:12px;font-weight:600}.alt-option-diff--cheaper{color:var(--profit-positive)}.alt-option-diff--pricier{color:var(--profit-negative)}.alt-option-toggle{width:28px;height:28px;padding:0;border:none;background:transparent;box-shadow:none;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;flex-shrink:0}.alt-option-toggle:hover:not(:disabled){background:#1414250d}.alt-option-toggle svg{transition:transform .2s ease}.alt-option-toggle--expanded svg{transform:rotate(180deg)}.alt-option-details{padding:0 16px 14px 44px}.alt-field{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.alt-field-label{font-size:12.5px;color:var(--fg-muted)}.alt-field-value{font-size:12.5px;font-weight:500;color:var(--ink)}.alt-field-value--mono{font-family:var(--font-mono)}.rebook-summary-line{font-size:13.5px;line-height:1.5;color:var(--ink);margin:0 0 18px}.rebook-summary-total{font-family:var(--font-mono);font-weight:600}.summary-section{margin-bottom:16px}.summary-section:last-child{margin-bottom:0}.summary-section-title{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.summary-section-title--success{color:var(--profit-positive)}.summary-section-title--info{color:var(--fg-muted)}.summary-section-title--error{color:var(--profit-negative)}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:#f4f4f7;margin-bottom:6px}.summary-row:last-child{margin-bottom:0}.summary-row--success{background:var(--accent-wash)}.summary-row-label{font-size:13px;font-weight:500;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-row-ref{font-family:var(--font-mono);color:var(--fg-muted)}.summary-row-value{font-family:var(--font-mono);font-size:12.5px;font-weight:600}.summary-row-value--success{color:var(--profit-positive)}.summary-row-value--muted{color:var(--fg-muted)}.success-note{padding:.6rem .8rem;border-radius:12px;background:var(--accent-wash);color:#166534}.error-note{padding:.6rem .8rem;border-radius:12px;background:#fee2e2;color:#991b1b}.agency-note{color:var(--fg-muted);font-size:.85rem}.reg-page{padding:20px 12px}.reg-last-updated{font-size:12.5px;color:var(--fg-faint);margin:0 0 6px;display:flex;align-items:center;gap:6px}.reg-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.reg-header-actions{display:flex;gap:10px;flex-shrink:0}.reg-toolbar{display:flex;align-items:center;margin-bottom:18px;max-width:760px;background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;box-shadow:var(--soft-sm)}.reg-search{position:relative;flex:1;display:flex;align-items:center}.reg-search svg{position:absolute;left:16px;pointer-events:none}.reg-search input{width:100%;font-size:13.5px;padding:12px 14px 12px 42px;border:none;background:transparent;color:var(--ink);outline:none}.reg-toolbar-divider{width:1px;height:22px;background:var(--border);flex-shrink:0}.reg-select{font-size:13.5px;font-weight:500;padding:12px 16px;border:none;outline:none;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.reg-table-wrap{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80;overflow-x:auto}.reg-table{min-width:2180px}.reg-grid{display:grid;grid-template-columns:130px 104px 164px 148px 100px 100px 108px 116px 66px 116px 116px 120px 86px 96px 88px 122px 132px;gap:14px}.reg-header{padding:15px 22px;border-bottom:1px solid var(--border);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}.reg-header .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.reg-header .sortable--active{color:var(--accent-ink)}.reg-row{padding:14px 22px;border-bottom:1px solid var(--border);align-items:center;font-size:13px;color:var(--ink);cursor:pointer;transition:background .12s ease}.reg-row:hover{background:#ffffff8c}.cell-right{text-align:right}.cell-center{text-align:center}.cell-mono{font-family:var(--font-mono);font-size:12px}.cell-strong{font-weight:600;font-family:var(--font-mono);font-size:12.5px}.cell-hotel{font-weight:600}.cell-board{font-size:12px}.cell-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-muted{color:var(--fg-muted)}.cell-deadline-imminent{color:var(--profit-negative);font-weight:600}.cell-deadline-past{color:var(--status-expired-fg)}.cell-faint{color:var(--fg-faint);font-size:11.5px;line-height:1.35}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600}.reg-row-action{font-size:12px;font-weight:600;padding:7px 12px;border-radius:10px;white-space:nowrap;box-shadow:none}.reg-empty{padding:56px 32px;text-align:center;font-size:13.5px;color:var(--fg-muted)}.reg-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.reg-pagination-info{font-size:12.5px;color:var(--fg-muted)}.reg-pagination-controls{display:flex;align-items:center;gap:8px}.reg-page-text{font-size:12.5px;font-weight:600;color:var(--fg-muted);padding:0 4px}.reg-page-button{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:11px;border:none;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px #fff9;color:var(--ink)}.reg-page-button:hover:not(:disabled){background:#fff}.reg-page-button:disabled{opacity:.4;cursor:default;background:var(--glass-strong);color:var(--ink);box-shadow:inset 0 0 0 1px #fff9}.detail-page{padding:20px 12px}.detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--fg-muted);cursor:pointer;margin-bottom:18px;transition:color .15s ease}.detail-back:hover{color:var(--accent-ink)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.detail-header-actions{display:flex;gap:10px;flex-shrink:0}.detail-header h1{font-size:30px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 6px}.detail-header-address{font-size:13.5px;color:var(--fg-muted);margin:0 0 4px}.detail-header-sub{font-size:13.5px;color:var(--fg-muted);margin:0;font-family:var(--font-mono)}.detail-summary{display:flex;gap:14px;margin-bottom:16px}.summary-card{flex:1;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;box-shadow:var(--soft-sm),inset 0 0 0 1px #ffffff80;padding:18px 20px}.summary-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:8px}.summary-value{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--ink)}.summary-value-suffix{font-size:14px;font-weight:600}.detail-card{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80;margin-bottom:16px}.detail-card-head{padding:18px 24px;border-bottom:1px solid var(--border)}.detail-card-head h3{font-size:16px;font-weight:700;color:var(--ink);margin:0}.details-grid{padding:8px 24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.detail-field{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.detail-field-label{font-size:13px;color:var(--fg-muted)}.detail-field-value{font-size:13px;font-weight:500;color:var(--ink)}.detail-field-value--mono{font-family:var(--font-mono)}.detail-value-old{color:var(--fg-faint);text-decoration:line-through}.detail-value-new{color:var(--ink);font-weight:600}.history-row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--border)}.history-row--clickable{cursor:pointer;transition:background .12s ease}.history-row--clickable:hover{background:#ffffff8c}.history-row-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.history-chevron{display:flex;color:var(--fg-faint);transition:transform .2s ease}.history-chevron--expanded{transform:rotate(180deg)}.history-improvements{display:flex;flex-direction:column;gap:8px;padding:4px 24px 16px 158px;border-bottom:1px solid var(--border)}.history-improvement{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.history-improvement>span:first-child{color:var(--fg-muted)}.improve-badge{padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600}.improve-badge--yes{background:var(--accent-wash);color:var(--accent-ink)}.improve-badge--no{background:#eef0f3;color:var(--fg-muted)}.change-values{display:inline-flex;align-items:center;gap:7px;font-size:12px}.change-from{color:var(--fg-faint);text-decoration:line-through}.change-arrow{color:var(--accent-ink)}.change-to{color:var(--ink);font-weight:600}.change-unchanged{font-size:12px;color:var(--fg-muted)}.prev-list{padding:14px 24px;display:flex;flex-direction:column;gap:10px}.prev-booking{border:1px solid var(--border);border-radius:14px;overflow:hidden}.prev-booking-summary{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;transition:background .12s ease}.prev-booking-summary:hover{background:#ffffff8c}.prev-booking-ref{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-muted);flex-shrink:0}.prev-booking-hotel{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prev-booking-price{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--ink)}.prev-booking-details{padding:4px 16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;border-top:1px solid var(--border)}.history-date{font-size:12.5px;font-family:var(--font-mono);color:var(--fg-muted)}.history-label{font-size:13px;color:var(--ink)}.history-saved{font-size:12.5px;font-family:var(--font-mono);font-weight:600;text-align:right;color:var(--profit-positive)}.history-saved--negative{color:var(--profit-negative)}.history-row--total{border-top:1px solid var(--border);border-bottom:none}.history-row--total .history-label{font-weight:700}.history-row--total .history-saved{font-size:13.5px;font-weight:700}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.dash-header h1{font-size:32px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 6px}.dash-subtitle{font-size:14.5px;line-height:1.55;color:var(--fg-muted);margin:0}.agency-chip{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;box-shadow:var(--soft-sm)}.agency-chip-icon{width:38px;height:38px;border-radius:11px;background:var(--dark-button-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.agency-chip-text{display:flex;flex-direction:column;line-height:1.25}.agency-chip-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.agency-chip-name{font-size:15px;font-weight:700;color:var(--ink)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.kpi-card{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80;padding:20px 22px}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.kpi-label{font-size:12.5px;font-weight:600;color:var(--fg-muted)}.kpi-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;background:var(--accent-wash);color:var(--profit-positive);font-size:11.5px;font-weight:700;font-family:var(--font-mono)}.kpi-value{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-family:var(--font-mono);margin-bottom:4px}.kpi-sub{font-size:12.5px;color:var(--fg-muted)}.kpi-sub strong{font-weight:600;color:var(--fg)}.dash-mid-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}.dash-panel{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80}.dash-panel-head{padding:18px 22px;border-bottom:1px solid var(--border)}.dash-panel-head h3{font-size:16px;font-weight:700;color:var(--ink);margin:0}.chart-card{padding:22px 24px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.chart-title{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 2px}.chart-sub{font-size:12px;color:var(--fg-muted);margin:0}.chart-toggle{display:inline-flex;gap:3px;background:var(--glass-strong);border-radius:11px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff80}.chart-toggle-option{padding:7px 13px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;color:var(--fg-muted);background:transparent;border:none;box-shadow:none;transition:background .15s ease}.chart-toggle-option:hover:not(:disabled){background:transparent}.chart-toggle-option--active{background:var(--paper);color:var(--ink)}.chart-bars{display:flex;align-items:flex-end;gap:12px;height:180px;padding-top:8px}.chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.chart-bar-value{font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--fg-muted)}.chart-bar{width:100%;max-width:38px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#04d8b8,#04b8a0);min-height:4px;transition:height .3s ease}.chart-bar-label{font-size:11px;color:var(--fg-faint)}.deadline-row{display:flex;align-items:center;gap:12px;padding:10px 22px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s ease}.deadline-row:hover{background:#ffffff8c}.deadline-badge{width:44px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 0;border-radius:10px}.deadline-badge--urgent{background:#e11d741f;color:var(--profit-negative)}.deadline-badge--soon{background:var(--accent-wash);color:var(--accent-ink)}.deadline-days{font-size:15px;font-weight:700;font-family:var(--font-mono);line-height:1}.deadline-days-unit{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.deadline-info{flex:1;min-width:0}.deadline-hotel{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-sub{font-size:12px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-row{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--border)}.activity-row--clickable{cursor:pointer;transition:background .12s ease}.activity-row--clickable:hover{background:#ffffff8c}.activity-icon{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:flex;align-items:center;justify-content:center}.activity-icon-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.activity-icon--positive{background:var(--accent-wash);color:var(--profit-positive)}.activity-icon--info{background:var(--status-active-bg);color:var(--status-active-fg)}.activity-icon--warning{background:#e11d741f;color:var(--profit-negative)}.activity-title{flex:1;min-width:0;font-size:13.5px;color:var(--ink)}.activity-time{font-size:12px;color:var(--fg-faint);white-space:nowrap}.activity-empty{padding:28px 22px;text-align:center;font-size:13px;color:var(--fg-muted)}.wl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.wl-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.wl-header-refresh{width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:13px;background:var(--paper);color:var(--fg-muted);box-shadow:var(--soft-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wl-header-refresh:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-wash);color:var(--accent-ink)}.wl-header-refresh:disabled{opacity:.6;cursor:not-allowed}.wl-refresh-all-message{margin:0 0 14px}.wl-no-match{padding:40px 20px;text-align:center;color:var(--fg-muted);font-size:13.5px}.wl-card{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80;overflow:hidden}.wl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 32px;text-align:center;min-height:300px}.wl-empty-icon{width:58px;height:58px;border-radius:18px;background:var(--accent-wash);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);margin-bottom:18px}.wl-empty-title{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 7px}.wl-empty-text{font-size:13.5px;line-height:1.55;color:var(--fg-muted);margin:0 0 20px;max-width:360px}.wl-note{font-size:11px;font-family:var(--font-mono);color:var(--fg-faint);margin:12px 4px 0}.wl-refundable-note{background:var(--accent-wash);color:var(--accent-ink);border-radius:12px;padding:10px 14px;font-size:12.5px;line-height:1.5;margin:0 0 18px}.wl-refundable-note strong{font-weight:700}.wl-form{display:flex;flex-direction:column;gap:16px}.wl-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--fg);flex:1}.wl-field input,.wl-field select{font-size:13.5px;font-weight:400;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink)}.wl-field-row{display:flex;gap:12px}.wl-rooms,.wl-price{border:1px solid var(--border);border-radius:14px;padding:14px;margin:0;display:flex;flex-direction:column;gap:12px}.wl-rooms legend,.wl-price legend{padding:0 6px;font-size:12px;font-weight:600;color:var(--fg)}.wl-room{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#fbfaff}.wl-room-head{display:flex;align-items:center;justify-content:space-between}.wl-room-title{font-size:12.5px;font-weight:600;color:var(--ink)}.wl-room-remove{font-size:11.5px;font-weight:600;padding:3px 8px;border:none;background:transparent;box-shadow:none;color:var(--profit-negative);cursor:pointer}.wl-room-remove:hover:not(:disabled){background:transparent;color:#b3125c}.wl-guest{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--paper);display:flex;flex-direction:column;gap:8px}.wl-guest-title{font-size:11.5px;font-weight:600;color:var(--fg-muted)}.wl-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wl-room-counters{display:flex;gap:22px}.wl-stepper{display:flex;flex-direction:column;gap:6px}.wl-stepper-label{font-size:11.5px;font-weight:600;color:var(--fg-muted)}.wl-stepper-controls{display:flex;align-items:center;gap:12px}.wl-stepper-button{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1;box-shadow:none;cursor:pointer}.wl-stepper-button:hover:not(:disabled){background:var(--paper);color:var(--accent-ink)}.wl-stepper-button:disabled{opacity:.4;cursor:not-allowed}.wl-stepper-value{min-width:18px;text-align:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.wl-child-ages{display:flex;flex-wrap:wrap;gap:10px}.wl-child-age{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:var(--fg-muted)}.wl-child-age select{font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:var(--paper);color:var(--ink)}.wl-fieldset-hint{margin:-4px 0 2px;font-size:11.5px;color:var(--fg-muted)}.wl-add-room{align-self:flex-start;font-size:12px;font-weight:600;padding:8px 12px;border:1px dashed var(--accent-border);border-radius:10px;background:transparent;color:var(--accent-ink);box-shadow:none;cursor:pointer}.wl-add-room:hover:not(:disabled){background:transparent;color:var(--accent-deep)}.wl-optional-heading{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-faint);margin:2px 0 -4px}.wl-form-errors{margin:0;padding:12px 14px 12px 30px;border-radius:12px;background:#e11d7412;color:var(--profit-negative);font-size:12.5px;line-height:1.6}.wl-table-wrap{overflow-x:auto}.wl-table{min-width:1860px;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80;overflow:hidden}.wl-grid{display:grid;grid-template-columns:175px 200px 195px 120px 150px 130px 110px 150px 150px 150px 140px;gap:14px;align-items:center;padding:16px 20px}.wl-grid>span{white-space:nowrap}.wl-thead{border-bottom:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}.wl-thead>span{white-space:normal;line-height:1.25}.wl-thead .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.wl-thead .sortable--active{color:var(--accent-ink)}.wl-trow{border-bottom:1px solid var(--border);font-size:13px}.wl-trow:last-child{border-bottom:none}.wl-rate-in-budget{color:var(--accent-ink)}.wl-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600;text-transform:capitalize}.wl-status--booked{background:var(--accent-wash);color:var(--accent-ink)}.wl-status--active{background:var(--status-active-bg);color:var(--status-active-fg)}.wl-status--expired{background:var(--status-expired-bg);color:var(--status-expired-fg)}.wl-refresh-stale{color:var(--profit-negative);font-weight:600}.wl-row-actions{display:flex;justify-content:flex-end;gap:6px}.wl-icon-button[data-tooltip],.wl-header-refresh[data-tooltip]{position:relative}.wl-icon-button[data-tooltip]:hover:after,.wl-header-refresh[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);right:0;z-index:30;padding:5px 8px;border-radius:7px;background:var(--ink);color:#fff;font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;box-shadow:var(--soft-sm);pointer-events:none}.wl-icon-button{width:26px;height:26px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--fg-muted);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;cursor:pointer}.wl-icon-button:hover:not(:disabled){background:#1414250d;color:var(--accent-ink)}.wl-icon-button:disabled{opacity:.5;cursor:not-allowed}.wl-icon-button--danger:hover:not(:disabled){background:#e11d7414;color:var(--profit-negative)}.wl-row-message{padding:0 20px 12px}.wl-autocomplete{display:flex;flex-direction:column}.wl-autocomplete input{font-size:13.5px;font-weight:400;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink)}.wl-suggestions{list-style:none;margin:6px 0 0;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--paper);box-shadow:var(--soft-sm);max-height:220px;overflow-y:auto}.wl-suggestion{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border:none;border-radius:9px;background:transparent;box-shadow:none;cursor:pointer}.wl-suggestion:hover:not(:disabled){background:#1414250d}.wl-suggestion-name{font-size:13px;font-weight:600;color:var(--ink)}.wl-suggestion-place{font-size:11.5px;color:var(--fg-muted)}.wl-datepicker{display:flex;flex-direction:column}.wl-datepicker-trigger{text-align:left;font-size:13.5px;font-weight:400;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink);box-shadow:none;cursor:pointer}.wl-datepicker-trigger--empty{color:var(--fg-faint)}.wl-datepicker-trigger:hover:not(:disabled){background:#f4f2fb;border-color:var(--accent-border)}.wl-calendar{margin-top:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--paper);box-shadow:var(--soft-sm);width:300px;max-width:100%}.wl-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wl-calendar-month{font-size:13.5px;font-weight:600;color:var(--ink)}.wl-calendar-nav{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--fg-muted);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;cursor:pointer}.wl-calendar-nav:hover:not(:disabled){background:var(--paper);color:var(--accent-ink)}.wl-calendar-weekdays,.wl-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.wl-calendar-weekdays{margin-bottom:6px}.wl-calendar-weekdays span{text-align:center;font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-faint)}.wl-day{aspect-ratio:1 / 1;padding:0;border:none;border-radius:9px;background:transparent;box-shadow:none;color:var(--ink);font-size:12.5px;cursor:pointer}.wl-day--blank{cursor:default}.wl-day:hover:not(:disabled):not(.wl-day--blank){background:var(--accent-wash)}.wl-day:disabled{color:var(--fg-faint);opacity:.5;cursor:not-allowed}.wl-day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--accent-border)}.wl-day--in-range{background:var(--accent-wash);border-radius:0}.wl-day--start,.wl-day--end{background:var(--accent-ink);color:#fff;font-weight:600}.wl-day--start{border-radius:9px 0 0 9px}.wl-day--end{border-radius:0 9px 9px 0}.wl-day--start:not(.wl-day--in-range){border-radius:9px}.settings-tabs{align-self:flex-start;display:inline-flex;gap:4px;background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;box-shadow:var(--soft-sm),inset 0 0 0 1px #ffffff8c;padding:5px;margin-bottom:22px}.settings-tab{padding:9px 16px;border-radius:10px;cursor:pointer;font-size:13px;white-space:nowrap;font-weight:500;color:var(--fg-muted);background:transparent;border:none;box-shadow:none;transition:background .15s ease}.settings-tab:hover:not(:disabled){background:transparent}.settings-tab--active,.settings-tab--active:hover{background:var(--paper);color:var(--ink);font-weight:600}.settings-body{max-width:780px;display:flex;flex-direction:column;gap:16px}.settings-banner{display:flex;gap:11px;align-items:flex-start;padding:14px 16px;background:var(--accent-wash);border-radius:16px}.settings-banner svg{flex-shrink:0;margin-top:1px}.settings-banner p{font-size:12.5px;line-height:1.5;color:var(--accent-deep);margin:0}.settings-card{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;box-shadow:var(--soft),inset 0 0 0 1px #ffffff80}.settings-card-head{padding:22px 26px;border-bottom:1px solid var(--border)}.settings-card-head h3{font-size:19px;font-weight:700;color:var(--ink);margin:0 0 4px}.settings-card-head p{font-size:13px;color:var(--fg-muted);margin:0}.settings-form{padding:26px;display:flex;flex-direction:column;gap:17px}.field-row{display:flex;gap:14px}.field{flex:1;display:flex;flex-direction:column;gap:7px}.field-label{font-size:12px;font-weight:600;color:var(--fg)}.field-input{font-size:13.5px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink);width:100%}.field-input--mono{font-family:var(--font-mono);font-size:13px}.field-input:read-only{background:#f2f1f6;color:var(--fg-muted)}.settings-save{padding-top:4px}.settings-account-body{padding:8px 26px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none}.settings-row-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}.settings-row-desc{font-size:12.5px;color:var(--fg-muted)}.settings-account-select{font-size:13.5px;font-weight:500;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink);min-width:120px}.threshold-input{font-family:var(--font-mono);font-size:13.5px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfaff;color:var(--ink);width:110px;text-align:right}.toggle{width:46px;height:27px;border-radius:14px;flex-shrink:0;cursor:pointer;padding:3px;border:none;box-shadow:none;background:#d4d2df;transition:background .15s ease}.toggle--on{background:var(--accent-ink)}.toggle-knob{width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.toggle--on .toggle-knob{transform:translate(19px)}.auth-gate{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.auth-card{display:flex;flex-direction:column;width:100%;max-width:340px;padding:32px;background:var(--paper);border:1px solid var(--border);border-radius:16px;box-shadow:var(--soft)}.auth-title{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--ink)}.auth-subtitle{margin:0 0 20px;font-size:14px;color:var(--fg-muted)}.auth-input{width:100%;padding:11px 13px;font-family:var(--font-sans);font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-wash)}.auth-error{margin:10px 0 0;font-size:13px;color:var(--profit-negative)}.auth-button{margin-top:18px;padding:11px 13px;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink);background:var(--accent);border:none;border-radius:10px;cursor:pointer;transition:background .15s ease}.auth-button:hover{background:var(--accent-hover)}
