:root{color-scheme:light;--ink:#17212b;--muted:#66727d;--line:#dce3e8;--surface:#ffffff;--canvas:#f3f6f8;--accent:#087e8b;--accent-soft:#e4f3f4;--warning:#a85d17}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select{font:inherit}.shell{min-height:100vh;padding:28px clamp(20px,5vw,72px) 20px}.footer,.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto}.topbar{padding-bottom:28px;border-bottom:1px solid var(--line)}.eyebrow,.kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1}h1,h2{margin-bottom:0;letter-spacing:0}h2{font-size:1.2rem}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.language-switcher{display:block}.language-switcher select{min-height:36px;padding:0 28px 0 10px;background:var(--surface);font-size:.78rem;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only,.status{white-space:nowrap}.status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.84rem;font-weight:700}.status.ready{border-color:#acd9d5;background:var(--accent-soft);color:#05636c}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.workspace{max-width:1180px;margin:0 auto}.intro{max-width:740px;padding:64px 0 42px}.intro h2{margin-top:12px;font-size:clamp(1.9rem,4vw,3.8rem);line-height:1.05}.intro-copy{max-width:650px;margin:18px 0 0;color:var(--muted);font-size:1rem;line-height:1.7}.control-panel,.source-panel,.status-panel{border:1px solid var(--line);background:var(--surface)}.control-panel{padding:24px}.catalog-section{margin-top:16px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading .eyebrow{margin-bottom:7px}.badge,.timestamp{color:var(--muted);font-size:.75rem;font-weight:800}.badge{padding:5px 8px;border:1px solid var(--line);border-radius:5px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;grid-gap:12px;gap:12px}.sort-control{width:min(220px,100%);margin-top:16px}label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.8rem;font-weight:700}button,select{min-height:42px;border:1px solid var(--line);border-radius:5px;background:#fbfcfd;color:var(--ink);padding:0 12px}button{background:var(--ink);color:white;font-weight:800}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.form-message{margin:14px 0 0;font-size:.82rem;font-weight:700}.form-message.error{color:#a33d2f}.results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:32px 0 14px}.results-heading .eyebrow{margin-bottom:7px}.price-label,.provider-name,.renewal-status,.result-count{color:var(--muted);font-size:.78rem}.result-count{font-weight:800}.offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.offer-card{display:grid;grid-gap:18px;gap:18px;border:1px solid var(--line);background:var(--surface);padding:20px}.offer-card-footer,.offer-card-header,.offer-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.provider-name{margin:0 0 6px;font-weight:700}.offer-card h3{margin:0;font-size:1.15rem}.availability{flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:.75rem;font-weight:800}.availability.available{border-color:#acd9d5;background:var(--accent-soft);color:#05636c}.availability.sold_out{color:#a33d2f}.offer-price-row{align-items:flex-end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.offer-price-row>div{display:grid;grid-gap:3px;gap:3px}.offer-price-row strong{font-size:1.35rem;line-height:1}.price-period{color:var(--muted);font-size:.76rem}.renewal-price strong,.score-block strong{font-size:1rem}.spec-list{display:flex;flex-wrap:wrap;gap:7px 10px;color:var(--muted);font-size:.8rem;line-height:1.5}.spec-list span:not(:last-child):after{content:" /";color:var(--line);margin-left:10px}.offer-card-footer{align-items:center;color:var(--muted);font-size:.74rem;line-height:1.4}.offer-card-footer a{color:var(--accent);font-weight:800;text-decoration:none;white-space:nowrap}.offer-card-footer a:focus-visible,.offer-card-footer a:hover{text-decoration:underline}.empty-state{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding:24px 0}.content-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}.source-panel,.status-panel{padding:24px}.source-list,.status-list{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.source-row,.status-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem}.status-list strong{color:var(--ink);font-size:.86rem}.source-state{color:var(--warning);font-size:.78rem;font-weight:800}.source-state.active{color:#05636c}.source-state.offline{color:#a33d2f}.footer{padding-top:28px;color:var(--muted);font-size:.78rem}.admin-shell{min-height:100vh;padding:28px clamp(20px,5vw,72px) 48px}.back-link{color:var(--accent);font-size:.84rem;font-weight:800;text-decoration:none}.back-link:focus-visible,.back-link:hover{text-decoration:underline}.admin-workspace{max-width:1180px;margin:0 auto}.admin-intro{max-width:760px;padding:52px 0 28px}.admin-intro h2{margin:10px 0 12px;font-size:clamp(1.6rem,3vw,2.5rem)}.admin-intro p:last-child{margin:0;color:var(--muted);line-height:1.7}.admin-login{display:flex;align-items:flex-end;gap:12px;max-width:620px;padding:18px;border:1px solid var(--line);background:var(--surface)}.admin-login label{flex:1 1}input{min-height:42px;border:1px solid var(--line);border-radius:5px;background:#fbfcfd;color:var(--ink);padding:0 12px;font:inherit}.admin-message{margin:14px 0 0;color:var(--muted);font-size:.84rem;font-weight:700}.admin-section{margin-top:36px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}.admin-table{width:100%;min-width:840px;border-collapse:collapse;font-size:.84rem}.admin-table td,.admin-table th{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:0}.admin-table p,.admin-table small,.admin-table strong{display:block}.admin-table small{margin-top:5px;color:var(--muted);font-size:.74rem}.admin-table p{max-width:420px;margin:8px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.admin-table a{color:var(--accent);font-weight:800;text-decoration:none}.admin-table a:focus-visible,.admin-table a:hover{text-decoration:underline}.admin-table select{min-height:36px;padding:0 8px;font-size:.78rem}.admin-offer-list{display:grid;grid-gap:10px;gap:10px}.admin-offer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:var(--surface);padding:16px}.admin-offer-row>div:first-child{display:grid;grid-gap:6px;gap:6px}.admin-offer-row span{color:var(--muted);font-size:.78rem}.admin-offer-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.admin-offer-actions button{min-height:36px;font-size:.78rem}.published-label,.unpublished-label{font-size:.76rem;font-weight:800}.published-label{color:#05636c!important}.unpublished-label{color:#a33d2f!important}@media (max-width:780px){.shell{padding:20px 16px}.footer,.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.intro{padding:44px 0 30px}.content-grid,.filter-grid,.offer-list{grid-template-columns:1fr}.admin-login,.admin-offer-row{align-items:stretch;flex-direction:column}.admin-login button,.admin-offer-actions button{width:100%}.admin-offer-actions{align-items:stretch;flex-direction:column}.filter-grid button{width:100%}.results-heading{align-items:flex-start;flex-direction:column;margin-top:26px}.offer-price-row{align-items:start;flex-wrap:wrap}.offer-card-footer{align-items:flex-start;flex-direction:column}}