/* Data observatory, subscription, onboarding: LongevIA-aligned components */
.subscription-teaser{margin-top:34px;padding:24px;background:#f6f9fe;border:1px solid #e1ebf6;border-radius:14px;max-width:450px}
.teaser-head{display:flex;align-items:center;gap:13px}.teaser-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#e4f0ff;color:#2a66ad;font-size:22px}.teaser-head h2{font-size:15px;margin:4px 0 0}.subscription-teaser>p{font-size:11px;color:#7085a3;line-height:1.65}
.subscription-form{display:grid;gap:10px}.subscription-form label:not(.consent-line){font-size:11px;font-weight:750;color:#526983}.subscription-form>input,.subscription-form>select{border-radius:9px;border:1px solid #dce7f4;padding:10px 12px;background:#fff;color:#26436c;min-width:0;font-size:12px}
.subscription-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:6px 0;margin:0}.subscription-form legend{font-weight:700;font-size:11px;color:#526983;margin-bottom:9px}.subscription-form fieldset label{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px!important;color:#6f849f!important;font-weight:500!important}
.subscription-form input[type=checkbox]{accent-color:#2b6bb8}.consent-line{display:flex;align-items:flex-start;gap:10px;font-size:10px;color:#7b8da4;line-height:1.65}.consent-line input{margin-top:3px;flex:0 0 auto}.subscription-form .button-secondary{width:100%;margin-top:6px}
.onboarding-overlay{position:fixed;inset:0;z-index:100;background:rgba(14,38,73,.68);display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}
.onboarding-card{background:#fff;position:relative;width:min(640px,100%);max-height:92vh;overflow:auto;border:1px solid #e0e9f5;border-radius:22px;box-shadow:0 30px 90px #051c3f55;padding:36px 40px 30px}
.onboarding-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.onboarding-head h2{font-size:26px;letter-spacing:-1px;margin:10px 0 16px}.onboarding-skip{border:0;background:none;color:#768da9;font-size:11px;font-weight:700;white-space:nowrap;padding:5px}.onboarding-skip:hover{text-decoration:underline;color:#2e65aa}
.onboarding-progress{height:5px;width:100%;border-radius:10px;background:#e8eef7;overflow:hidden;margin:12px 0 36px}.progress-fill{display:block;width:33.33%;height:100%;background:linear-gradient(90deg,#2c6fb8,#91b9e9);transition:width .25s}
.onboarding-step{display:grid;gap:13px}.onboarding-step .step-count{font-size:10px;color:#759bc9;letter-spacing:1.4px;font-weight:800}.onboarding-step h3{font-size:22px;letter-spacing:-.8px;margin:0}.onboarding-step p{font-size:12px;color:#798da5;margin:0 0 11px;line-height:1.65}.onboarding-step label:not(.onboarding-tip){color:#3c5577;font-size:12px;font-weight:750}
.onboarding-step input[type=text],.onboarding-step select,.onboarding-step>input{width:100%;border:1px solid #dbe4ef;border-radius:10px;padding:14px;background:#fff;color:#314e70;outline:0}.onboarding-step input:focus,.onboarding-step select:focus{border-color:#6da3df}
.onboarding-step .onboarding-tip{border-radius:10px;background:#eef5ff;color:#7386a1;font-size:11px;padding:15px;line-height:1.7}
.interest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.interest-grid label{border:1px solid #e0e8f3;background:#fbfdff;padding:18px;border-radius:12px;display:flex;gap:9px;align-items:center;line-height:1.45}.interest-grid input{accent-color:#316eb3}
.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.onboarding-actions .button-primary{justify-content:space-between}.onboarding-feedback{margin:8px 0 0}
.monitor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#edf5ff;border:1px solid #dce9f9;border-radius:14px;padding:20px 26px}.monitor-toolbar>div{flex:1}.monitor-toolbar p{color:#748ba8;font-size:11px;margin:7px 0 0;line-height:1.6}
.feed-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.feed-card{background:#fff;border:1px solid #e2eaf4;border-radius:13px;padding:20px 22px;min-height:155px;display:flex;flex-direction:column;gap:8px}.feed-card header{display:flex;justify-content:space-between;align-items:center;gap:8px}.feed-card strong{font-size:12px;color:#2d4567}.feed-card p{font-size:10px;color:#9ba8b6;line-height:1.6;margin:0;word-break:break-word}
.health-pill{font-weight:800;font-size:9px;padding:7px 9px;border:1px solid #bee2ce;border-radius:25px;background:#f1fbf5;color:#2d875d;white-space:nowrap}
.health-pill.problem{background:#fff5f1;border-color:#f0c1b4;color:#b76c4f}.health-pill.unknown{background:#f5f7fa;border-color:#d6e1ef;color:#8b9bb1}
.feed-meta{font-size:10px;color:#9aacc0;display:flex;justify-content:space-between;gap:12px;margin-top:auto}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.news-card{background:white;padding:22px;border:1px solid #e2eaf4;border-radius:13px;display:flex;flex-direction:column;gap:12px;min-height:205px}.news-card small{color:#638ac2;font-size:10px;font-weight:800}.news-card h3{font-size:15px;line-height:1.45;margin:0;color:#244465;letter-spacing:-.25px}.news-card p{font-size:11px;color:#8293a7;line-height:1.7;margin:0}.news-card a{color:#2a6ab6;font-size:11px;font-weight:800;margin-top:auto}.news-card a:hover{text-decoration:underline}.news-card .source-note{font-size:9px;color:#a4b0bf}
.review-item h3{margin-bottom:7px}.review-actions{display:flex;gap:9px;flex-wrap:wrap}.review-actions button{padding:10px 13px}.approve-button{border:1px solid #b3d8c6;background:#effbf5;border-radius:8px;font-size:11px;font-weight:750;color:#388866}.reject-button{border:1px solid #e5bec0;background:#fff5f5;border-radius:8px;font-size:11px;font-weight:750;color:#b46c73}.alert-open{border-left:4px solid #d88f61}.alert-critical{border-left-color:#bf5d5d}
.campaign-status{font-size:10px;color:#6f8aad;background:#eff6ff;padding:6px 10px;border-radius:20px;letter-spacing:.5px;font-weight:800}
#campaign-preview{margin:15px 0 20px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button{border-radius:9px}
#pipeline-summary.error{color:#b86662}.empty-note{font-size:12px;color:#8a9cb2;padding:18px 0}
@media(max-width:1050px){.monitor-toolbar{flex-direction:column;align-items:stretch}.monitor-toolbar .button-primary{justify-content:center}.feed-list{grid-template-columns:1fr}}
@media(max-width:690px){.news-grid{grid-template-columns:1fr}.onboarding-card{padding:25px 22px}.onboarding-head{flex-direction:column}.interest-grid{grid-template-columns:1fr}.monitor-toolbar{padding:18px}.subscription-teaser{padding:17px}.auth-panel{width:min(470px,calc(100% - 36px))}}
