:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef7ff;color-scheme:light;--text: #172033;--muted: #5e7189;--border: rgba(125, 164, 207, .26);--border-strong: rgba(95, 145, 198, .42);--panel: rgba(255, 255, 255, .82);--panel-solid: #ffffff;--panel-soft: rgba(244, 250, 255, .86);--blue: #3b8bd4;--blue-deep: #1c67a8;--blue-soft: rgba(86, 160, 226, .15);--shadow: 0 16px 34px rgba(64, 116, 171, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 8%,rgba(151,207,255,.34),transparent 34%),linear-gradient(135deg,#f8fcff,#eef7ff 48%,#f7fbff);overflow-y:scroll;scrollbar-gutter:stable}body,.table-wrap,.select-menu-panel{scrollbar-color:transparent transparent;scrollbar-width:thin}body::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.select-menu-panel::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.select-menu-panel::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}body::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.select-menu-panel::-webkit-scrollbar-track{background:transparent}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);background:#ffffffc2;border-radius:7px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}button:not(:disabled):hover{border-color:var(--border-strong);transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid var(--border);border-radius:7px;background:#ffffffb8;color:var(--text);min-height:36px;padding:7px 10px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4895db29;outline:none}textarea{min-height:84px;resize:vertical}a{color:var(--blue-deep);text-decoration:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:28px;box-shadow:var(--shadow);display:grid;gap:16px;animation:pop-in .26s ease both}.login-card h1{margin:0 0 6px}.login-card label,.dialog label{display:grid;gap:6px;color:#4c5a6d;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#f0f8fff0,#ddefffdb);border-right:1px solid rgba(113,164,215,.28);color:#1c4268;padding:22px;display:flex;flex-direction:column;gap:28px;overflow:hidden;transition:padding .22s ease,background-color .22s ease}nav{display:grid;gap:8px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{font-weight:800;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease;color:#1d5f9f}.sidebar-toggle{flex:0 0 auto;color:#1d5f9f;background:#ffffff9e;border-color:#5497d647}.nav-item{display:flex;align-items:center;gap:9px;background:#ffffff94;border:1px solid rgba(94,157,219,.24);border-radius:7px;padding:10px 12px;overflow:hidden;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;width:100%}.nav-item:hover{background:#dcf0ffb3;transform:translate(2px)}.nav-item.active{background:#dcf0ffd1;border-color:#4b97dc61;color:var(--blue-deep);font-weight:700}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .16s ease,width .22s ease}.sidebar-collapsed .sidebar{padding:18px 14px;align-items:center}.sidebar-collapsed .sidebar-top{flex-direction:column}.sidebar-collapsed .nav-label{width:0;opacity:0}.sidebar-collapsed .nav-item,.sidebar-collapsed .logout{justify-content:center;padding-left:0;padding-right:0;width:40px}.logout{margin-top:auto;color:#1d5f9f;background:#ffffff80;border-color:#5497d647;overflow:hidden}.page{padding:28px;min-width:0;overflow-x:hidden;position:relative;animation:fade-up .26s ease both}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-header h1{margin:0;font-size:28px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;position:relative;z-index:30}.add-site-button{position:relative;z-index:40}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;display:grid;gap:8px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{font-size:24px}.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:14px;overflow:visible;position:relative;z-index:30;animation:fade-up .3s ease both}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;overflow:visible;position:relative;z-index:31}.search-field{display:flex;align-items:center;gap:8px;min-width:min(320px,100%);border:1px solid var(--border);border-radius:7px;background:#ffffffb8;padding-left:10px}.search-field input{border:0;flex:1;min-width:170px}.toggle,.switch-row{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.starred-filter-toggle{border:1px solid transparent;border-radius:999px;cursor:pointer;min-height:36px;padding:0 10px 0 4px;transition:background-color .16s ease,color .16s ease;-webkit-user-select:none;user-select:none}.starred-filter-toggle:hover{background:#ffffff6b;color:var(--blue-deep)}.starred-filter-toggle input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.starred-filter-toggle input:focus,.starred-filter-toggle input:focus-visible{border-color:transparent;box-shadow:none;outline:none}.toggle-track{align-items:center;background:#aecdeb6b;border:1px solid rgba(84,151,214,.22);border-radius:999px;display:inline-flex;height:22px;padding:2px;transition:background-color .16s ease,border-color .16s ease;width:40px}.toggle-thumb{background:#fffffff2;border-radius:50%;box-shadow:0 3px 8px #4074ab29;display:block;height:16px;transform:translate(0);transition:transform .16s ease;width:16px}.starred-filter-toggle input:checked+.toggle-track{background:#4296e2b8;border-color:#3484d061}.starred-filter-toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.starred-filter-toggle:focus-within{background:#ffffff4d}.select-menu{position:relative;width:190px;z-index:32}.select-menu.open{z-index:120}.select-menu-trigger{width:100%;justify-content:space-between;background:#ffffffbd;border-color:var(--border);color:var(--text)}.select-menu-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu-chevron{flex:0 0 auto;transition:transform .18s ease}.select-menu-chevron.open{transform:rotate(180deg)}.select-menu-panel{animation:menu-pop .14s ease both;background:#fffffff5;border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 34px #3270ac29;display:grid;gap:4px;left:0;max-height:280px;min-width:100%;overflow:auto;padding:6px;position:absolute;top:calc(100% + 6px);z-index:121}.select-menu-option{border:0;border-radius:6px;box-shadow:none;justify-content:flex-start;min-height:32px;padding:0 10px;white-space:nowrap}.select-menu-option:hover{background:var(--blue-soft);box-shadow:none;transform:none}.select-menu-option.selected{background:#519fe52e;color:var(--blue-deep);font-weight:700}.table-shell{contain:layout;height:540px;max-width:100%;min-width:0;overflow:hidden;position:relative;z-index:1}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);height:100%;max-width:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:transparent transparent;scrollbar-width:thin;width:100%}.table-wrap.scrolling{scrollbar-color:rgba(71,151,226,.42) transparent}.table-wrap::-webkit-scrollbar{height:7px;width:7px}.table-wrap::-webkit-scrollbar-thumb{background:transparent;background-clip:padding-box;border:2px solid transparent;border-radius:999px}.table-wrap.scrolling::-webkit-scrollbar-thumb{background:#4a9eec57;background-clip:padding-box}.table-wrap.scrolling::-webkit-scrollbar-thumb:hover{background:#398bd87a;background-clip:padding-box}.table-wrap::-webkit-scrollbar-track{background:transparent}.table-wrap.scrolling::-webkit-scrollbar-track{background:#e1f2ff33}table{border-collapse:collapse;min-width:1120px;table-layout:fixed;width:100%}th,td{border-bottom:1px solid #e6ebf1;padding:8px 9px;text-align:left;vertical-align:top;font-size:12px}th{background:#e6f4fff5;color:#31516f;font-weight:700;position:sticky;top:0;z-index:1}.compact-col{width:38px}.site-col{width:190px}.model-col{width:86px}.channel-col{width:106px}.notes-col{width:92px}.value-col{width:88px}.ratio-col{width:108px}.price-col,.status-col{width:96px}.checked-col{width:118px}.actions-col{width:178px}.site-group-row td{background:#f1f9ffe6;padding:8px 10px}.group-toggle{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;box-shadow:none;color:#24496d;font-weight:700;min-height:32px;padding:0}.group-toggle strong{background:#539ce029;border-radius:999px;color:#4d6078;font-size:11px;margin-left:2px;min-width:26px;padding:2px 8px;text-align:center}.group-toggle:hover{box-shadow:none}.chevron{transition:transform .18s ease}.chevron.open{transform:rotate(180deg)}.pinned-row{background:#ebf7ffe0}.site-summary-row{transition:background-color .12s ease}.site-summary-row:hover{background:#f5fbfff5}.site-summary-row.pinned-row:hover{background:#e0f2fffa}.site-summary-row:hover>td:first-child{box-shadow:inset 3px 0 0 var(--blue)}.pricing-detail-row{background:#f6fbffb8}.pricing-detail-row td{color:#40506a;padding-top:8px;padding-bottom:8px}.pricing-detail-row:hover{background:#f1f9ffe6}.pricing-detail-panel-row td{background:#f6fbffb8;padding-bottom:8px;padding-top:8px}.detail-panel-state{align-items:center;color:#5c7088;display:flex;gap:8px;min-height:42px;padding:10px 12px}.error-text{color:#a53434}.numeric{text-align:right;font-variant-numeric:tabular-nums}.site-cell{display:grid;gap:4px}.site-cell a{align-items:center;display:inline-flex;gap:5px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-cell a:hover{color:var(--blue-deep);text-decoration:underline}.muted-line{color:#6a788a;font-size:12px}.channel-indent{color:#5e6e83;display:inline-flex;padding-left:18px;position:relative}.channel-indent:before{background:#cbd6e3;content:"";height:1px;left:0;position:absolute;top:50%;width:10px}.group-badge,.status{width:fit-content;display:inline-flex;border-radius:999px;background:#e6f4ffe0;color:#47576c;padding:2px 8px;font-size:11px}.group-badge.pinned,.status.ok{background:#dcf3ebdb;color:#137347}.row-actions{display:flex;gap:6px}.action-stack{justify-content:flex-end;gap:5px}.icon-button{min-width:30px;width:30px;height:30px;padding:0}.expand-button:disabled{visibility:hidden}.icon-button.danger{color:#a53434}.star-button{color:#f5a400}.star-button:hover{background:#fff4bf;border-color:#f3bf24;color:#ffb000}.review-button{color:#146c94}.review-button:hover{background:#e9f7ff;border-color:#7fc3e8}.model-text{display:inline-block;max-width:76px;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.strong-value{color:#1266a8;font-weight:700}.ratio-input{align-items:center;display:flex;justify-content:flex-end;min-width:96px}.ratio-input input{min-height:30px;padding:5px 8px;text-align:right;width:92px}.editable-number-cell{min-height:30px;padding:5px 8px;text-align:right;width:88px}.saving-dot{color:#4f647d;font-size:11px;white-space:nowrap}.notes-trigger{background:transparent;border:0;border-radius:4px;box-shadow:none;color:#41566f;cursor:pointer;display:block;font-size:12px;min-height:0;max-width:82px;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.notes-trigger:hover{color:var(--blue-deep);text-decoration:underline}.time-cell{color:#4a596d;font-variant-numeric:tabular-nums;white-space:nowrap}.pagination{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:10px 0}.pagination-left,.pagination-right{align-items:center;display:flex;gap:8px}.page-indicator,.page-size-label,.page-total{color:#5f6f83;font-size:12px;white-space:nowrap}.page-size-buttons{align-items:center;display:flex;gap:4px}.page-size-button{background:transparent;border-color:transparent;box-shadow:none;color:#5d6e84;font-size:11px;height:22px;min-height:22px;min-width:25px;padding:0 5px}.page-size-button:hover{background:#e7f2ffcc;border-color:#70a1dc6b;box-shadow:none}.page-size-button.active{background:#326df6;border-color:#326df6;color:#fff}.page-size-slider{accent-color:#326df6;height:20px;width:170px}.page-size-value{color:#172032;font-size:12px;min-width:26px}.pager-button{border-radius:6px;font-size:12px;height:26px;min-height:26px;padding:0 9px}.state-box,.toast,.inline-error{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;animation:pop-in .22s ease both}.state-box.error,.inline-error{border-color:#e2a8a8;color:#a53434;background:#fff7f7}.toast{border-color:#4f9a734d;color:#137347;background:#f3fbf6db}.viewport-toast{animation:pop-in .18s ease both;background:#f3fbf6f5;border:1px solid rgba(79,154,115,.32);border-radius:8px;box-shadow:var(--shadow);color:#137347;font-size:13px;padding:10px 14px;position:fixed;right:22px;top:20px;z-index:50}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f17238f;display:grid;place-items:center;padding:22px;z-index:3000;animation:backdrop-in .18s ease both}.dialog{width:min(390px,100%);background:#fffffff0;border-radius:12px;border:1px solid var(--border);box-shadow:0 18px 46px #4074ab33;padding:16px;display:grid;gap:10px;animation:pop-in .22s ease both}.dialog-header{margin-bottom:2px}.dialog h2{margin:0;font-size:18px}.dialog-field{gap:5px}.dialog input,.dialog textarea{border-radius:10px;min-height:32px;padding:6px 9px}.dialog textarea{min-height:62px}.starred-dialog-row{align-items:center;display:flex!important;flex-direction:row;gap:10px!important;justify-content:space-between;min-height:34px}.star-box{align-items:center;border:1px solid var(--border);border-radius:9px;color:#8aa0b8;cursor:pointer;display:inline-flex;height:30px;justify-content:center;position:relative;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;width:34px}.star-box input{cursor:pointer;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;position:absolute}.star-box:has(input:checked){background:#fff4c7c2;border-color:#d7a93675;color:#d79a20}.star-box:has(input:focus-visible){box-shadow:0 0 0 3px #d79a2029}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.notes-dialog{width:min(520px,100%)}.notes-dialog-body{background:#f4faffdb;border:1px solid var(--border);border-radius:10px;color:#273548;line-height:1.6;max-height:min(52vh,360px);overflow:auto;padding:12px;white-space:pre-wrap}.api-key-panel{display:grid;gap:12px}.api-key-site{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #305a820f;display:grid;gap:0;overflow:hidden}.api-key-site-header{background:#f1f9ffe6;border-bottom:1px solid var(--border);padding:10px 12px}.api-key-list{display:grid}.api-key-row{align-items:center;border-bottom:1px solid #e8edf4;column-gap:12px;display:grid;grid-template-columns:minmax(360px,1.5fr) minmax(180px,.75fr) 116px 176px;padding:10px 12px}.api-key-row:last-child{border-bottom:0}.api-key-main,.api-key-note,.api-key-updated{display:grid;gap:4px;min-width:0}.api-key-display{align-items:center;color:#607087;display:flex;font-size:11px;font-weight:700;gap:6px;min-height:18px;min-width:0}.api-key-field-label{color:#6a788a;font-size:11px;font-weight:700}.api-key-replace-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;width:100%}.api-key-replace-input.locked{background:#f8fafc;border-color:#dce5ef;color:#2f4158;cursor:default}.api-key-replace-input.editing{background:#fff;border-color:#7db6f0;box-shadow:0 0 0 3px #326df61a}.api-key-note-input{width:100%}.api-key-updated{color:#4a596d;font-variant-numeric:tabular-nums}.api-key-actions{justify-content:flex-end}.api-key-empty{color:#6a788a;padding:13px 14px}.save-key-button{min-width:88px}.api-key-new-row{background:#f6fbffb8}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes row-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@keyframes menu-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:3;flex-direction:row;align-items:center;padding:14px 18px}.sidebar-collapsed .sidebar{align-items:center;padding:14px 18px}.sidebar-collapsed .sidebar-top{flex-direction:row}.sidebar-collapsed .nav-label{opacity:1;width:auto}.sidebar-collapsed .nav-item,.sidebar-collapsed .logout{padding-left:12px;padding-right:12px;width:auto}.logout{margin-top:0;margin-left:auto}.stats-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.page-header{flex-direction:column}.select-menu{width:min(220px,100%)}}
