@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-base:#eef2f7;--bg-surface:#fff;--bg-surface-elevated:#f8fafc;--bg-transparent:#ffffffe6;--primary:#2563eb;--primary-hover:#1d4ed8;--secondary:#0ea5e9;--accent:#7c3aed;--gradient-primary:linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);--gradient-accent:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--success:#10b981;--success-bg:#10b98117;--warning:#f59e0b;--warning-bg:#f59e0b17;--danger:#ef4444;--danger-bg:#ef444417;--info:#2563eb;--border:#0f172a17;--border-light:#0f172a29;--shadow-sm:0 1px 3px #0000000f;--shadow:0 2px 8px #00000012, 0 1px 3px #0000000a;--shadow-lg:0 8px 28px #00000012, 0 2px 8px #0000000a;--shadow-glow:0 0 20px #2563eb2e;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--sidebar-width:260px;--header-height:68px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow-x:hidden}.glass-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);box-shadow:0 4px 12px #2563eb47}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}.btn-outline:hover{background:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--primary)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-surface-elevated)}.btn-sm{gap:6px;padding:7px 14px;font-size:.82rem}.text-gradient{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-secondary)}.input-field{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);padding:10px 14px;font-family:inherit;font-size:.95rem}.input-field:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #2563eb1f}.input-field::placeholder{color:var(--text-tertiary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.35s ease-out forwards fadeIn}.app-container{width:100vw;min-height:100vh;display:flex;overflow:hidden}.main-content{margin-left:var(--sidebar-width);transition:margin var(--transition);flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=1024px){.main-content{margin-left:0}}.page-wrapper{flex:1;padding:1.5rem 2rem;overflow:hidden auto}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid #10b98133}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid #f59e0b33}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ef444433}.badge-info{color:var(--primary);background:#2563eb14;border:1px solid #2563eb2e}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);z-index:1001;height:100vh;box-shadow:var(--shadow);flex-direction:column;padding:1.25rem .875rem;transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);z-index:1000;opacity:0;pointer-events:none;background:#0f172a73;transition:opacity .25s;display:none;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto;display:block}.sidebar-close-btn{border:1px solid var(--border);background:var(--bg-surface-elevated);width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar-close-btn:hover{border-color:var(--primary);color:var(--primary)}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:1rem;padding:0 .5rem 1.75rem;display:flex}.logo-icon{background:#2563eb1a;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.logo-text{color:var(--text-primary);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-list{flex-direction:column;gap:2px;list-style:none;display:flex}.nav-divider{background:var(--border);height:1px;margin:.75rem .5rem}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:10px;padding:9px 12px;font-size:.9rem;font-weight:500;display:flex}.nav-link:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.nav-item.active .nav-link{color:var(--primary);background:#2563eb14;font-weight:600}.text-danger{color:var(--danger)!important}.text-danger:hover{background:var(--danger-bg)!important}.location-filter{margin-bottom:.25rem;padding:0 .5rem}.location-filter-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:6px;margin-bottom:.7rem;font-size:.7rem;font-weight:700;display:flex}.location-select-group{flex-direction:column;gap:4px;margin-bottom:.55rem;display:flex}.location-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.location-select-wrapper{align-items:center;display:flex;position:relative}.location-select{appearance:none;background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);outline:none;padding:8px 30px 8px 10px;font-family:inherit;font-size:.875rem;font-weight:500}.location-select:hover{border-color:var(--border-light)}.location-select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.location-select option{color:var(--text-primary);background:#fff}.select-chevron{color:var(--text-tertiary);pointer-events:none;position:absolute;right:9px}.hotel-input{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:8px 10px;font-family:inherit;font-size:.85rem}.hotel-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.hotel-matched-btn{border-radius:var(--radius-md);color:#b45309;cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:#f59e0b1a;border:1px solid #f59e0b4d;align-items:center;gap:6px;margin-top:6px;padding:6px 9px;font-size:.75rem;font-weight:600;display:flex}.hotel-matched-btn:hover{background:#f59e0b26}.hotel-match-btn{border-radius:var(--radius-md);color:var(--primary);cursor:pointer;width:100%;transition:all var(--transition-fast);background:#2563eb14;border:1px dashed #2563eb59;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:7px 9px;font-size:.75rem;font-weight:600;display:flex}.hotel-match-btn:hover{background:#2563eb26;border-style:solid}.matched-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:7px;height:7px}.matched-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-footer{margin-top:auto;padding-top:1.25rem}.pro-badge{border-radius:var(--radius-md);background:linear-gradient(135deg,#2563eb0f,#7c3aed0f);border:1px solid #2563eb26;padding:.875rem;position:relative;overflow:hidden}.pro-badge-bg{background:var(--accent);filter:blur(28px);opacity:.3;width:60px;height:60px;position:absolute;top:-15px;right:-15px}.pro-title{color:var(--primary);margin-bottom:3px;font-size:.875rem;font-weight:700}.pro-desc{color:var(--text-secondary);font-size:.78rem}@media (width<=1024px){.sidebar{width:280px;transform:translate(-100%);box-shadow:0 24px 48px -12px #0f172a40}.sidebar.open{transform:translate(0)}.sidebar-close-btn{display:inline-flex}.sidebar-header{padding-right:0}}.topbar{height:var(--header-height);min-height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:90;width:100%;box-shadow:var(--shadow-sm);flex-shrink:0;position:sticky;top:0}.topbar-content{justify-content:space-between;align-items:center;gap:.75rem;height:100%;padding:0 2rem;display:flex}.topbar-left{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-menu-btn{border:1px solid var(--border);background:var(--bg-surface-elevated);width:40px;height:40px;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.topbar-menu-btn:hover{border-color:var(--primary);color:var(--primary);background:#2563eb0d}.topbar-menu-btn:active{transform:scale(.96)}.date-label-short{display:none}.topbar-back-btn{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-self:flex-start;align-items:center;gap:4px;margin-bottom:4px;padding:3px 9px 3px 6px;font-family:inherit;font-size:.72rem;font-weight:500;display:inline-flex}.topbar-back-btn:hover{color:var(--primary);border-color:var(--primary);background:#2563eb0d}.panel-link-btn{color:#fff;border-radius:var(--radius-full);transition:opacity var(--transition-fast);background:linear-gradient(135deg,#5b5bd6 0%,#7c3aed 100%);align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 6px #5b5bd64d}.panel-link-btn:hover{opacity:.9}.page-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.page-subtitle{color:var(--text-tertiary);margin:0;font-size:.78rem}.topbar-right{align-items:center;gap:1.25rem;display:flex}.date-picker-btn{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:7px;padding:6px 14px;font-family:inherit;font-size:.83rem;display:flex}.icon-btn{width:36px;height:36px;color:var(--text-secondary);background:var(--bg-surface-elevated);border:1px solid var(--border);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--primary);border-color:var(--primary);background:#2563eb0d}.relative{position:relative}.notification-dot{background:var(--danger);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;position:absolute;top:8px;right:8px}.user-profile{cursor:pointer;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface-elevated);transition:all var(--transition-fast);align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.user-profile:hover{border-color:var(--primary);background:#2563eb0d}.avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 2px 6px #2563eb4d}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:.83rem;font-weight:600;line-height:1.2}.user-role{color:var(--text-tertiary);font-size:.72rem}@media (width<=1024px){.topbar-content{gap:.625rem;padding:0 1rem}.topbar-menu-btn{display:inline-flex}.topbar-right{gap:.5rem}.page-title{font-size:1rem}.page-subtitle{font-size:.72rem}}@media (width<=640px){.topbar-content{padding:0 .75rem}.topbar-back-btn span{display:none}.topbar-back-btn{justify-content:center;width:28px;height:28px;margin-bottom:2px;padding:0}.panel-link-label{display:none}.panel-link-btn{padding:8px}.date-label{display:none}.date-label-short{display:inline}.date-picker-btn{padding:6px 10px;font-size:.78rem}.page-subtitle{display:none}}@media (width<=420px){.date-picker-btn{display:none}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:14px;flex-direction:column;width:520px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);animation:.2s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem 1rem;display:flex}.modal-header h3{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:1.05rem;font-weight:700;display:flex}.modal-header p{color:var(--text-secondary);font-size:.84rem}.modal-close{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;padding:4px}.modal-close:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.modal-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.candidate-list{flex-direction:column;gap:6px;display:flex}.candidate-item{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;transition:all .12s;display:flex}.candidate-item:hover{border-color:var(--primary);background:#2563eb08}.candidate-item.selected{border-color:var(--primary);background:#2563eb0f}.candidate-item input[type=radio]{accent-color:var(--primary);flex-shrink:0}.candidate-main{flex:1;min-width:0}.candidate-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.candidate-meta{color:var(--text-secondary);margin-top:2px;font-size:.76rem}.score-badge{border-radius:var(--radius-full);flex-shrink:0;padding:3px 9px;font-size:.75rem;font-weight:700}.score-badge.high{color:#059669;background:#10b9811f}.score-badge.mid{color:#b45309;background:#f59e0b1f}.score-badge.low{color:var(--text-secondary);background:#94a3b826}.no-matches{text-align:center;color:var(--text-secondary);padding:2rem 1rem}.no-matches p{margin-bottom:6px}.no-matches .hint{color:var(--text-tertiary);font-size:.82rem}.modal-footer{border-top:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;gap:10px;padding:1rem 1.5rem;display:flex}.modal-footer .btn{align-items:center;gap:6px;display:inline-flex}.dashboard-page,.dashboard-content{flex-direction:column;gap:.6rem;display:flex}.search-panel{background:var(--bg-surface);padding:.75rem 1.25rem}.search-form{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.search-location-badge{white-space:nowrap;color:var(--text-secondary);align-items:center;gap:7px;padding:0 1.25rem 0 .5rem;font-size:.88rem;display:flex}.search-location-badge strong{color:var(--primary);font-weight:600}.search-group{flex:1;align-items:center;gap:10px;min-width:160px;padding:.5rem 1rem;display:flex}.search-icon{color:var(--primary);background:#2563eb14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.search-input-wrapper{flex-direction:column;flex:1;display:flex}.search-input-wrapper label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px;font-size:.7rem;font-weight:700}.search-input-wrapper select,.search-input-wrapper input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.9rem;font-weight:500}.search-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;border-radius:6px;width:20px;height:20px;padding:4px;transition:all .15s}.search-date::-webkit-calendar-picker-indicator:hover{opacity:1;background:#2563eb1a}.search-group-date{cursor:pointer;border-radius:var(--radius-md);transition:background .12s}.search-group-date:hover{background:#2563eb08}.search-group-date input[type=date]{cursor:pointer}.search-input{width:100%}.search-divider{background:var(--border);flex-shrink:0;width:1px;height:36px;margin:0 .5rem}.search-btn{border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;margin-left:1.25rem;padding:10px 24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.stat-card{flex-direction:column;gap:10px;padding:1.375rem;display:flex}.stat-header{justify-content:space-between;align-items:flex-start;display:flex}.stat-title{color:var(--text-secondary);font-size:.83rem;font-weight:600}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-icon.warning{background:var(--warning-bg);color:var(--warning)}.stat-icon.success{background:var(--success-bg);color:var(--success)}.stat-icon.info{color:var(--primary);background:#2563eb14}.stat-icon.mine{color:#b45309;background:#f59e0b1f}.stat-icon.neutral{color:var(--text-secondary);background:#64748b1a}.stat-card-mine{background:linear-gradient(135deg,#f59e0b0a,#f59e0b14);border:1px solid #f59e0b40;position:relative;overflow:hidden}.stat-card-mine:before{content:"";background:linear-gradient(90deg,#f59e0b,#eab308);height:3px;position:absolute;top:0;left:0;right:0}.mine-meta{color:var(--text-secondary);border-top:1px dashed #f59e0b40;margin-top:8px;padding-top:8px;font-size:.72rem}.mine-meta strong{color:#b45309;font-weight:700}.rate-table tr.my-hotel-row td{border-top:2px solid #f59e0b;border-bottom:2px solid #f59e0b;font-weight:600;background:#f59e0b14!important}.rate-table tr.my-hotel-row:hover td{background:#f59e0b1f!important}.rate-table tr.my-hotel-row .rank-cell{color:#b45309}.rate-table tr.my-hotel-row .ota-name{color:#78350f;font-weight:700}.badge-mine{border-radius:var(--radius-full);color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#f59e0b;margin-left:8px;padding:2px 7px;font-size:.62rem;font-weight:700;display:inline-block}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1}.stat-unit{color:var(--text-tertiary);margin-left:3px;font-size:1.1rem}.stat-trend{align-items:center;gap:5px;margin-top:auto;font-size:.78rem;font-weight:500;display:flex}.stat-trend.negative{color:var(--danger)}.stat-trend.positive{color:var(--success)}.stat-trend.neutral{color:var(--text-secondary)}.grid-panel{padding:1.375rem}.panel-header{margin-bottom:1.25rem}.panel-title{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px;font-size:1.05rem;font-weight:700;display:flex}.panel-subtitle{color:var(--text-secondary);font-size:.8rem}.panel-badge{color:var(--text-tertiary);background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-full);vertical-align:middle;padding:2px 9px;font-size:.72rem;font-weight:500;display:inline-block}.source-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.source-ets{color:#dc2626;background:#ef444414}.source-otelz{color:#ea580c;background:#f9731614}.source-jolly{color:#1d4ed8;background:#2563eb14}.source-tatil{color:#059669;background:#10b98114}.source-trivago{color:#b45309;background:#f59e0b1a}.table-responsive{border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto}.rate-table{border-collapse:collapse;text-align:left;width:100%}.rate-table th{background:var(--bg-surface-elevated);color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;font-size:.78rem;font-weight:700}.rate-table td{border-bottom:1px solid #0f172a0d;padding:11px 14px;font-size:.9rem}.rate-table tr:last-child td{border-bottom:none}.rate-table tr:hover td{background:#2563eb06}.rank-th{text-align:center;width:38px}.rank-cell{text-align:center;width:38px;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.th-sub{color:var(--primary);opacity:.7;letter-spacing:0;text-transform:none;margin-top:2px;font-size:.62rem;font-weight:500}.avg-th{color:var(--primary)!important;background:#2563eb0f!important}.avg-col{background:#2563eb08}.avg-col .price-val{color:var(--primary);font-weight:700}.ota-cell{align-items:center;gap:10px;display:flex}.ota-color{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.ota-name{color:var(--text-primary);font-weight:500}.price-val{color:var(--text-primary);font-weight:600}.price-success td,td.price-success,td.price-success .price-val{color:var(--success)}td.price-danger .price-val{color:var(--danger)}.live-price-cell{text-align:right}.live-price-val{color:var(--text-primary);font-size:.92rem;font-weight:600}.live-price-low .live-price-val{color:var(--success)}.live-price-high .live-price-val{color:var(--danger)}.best-price-cell .live-price-val{color:var(--primary);font-weight:700}.chart-panel{flex-direction:column;height:440px;padding:1.375rem;display:flex}.chart-container{flex:1;width:100%;min-height:0;overflow:auto hidden}.chart-scroll{height:100%}.panel-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;display:flex}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4.5rem 2rem;display:flex}.empty-icon{width:72px;height:72px;color:var(--primary);background:#2563eb12;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.empty-icon--warn{background:var(--warning-bg);color:var(--warning)}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:420px;font-size:.88rem;line-height:1.6}.loading-panel{text-align:center;flex-direction:column;align-items:center;padding:3rem 2rem 2.5rem;display:flex;position:relative;overflow:hidden}.loading-orb{justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:1.5rem;display:flex;position:relative}.orb-ring{border:2px solid #0000;border-top-color:var(--primary);border-right-color:#2563eb66;border-radius:50%;position:absolute;inset:0}.orb-ring-1{animation:1.6s linear infinite orbSpin}.orb-ring-2{border-top-color:#10b981;border-right-color:#10b98166;animation:2.2s linear infinite reverse orbSpin;inset:12px}.orb-ring-3{border-top-color:#f59e0b;border-right-color:#f59e0b66;animation:2.8s linear infinite orbSpin;inset:24px}.orb-center{background:linear-gradient(135deg, var(--primary), #7c3aed);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;animation:2s ease-in-out infinite orbPulse;display:flex;box-shadow:0 6px 20px #2563eb59}@keyframes orbSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbPulse{0%,to{transform:scale(1);box-shadow:0 6px 20px #2563eb59}50%{transform:scale(1.08);box-shadow:0 8px 28px #2563eb8c}}.loading-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.25rem;font-weight:700}.loading-sub{color:var(--text-secondary);margin-bottom:1.75rem;font-size:.88rem}.loading-sources{flex-direction:column;gap:10px;width:100%;max-width:380px;margin-bottom:1.5rem;display:flex}.loading-source{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 14px;transition:all .3s;display:flex}.loading-source.done{background:var(--success-bg);border-color:#10b98140;animation:.4s ease-out sourceCheckIn}@keyframes sourceCheckIn{0%{opacity:.6;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.loading-source-status{color:var(--success);align-items:center;gap:5px;font-size:.8rem;font-weight:600;display:flex}.loading-source-status.pending-text{color:var(--text-tertiary)}.source-status-list{flex-direction:column;gap:.5rem;width:100%;max-width:340px;margin:.75rem 0 1rem;display:flex}.source-status-item{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .75rem;font-size:.875rem;transition:background .2s,border-color .2s;display:flex}.source-status-item.done{background:#10b9810f;border-color:#10b981}.source-status-item.empty{border-color:var(--border);background:var(--bg-surface-elevated);opacity:.65}.source-status-item.pending{opacity:.7}.status-icon{flex-shrink:0}.done-icon{color:#10b981}.empty-icon{color:var(--text-tertiary)}.source-status-name{color:var(--text-primary);flex:1;font-weight:500}.source-status-hidden{filter:blur(4px);-webkit-user-select:none;user-select:none;letter-spacing:-1px;color:var(--text-tertiary)}.source-status-result{color:var(--text-secondary);white-space:nowrap;font-size:.8rem;font-weight:600}.source-status-item.done .source-status-result{color:#10b981}.loading-total{background:var(--bg-surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;max-width:380px;margin-bottom:1.5rem;padding:14px 18px;display:flex}.loading-total-text{color:var(--success);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.loading-total-text strong{font-size:1.25rem;font-weight:700}.loading-total-text.pending-text{color:var(--text-tertiary);font-weight:500}.loading-progress{background:var(--bg-surface-elevated);border-radius:var(--radius-full);width:100%;max-width:380px;height:6px;position:relative;overflow:hidden}.loading-progress:before{content:"";background:linear-gradient(90deg,#0000,#2563eb26,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}.loading-progress-bar{background:linear-gradient(90deg, var(--primary), #7c3aed);border-radius:var(--radius-full);height:100%;transition:width .5s}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.spinner{border:3px solid #2563eb26;border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;margin-bottom:1.25rem;animation:.9s linear infinite spin}.loading-state h3{color:var(--text-primary);margin-bottom:.4rem;font-size:1.15rem}.loading-state p{color:var(--text-secondary);font-size:.88rem}.loader{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.8s linear infinite spin}.live-banner{background:var(--success-bg);border-radius:var(--radius-md);color:var(--success);border:1px solid #10b98133;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;font-size:.82rem;font-weight:600;display:flex}.live-source-chip{border-radius:var(--radius-full);color:var(--text-secondary);background:#fff9;border:1px solid #10b98133;align-items:center;gap:5px;padding:2px 9px 2px 4px;font-size:.75rem;font-weight:500;display:inline-flex}.live-source-chip.done{color:var(--text-primary)}.live-source-chip.pending{opacity:.75}.spin-icon{flex-shrink:0;animation:1s linear infinite spin}.rate-cards{display:none}.rate-card{background:var(--bg-surface);border-bottom:1px solid #0f172a0d;align-items:center;gap:12px;padding:14px;display:flex}.rate-card:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rate-card:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-bottom:none}.rate-card-rank{background:var(--bg-surface-elevated);border-radius:var(--radius-md);min-width:36px;height:36px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.rate-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.rate-card-name-row{align-items:center;gap:8px;min-width:0;display:flex}.rate-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.rate-card-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rate-card-meta{color:var(--text-tertiary);font-size:.7rem}.rate-card-price{text-align:right;flex-shrink:0}.rate-card-price .live-price-val{color:var(--primary);font-size:1rem;font-weight:700}.rate-card--mine{background:linear-gradient(135deg,#f59e0b0f,#f59e0b1a);border-left:3px solid #f59e0b}.rate-card--mine .rate-card-rank{color:#b45309;background:#f59e0b26}.rate-card--mine .rate-card-name{color:#78350f}.rate-card--mine .rate-card-price .live-price-val{color:#b45309}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}}@media (width<=768px){.search-panel{padding:.625rem .875rem}.search-divider{display:none}.search-form{flex-direction:column;align-items:stretch;gap:.5rem}.search-location-badge{background:var(--bg-surface-elevated);border-radius:var(--radius-md);width:100%;padding:.5rem .75rem;font-size:.85rem}.search-group{background:var(--bg-surface-elevated);border-radius:var(--radius-md);border-bottom:none;width:100%;min-width:0;padding:.625rem .75rem}.search-btn{width:100%;min-height:48px;margin-top:.25rem;margin-left:0;font-size:.95rem}.table-responsive{display:none}.rate-cards{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);display:block;overflow:hidden}.grid-panel{padding:1rem}.chart-panel{height:380px;padding:1rem}.panel-header{margin-bottom:.875rem}.panel-title{font-size:.95rem}.panel-subtitle{font-size:.74rem}.stat-card{padding:1rem}.stat-value{font-size:1.6rem}.stat-unit{font-size:.92rem}.live-banner{padding:7px 10px;font-size:.78rem}.empty-state{padding:3rem 1rem}.loading-panel{padding:2rem 1rem 1.5rem}.loading-orb{width:92px;height:92px;margin-bottom:1rem}.loading-title{font-size:1.05rem}}@media (width<=640px){.stats-grid{grid-template-columns:1fr;gap:.625rem}.page-wrapper{padding:1rem .875rem!important}.stat-value{font-size:1.5rem}.rate-card{gap:10px;padding:12px}.rate-card-rank{min-width:32px;height:32px;font-size:.75rem}.rate-card-name{font-size:.88rem}.rate-card-price .live-price-val{font-size:.95rem}}.src-th{text-align:right;white-space:nowrap;min-width:88px}.src-price-cell{text-align:right;white-space:nowrap}.src-price-cell .price-val{font-size:.875rem}.no-price{color:var(--text-tertiary);font-size:.875rem}.rate-card-sources{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.src-pill{background:var(--bg-surface-elevated);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.7rem}.mini-loading-banner{background:var(--bg-surface-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8rem;display:flex}.price-dist{flex-direction:column;gap:.5rem;margin-top:.6rem;display:flex}.dist-row{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.dist-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dist-dot.budget{background:var(--success)}.dist-dot.mid{background:#f59e0b}.dist-dot.lux{background:var(--danger)}.dist-label{color:var(--text-primary);flex:1;font-weight:500}.dist-count{color:var(--text-primary);text-align:right;min-width:2rem;font-weight:700}.dist-range{color:var(--text-muted);font-size:.75rem}.account-page{background:linear-gradient(#fafbff 0%,#f5f6fb 100%);flex:1;padding:1.5rem 2rem 4rem;overflow-y:auto}.account-content{flex-direction:column;gap:1.25rem;max-width:920px;margin:0 auto;display:flex}.account-hero{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#6366f1 60%,#8b5cf6 100%);border-radius:18px;padding:1.6rem 1.75rem;position:relative;overflow:hidden;box-shadow:0 12px 28px -8px #2563eb73,0 2px 6px #0000000f}.account-hero-bg{pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff2e 0,#0000 40%),radial-gradient(circle at 0 100%,#ffffff1f 0,#0000 35%);position:absolute;inset:0}.account-hero-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.account-hero-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.hotel-avatar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff40;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.account-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin:0;font-size:.7rem}.account-hero-title{letter-spacing:-.01em;margin:.15rem 0;font-size:1.4rem;font-weight:800;line-height:1.15}.account-hero-meta{opacity:.9;margin:0;font-size:.82rem}.account-hero-meta strong{font-weight:700}.account-hero-right{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.72rem;font-weight:500;display:inline-flex}.banner{border:1px solid;border-radius:12px;align-items:center;gap:.6rem;padding:.8rem 1.1rem;font-size:.88rem;font-weight:500;display:flex}.banner-success{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#a7f3d0}.banner-error{color:#991b1b;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-color:#fecaca}.cycle-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-self:center;padding:5px;display:inline-flex;position:relative;box-shadow:0 2px 8px #0000000a}.cycle-opt{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:8px 22px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative}.cycle-opt:hover{color:#374151}.cycle-opt.active{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#6366f1 100%);box-shadow:0 4px 10px -2px #2563eb66}.cycle-savings{color:#fff;background:linear-gradient(135deg,#10b981 0%,#14b8a6 100%);border-radius:999px;align-items:center;gap:3px;margin-left:4px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.cycle-opt.active .cycle-savings{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff40}.subs-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;display:grid}.sub-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:.7rem;padding:1.25rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 2px #00000008}.sub-card:hover{border-color:#c7d2fe;transform:translateY(-1px);box-shadow:0 8px 24px -10px #2563eb26}.sub-card-action{background:linear-gradient(#fffbeb 0%,#fff 60%);border-color:#fbbf24}.sub-card-bundle{background:linear-gradient(#fdf2f8 0%,#fff 60%);border:1px dashed #ec4899}.sub-bundle-ribbon{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#ec4899,#db2777);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.65rem;font-weight:700;display:inline-flex;position:absolute;top:-10px;right:12px;box-shadow:0 4px 10px -2px #ec489966}.sub-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sub-card-head h3{color:#111827;letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.sub-desc{color:#6b7280;margin:0;font-size:.8rem;line-height:1.5}.sub-price-row{border-top:1px dashed #f3f4f6;flex-wrap:wrap;align-items:baseline;gap:.6rem;padding-top:.3rem;display:flex}.sub-price{color:#111827;letter-spacing:-.02em;align-items:baseline;font-size:1.7rem;font-weight:800;display:inline-flex}.sub-price-suffix{color:#9ca3af;margin-left:4px;font-size:.78rem;font-weight:500}.sub-price-mini{color:#9ca3af;font-size:.7rem;font-weight:500}.sub-meta{flex-wrap:wrap;gap:.4rem;display:flex}.sub-tag{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.sub-tag-trial{color:#92400e;background:#fef3c7}.sub-tag-active{color:#166534;background:#dcfce7}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.65rem;font-weight:700}.badge-trial{color:#92400e;background:#fef3c7}.badge-active{color:#166534;background:#dcfce7}.badge-past{color:#991b1b;background:#fee2e2}.badge-paused{color:#4b5563;background:#f3f4f6}.badge-canceled{color:#6b7280;background:#f3f4f6;text-decoration:line-through}.pay-btn{color:#fff;cursor:pointer;letter-spacing:-.01em;background:linear-gradient(135deg,#2563eb 0%,#6366f1 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;margin-top:.4rem;padding:.8rem 1.1rem;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px -4px #2563eb80}.pay-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px -4px #2563eb99}.pay-btn:active:not(:disabled){transform:translateY(0)}.pay-btn:disabled{opacity:.65;cursor:not-allowed}.pay-btn-upgrade{background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);box-shadow:0 4px 14px -4px #f59e0b8c}.pay-btn-upgrade:hover:not(:disabled){box-shadow:0 6px 18px -4px #f59e0bb3}.upgrade-note{color:#b45309;text-align:center;margin:.4rem 0 0;font-size:.7rem;font-weight:500}.spinner{animation:1s linear infinite spin}.sub-skeleton{gap:.7rem}.sk-line{background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 50%,#f3f4f6 100%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.5s infinite shimmer}.sk-line-title{width:60%;height:18px}.sk-line-desc{width:90%}.sk-line-price{width:40%;height:32px;margin-top:.4rem}.sk-line-btn{width:100%;height:38px;margin-top:.4rem}.account-loading{color:#6b7280;align-items:center;gap:.5rem;padding:1rem;font-size:.85rem;display:flex}.support-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-top:.5rem;padding:1.25rem}.support-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.support-head h3{color:#111827;align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:700;display:flex}.support-new-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:4px;padding:7px 14px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.support-new-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb}.support-empty{text-align:center;color:#9ca3af;padding:1.75rem 1rem}.muted-icon{opacity:.4;margin-bottom:.5rem}.support-list{flex-direction:column;gap:.5rem;display:flex}.support-item{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem 1rem;transition:all .15s}.support-item:hover{background:#fff;border-color:#2563eb;box-shadow:0 2px 8px -2px #2563eb26}.support-item-head{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.support-code{color:#9ca3af;font-family:Courier New,monospace;font-size:.7rem;font-weight:600}.support-subject{color:#111827;margin:0;font-size:.88rem;font-weight:600}.support-meta{color:#9ca3af;margin:.3rem 0 0;font-size:.72rem}.support-status-acik{color:#1e40af;background:#dbeafe}.support-status-bekliyor{color:#92400e;background:#fef3c7}.support-status-cozuldu{color:#166534;background:#dcfce7}.support-status-kapali{color:#6b7280;background:#f3f4f6}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:540px;max-height:88vh;animation:.25s slideUp;display:flex;box-shadow:0 24px 64px #00000040}.modal-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;display:flex}.modal-head h3{color:#111827;align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:700;display:inline-flex}.modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:0;border-radius:8px;padding:6px;transition:all .15s}.modal-close:hover{color:#374151;background:#f3f4f6}.modal-body{padding:1.25rem 1.4rem;overflow-y:auto}.form-field{margin-bottom:1rem}.form-field label{color:#374151;margin-bottom:.4rem;font-size:.78rem;font-weight:600;display:block}.form-field input,.form-field textarea{color:#111827;background:#fafbff;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.88rem;transition:all .15s}.form-field input:focus,.form-field textarea:focus{background:#fff;border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb1a}.form-field textarea{resize:vertical;min-height:100px}.priority-row{gap:.4rem;display:flex}.priority-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:1;padding:.6rem;font-size:.78rem;font-weight:600;transition:all .15s}.priority-btn:hover{border-color:#c7d2fe}.priority-btn.active.priority-dusuk{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.priority-btn.active.priority-orta{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.priority-btn.active.priority-yuksek{color:#92400e;background:#fef3c7;border-color:#fcd34d}.priority-btn.active.priority-acil{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.form-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.78rem}.modal-foot{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.btn-cancel{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s}.btn-cancel:hover{color:#374151;background:#f9fafb}
