/* =========================================================================
   COMPONENTES · Layout, header, footer, tarjetas y pantallas de cada paso
   El orden de las reglas importa (cascada): no reordenar secciones.
   ========================================================================= */

/* ----- Layout ----- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:36px var(--pad-r) calc(120px + var(--sa-bottom)) var(--pad-l);}
.section-gap{margin-top:20px;}

/* ----- Elementos de marca ----- */
.kicker{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;}
.divider{display:flex;align-items:center;gap:12px;margin:32px 0;}
.divider .line{flex:0 0 60px;height:1px;background:var(--gold);}
.divider.full .line{flex:1;}
.divider .diamond{color:var(--gold);font-size:12px;}
.legend{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:18px 0 28px;font-size:12px;color:var(--text-3);}
.legend .sw{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;}
.legend .sw.editable{background:#fff;border:1px solid var(--gold);}
.legend .sw.calc{background:var(--sand);border:1px solid var(--sand);}
.tip{background:#fff;border-left:2px solid var(--gold);padding:16px 20px;margin:24px 0;}
.tip .lbl{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--gold);display:block;margin-bottom:6px;}
.tip .txt{font-family:'Lora',serif;font-style:italic;font-size:16px;}

/* ----- Header ----- */
.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--cream);border-bottom:1px solid var(--gold);padding-top:var(--sa-top);}
.hdr-top{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad-r) 10px var(--pad-l);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;}
.brand .mf{font-family:'Lora',serif;font-weight:700;font-size:22px;letter-spacing:-1px;color:var(--petrol);}
.brand .name{display:flex;flex-direction:column;line-height:1.1;}
.brand .name span:first-child{font-family:'Lora',serif;font-size:11px;letter-spacing:2px;color:var(--petrol);}
.brand .name span:last-child{font-family:'Lora',serif;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--petrol);}
.hdr-right{min-width:min(220px,100%);}
.hdr-right-row{display:flex;justify-content:space-between;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:6px;}
.progress-track{height:4px;background:var(--sand);border-radius:2px;overflow:hidden;}
.progress-fill{height:100%;background:var(--gold);transition:width .4s;}
.tabs{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-r) 0 var(--pad-l);display:flex;gap:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;}
.tabs::-webkit-scrollbar{height:0;display:none;}
.tab-btn{flex:0 0 auto;background:none;border:none;border-bottom:2px solid transparent;padding:10px 2px 12px;font-size:13px;white-space:nowrap;color:var(--nav-inactive);font-weight:400;}
.tab-btn.active{color:var(--petrol);font-weight:700;border-bottom-color:var(--gold);}

/* ----- Footer fijo ----- */
.app-footer{position:fixed;left:0;right:0;bottom:0;background:var(--cream);border-top:1px solid var(--card-border);z-index:5;padding-bottom:var(--sa-bottom);transform:translateZ(0);}
body.kb-open .app-footer{display:none;}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:16px var(--pad-r) 16px var(--pad-l);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.btn-back{background:transparent;border:1px solid var(--petrol);color:var(--petrol);font-size:13px;letter-spacing:1px;padding:12px 18px;}
.footer-note{font-size:12px;color:var(--text-3);text-align:center;flex:1;min-width:0;}
.btn-next{background:var(--petrol);color:var(--cream);font-weight:700;font-size:13px;letter-spacing:1px;border:none;padding:14px 24px;}
.footer-spacer{width:120px;}

/* Indicador de guardado + botón de información (discretos, dentro de .footer-note) */
.footer-note-line{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;}
.save-status{display:block;font-size:11px;letter-spacing:.3px;margin-top:3px;min-height:1em;color:var(--muted);transition:color .3s;}
.save-status[data-state="saved"]{color:var(--green);}
.save-status[data-state="error"]{color:var(--red);}
.info-btn{position:relative;flex:0 0 auto;width:17px;height:17px;padding:0;border:1px solid var(--gold);border-radius:50%;background:transparent;color:var(--gold);font-family:'Lora',serif;font-style:italic;font-weight:700;font-size:11px;line-height:15px;text-align:center;}
.info-btn[aria-expanded="true"]{background:var(--gold);color:var(--cream);}
/* Amplía la zona pulsable sin cambiar el tamaño visual del icono */
.info-btn::after{content:'';position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;}

/* Panel "Tus datos" (se abre desde el icono de información del footer) */
.data-panel{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));margin-bottom:10px;background:#fff;border:1px solid var(--card-border);border-left:2px solid var(--gold);padding:16px 18px;text-align:left;}
.data-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.data-panel .close{background:none;border:none;color:var(--text-3);font-size:18px;line-height:1;min-width:32px;min-height:32px;margin:-8px -8px -8px 0;}
.data-panel-lead{font-family:'Lora',serif;font-style:italic;font-size:15px;margin:8px 0 6px;}
.data-panel-note{font-size:13px;color:var(--text-3);line-height:1.5;margin:0;}
.data-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.data-msg{font-size:13px;line-height:1.45;margin-top:10px;}
.data-msg.is-ok{color:var(--green);}
.data-msg.is-error{color:var(--red);}

/* ----- Cabecera de cada paso + ayuda ----- */
.step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:8px;}
.step-head h2{font-size:clamp(30px,5vw,44px);line-height:1.1;margin:8px 0 10px;}
.step-head p{font-size:17px;color:var(--text-2);max-width:600px;margin:0;}
.btn-help{background:#fff;border:1px solid var(--gold);padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--petrol);white-space:nowrap;}
.btn-help.btn-help-sm{font-size:11px;padding:8px 10px;}
.help-panel{background:var(--sand);padding:20px 24px;margin:16px 0 8px;display:flex;gap:14px;align-items:flex-start;}
.help-panel .diamond{color:var(--gold);}
.help-panel .txt{white-space:pre-line;font-size:14px;color:var(--text-2);flex:1;line-height:1.6;}
.help-panel .close{background:none;border:none;color:var(--text-3);font-size:18px;line-height:1;min-width:32px;min-height:32px;margin:-8px -8px -8px 0;}

/* ----- Tarjetas y campos genéricos ----- */
.card{background:#fff;border:1px solid var(--card-border);padding:14px 16px;}
.card-lg{background:#fff;border:1px solid var(--card-border);padding:28px 32px;}
.sand-box{background:var(--sand);padding:20px 24px;}
.grid{display:grid;gap:12px;}
.grid > *,.prod-card > *,.variant-row > *,.recipe-line > *,.svc-result-row > *,.counters > *,.goal-boxes > *,.ref-grid > *,.diag-grid > *,.compare-grid > *,.impact-final-grid > *,.cover-grid > *{min-width:0;}
.fig,.fact,.queda,.mensual,.anual{overflow-wrap:break-word;}
.label-sm{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--olive);text-transform:uppercase;display:block;margin-bottom:4px;}
.stat-fig{font-weight:700;font-size:20px;}
input.plain{border:none;background:transparent;font-size:16px;color:var(--petrol);width:100%;}
.plain.field-underline{border-bottom:1px solid var(--gold);}
.plain.field-underline-soft{border-bottom:1px solid var(--line-soft);}
input.money{width:96px;border:1px solid var(--gold);text-align:right;font-size:18px;padding:6px 8px;}
.money.money-full{width:100%;}
.money.money-hour{width:100px;}
.money.money-pct{width:70px;}
/* Campos grandes (horas, precio nuevo, objetivo…) */
.input-lg{font-family:'Lora',serif;font-size:26px;border:1px solid var(--gold);padding:6px 10px;text-align:right;}
.input-lg.input-hours{width:150px;font-size:28px;}
.input-lg.input-price{width:140px;}
.input-lg.input-count{width:110px;}
.input-lg.input-goal{width:150px;}
.input-lg.input-days{width:100px;}
.input-with-unit{display:flex;align-items:center;gap:8px;}
.row-x{background:none;border:none;color:var(--muted);font-size:18px;padding:4px 8px;flex:0 0 auto;}
.dashed-add{background:none;border:1px dashed var(--gold);color:var(--gold);font-weight:700;font-size:13px;letter-spacing:.5px;padding:12px 18px;width:100%;text-align:center;margin-top:10px;}
.text-ok{color:var(--green);}
.text-rev{color:var(--amber);}
.text-crit{color:var(--red);}

/* ----- Paso 0 · Portada ----- */
.cover{background:var(--petrol);color:var(--cream);min-height:100vh;min-height:100dvh;padding:calc(56px + var(--sa-top)) max(24px,var(--sa-right)) calc(64px + var(--sa-bottom)) max(24px,var(--sa-left));display:flex;flex-direction:column;align-items:center;text-align:center;}
.cover .mf{font-family:'Lora',serif;font-weight:700;font-size:40px;letter-spacing:-2px;color:var(--gold);}
.cover .brandline{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:6px;}
.cover .brandline .m1{font-family:'Lora',serif;font-size:13px;letter-spacing:3px;color:var(--gold);}
.cover .brandline .m2{font-family:'Lora',serif;font-size:18px;font-weight:700;letter-spacing:3px;color:var(--gold);}
.cover .by{font-family:'Lora',serif;font-style:italic;font-size:12px;color:var(--gold);margin-top:8px;}
.cover h1{font-family:'Lora',serif;font-weight:700;font-size:clamp(44px,8vw,84px);letter-spacing:-1px;margin:0;}
.cover .sub{font-family:'Lora',serif;font-style:italic;font-size:clamp(18px,3vw,26px);color:var(--sand);margin:0 0 8px;}
.cover-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;max-width:560px;width:100%;margin-top:16px;}
.cover-card{background:rgba(243,234,225,.06);border:1px solid rgba(200,164,91,.4);padding:24px;text-align:left;}
.cover-card ul{list-style:none;margin:10px 0 0;padding:0;font-size:17px;line-height:1.8;}
.cover-card ul.check li::before{content:'☐ ';}
.btn-start{background:var(--gold);color:var(--petrol);border:none;padding:18px 44px;font-size:16px;font-weight:700;letter-spacing:2px;margin-top:44px;}
.cover .step-tag{color:var(--gold);font-size:11px;letter-spacing:2px;margin-top:16px;}
.cover .reset-link{color:var(--sand);opacity:.7;font-size:13px;margin-top:22px;display:inline-block;}
/* Tus datos en la portada: privacidad + exportar / importar */
.cover-data{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:420px;margin-top:18px;}
.cover .cover-privacy{margin:0;font-size:12px;color:var(--sand);opacity:.6;}
.cover-data-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;}
.cover .cover-link{color:var(--sand);opacity:.7;font-size:13px;display:inline-block;margin-top:4px;}
.cover .data-msg.is-ok{color:var(--gold);}
.cover .data-msg.is-error{color:#F2B8B0;}

/* ----- Paso 1 · Gastos ----- */
.expense-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));}
.card.expense-row{display:flex;align-items:center;gap:10px;}
.sand-box.expense-total{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px;}
.expense-total-sub{font-size:13px;margin-top:4px;}
.expense-total-fig{font-weight:700;font-size:clamp(36px,6vw,56px);}

/* ----- Paso 2 · Tiempo ----- */
.field-title{font-weight:700;font-size:18px;}
.field-desc{color:var(--text-2);}
.hours-row{display:flex;align-items:baseline;gap:10px;}
.hero-hour{background:var(--petrol);color:var(--cream);text-align:center;padding:36px 32px;}
.hero-hour .fig{font-family:'Lora',serif;font-weight:700;font-size:clamp(56px,10vw,96px);color:var(--gold);}
.hero-hour .fig .suf{font-size:.4em;}
.hero-hour p{color:var(--sand);max-width:560px;margin:10px auto 0;}
.hero-hour .foot{color:var(--gold);font-size:12px;margin-top:14px;}
.example-note{background:var(--sand);padding:12px 16px;font-size:13px;margin-top:14px;}
.example-note .lbl{font-weight:700;color:var(--olive);letter-spacing:1px;font-size:11px;margin-right:8px;}

/* ----- Paso 3 · Productos ----- */
.prod-progress-bar{background:var(--sand);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;flex-wrap:wrap;}
.prod-progress-bar .count{font-family:'Lora',serif;font-weight:700;font-size:24px;}
.prod-progress-bar .track{flex:1;min-width:140px;height:6px;background:#fff;border-radius:3px;overflow:hidden;}
.example-row{border:1px dashed var(--gold);display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:10px;padding:10px 14px;align-items:center;font-size:13px;color:var(--text-3);margin-bottom:14px;}
.example-row .tag{color:var(--gold);font-weight:700;font-size:11px;letter-spacing:1px;}
.prod-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;align-items:end;}
.prod-card .money{width:100%;flex:1 1 auto;}
.env-row{display:flex;gap:4px;}
.prod-card .env-row select{flex:0 0 auto;}
.price-row{display:flex;align-items:center;gap:4px;}
.prod-status{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.prod-card .name-field{grid-column:span 2;}
.prod-sep{height:2px;}
.calc-box{background:var(--sand);padding:8px 10px;font-family:'Lora',serif;font-weight:700;font-size:18px;}
.calc-box.calc-box-sm{font-size:14px;padding:6px 8px;}
.status-ok{color:var(--green);font-weight:700;font-size:12px;}
.status-pend{color:var(--amber);font-weight:700;font-size:12px;}

/* ----- Paso 4 · Servicios, variantes y recetas ----- */
.svc-card{background:#fff;border:1px solid var(--card-border);padding:20px 22px;margin-bottom:18px;}
.svc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.svc-head input{min-width:0;font-family:'Lora',serif;font-weight:700;font-size:22px;border:none;background:transparent;width:100%;}
.btn-del{flex:0 0 auto;background:none;border:1px solid var(--muted);color:var(--text-3);font-size:11px;letter-spacing:1px;padding:8px 12px;white-space:nowrap;}
.variant-row{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--divider);}
.var-actions{display:flex;gap:6px;align-items:flex-end;justify-content:flex-end;}
.recipe-panel{background:var(--cream);padding:14px 16px;margin:8px 0 4px;}
.recipe-lines{margin-top:10px;}
.recipe-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto minmax(0,1fr) 32px;gap:8px;align-items:center;margin-bottom:8px;}
.recipe-unit{font-size:13px;color:var(--text-3);}
.warn{color:var(--amber);font-size:13px;margin-top:8px;}
.svc-total{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;margin-top:10px;font-size:14px;}
.svc-total .fig{font-family:'Lora',serif;font-weight:700;font-size:20px;}

/* ----- Paso 5 · Rentabilidad ----- */
.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px;margin-bottom:20px;}
.counter-card{background:#fff;border:1px solid var(--card-border);padding:18px;text-align:center;}
.counter-card.sand{background:var(--sand);border:none;}
.counter-card .fig{font-family:'Lora',serif;font-weight:700;font-size:40px;}
/* El color de estado (--tone) llega con la clase tone-ok / tone-rev / tone-crit / tone-pend */
.tone-ok{--tone:var(--green);}
.tone-rev{--tone:var(--amber);}
.tone-crit{--tone:var(--red);}
.tone-pend{--tone:var(--muted);}
.svc-result-row{background:#fff;border:1px solid var(--card-border);border-left-width:4px;border-left-color:var(--tone,var(--card-border));display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(4,minmax(0,1fr)) minmax(130px,1.3fr);gap:10px;padding:16px;margin-bottom:12px;align-items:center;}
.svc-result-row .name{font-family:'Lora',serif;font-weight:700;font-size:18px;}
.svc-result-row .meta{font-size:13px;color:var(--text-3);}
.svc-result-row .state{font-size:10px;font-weight:700;letter-spacing:1px;margin-top:2px;color:var(--tone);}
.svc-result-row .col-lbl{font-size:10px;color:var(--olive);letter-spacing:1px;display:block;}
.svc-result-row .col-val{font-size:15px;}
.svc-result-row .col-val.strong{font-weight:700;font-size:17px;}
.svc-result-row .final{background:var(--sand);padding:10px 14px;text-align:right;}
.svc-result-row .final .fig{font-family:'Lora',serif;font-weight:700;font-size:24px;color:var(--tone);}
.svc-result-row .final-sub{font-size:12px;color:var(--text-3);}
.margin-explainer{margin-top:10px;}
.margin-inputs{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px;}

/* ----- Paso 6 · Simulador de precios ----- */
.sim-field{margin-top:12px;}
.sim-select{width:100%;padding:10px;font-size:15px;}
.sim-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:16px;}
.sim-block{margin-top:16px;}
.sim-price-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.sim-hint{font-size:13px;color:var(--text-3);}
.sim-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:6px;}
input.price-slider{width:100%;accent-color:var(--gold);margin-top:10px;}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;}
.compare-panel{padding:24px;text-align:center;}
.compare-panel.sand{background:var(--sand);}
.compare-panel.dark{background:var(--petrol);color:var(--cream);}
.compare-panel .lbl{font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:14px;}
.compare-panel .fact{font-family:'Lora',serif;font-weight:700;font-size:36px;}
.compare-panel .fact-lbl{font-size:12px;color:var(--text-3);margin-top:4px;}
.compare-panel.dark .fact-lbl{color:var(--sand);}
.compare-panel .queda{font-family:'Lora',serif;font-weight:700;font-size:24px;margin-top:10px;}
.compare-panel .queda-lbl{font-size:12px;color:var(--text-3);}
.compare-panel .margen{color:var(--gold);margin-top:8px;font-size:14px;}
.diff-panel{background:#fff;border:1px solid var(--gold);padding:28px;text-align:center;margin:20px 0;}
.diff-panel .mensual{font-family:'Lora',serif;font-weight:700;font-size:clamp(40px,7vw,64px);}
.diff-panel .per{font-size:.4em;}
.diff-panel .anual{font-family:'Lora',serif;font-size:26px;margin-top:6px;}
.diff-panel .foot{font-size:13px;color:var(--text-3);margin-top:10px;}
.impact-line{color:var(--gold);font-weight:700;letter-spacing:1px;text-align:center;font-size:15px;}
.impact-sub{text-align:center;color:var(--text-3);font-size:14px;margin-top:6px;}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0;}
.table-scroll table.before-after{margin:0;}
table.before-after{width:100%;border-collapse:collapse;margin:18px 0;}
table.before-after th{background:var(--sand);text-align:left;padding:10px 12px;font-size:12px;letter-spacing:1px;}
table.before-after td{padding:12px;border-bottom:1px solid var(--divider);}
table.before-after .now{font-family:'Lora',serif;font-weight:700;font-size:18px;}
.impact-final{background:var(--petrol);color:var(--cream);padding:28px;text-align:center;}
.impact-final .kicker{color:var(--gold);}
.impact-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;}
.impact-final .fig{font-family:'Lora',serif;font-weight:700;font-size:clamp(36px,6vw,56px);}
.impact-final .fig.gold{color:var(--gold);}
.impact-final .fig-lbl{font-size:11px;letter-spacing:1px;margin-top:4px;}

/* ----- Paso 7 · Objetivo ----- */
.goal-inputs{display:flex;gap:20px;flex-wrap:wrap;}
.goal-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:12px;margin:20px 0;}
.goal-box{padding:20px;text-align:center;}
.goal-box.sand{background:var(--sand);}
.goal-box.dark{background:var(--petrol);color:var(--cream);}
.goal-box .fig{font-family:'Lora',serif;font-weight:700;font-size:36px;}
.goal-status{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;flex-wrap:wrap;gap:8px;}
.goal-progress{height:10px;background:var(--sand);border-radius:2px;overflow:hidden;margin-top:10px;}
.goal-progress .fill{height:100%;background:var(--gold);transition:width .4s;}
.goal-msg{margin-top:14px;}
.ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin-top:14px;}
.ref-card{background:var(--cream);padding:20px;text-align:center;}
.ref-card .num{font-family:'Lora',serif;font-weight:700;font-size:40px;}
.ref-card .ref-sub{font-size:13px;color:var(--text-3);margin-top:4px;}
.ref-note{font-size:13px;color:var(--text-3);margin-top:12px;}

/* ----- Paso 8 · Diagnóstico ----- */
.diag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin-bottom:22px;}
.diag-card{padding:20px;text-align:center;background:#fff;border:1px solid var(--card-border);}
.diag-card.dark{background:var(--petrol);color:var(--cream);}
.diag-card.sand{background:var(--sand);border:none;}
.diag-card .kicker-g{color:var(--gold);}
.diag-card .kicker-green{color:var(--green);font-size:11px;font-weight:700;letter-spacing:1px;}
.diag-card .kicker-amber{color:var(--amber);font-size:11px;font-weight:700;letter-spacing:1px;}
.diag-card .kicker-red{color:var(--red);font-size:11px;font-weight:700;letter-spacing:1px;}
.diag-card .fig{font-family:'Lora',serif;font-weight:700;font-size:36px;margin-top:6px;}
.diag-card .per-month{font-size:14px;}
.priorities{background:#fff;border:1px solid var(--gold);padding:28px;}
.priorities h3{font-family:'Lora',serif;font-weight:700;font-size:26px;margin:0 0 10px;}
.priority-item{display:flex;gap:16px;padding-top:18px;margin-top:18px;border-top:1px solid var(--divider);}
.priority-item:first-child{border-top:none;margin-top:10px;padding-top:0;}
.priority-item .num{font-family:'Lora',serif;font-weight:700;font-size:34px;color:var(--gold);min-width:44px;}
.priority-item .kicker{display:block;margin-bottom:4px;}
.priority-item .ptitle{font-family:'Lora',serif;font-size:20px;font-weight:600;}
.priority-item .pdetail{font-size:15px;color:var(--text-2);margin-top:4px;}
.close-brand{text-align:center;padding:40px 0 10px;}
.close-brand .msg{font-family:'Lora',serif;font-weight:700;font-size:18px;letter-spacing:1px;line-height:1.6;}
.close-brand .name{color:var(--gold);font-size:12px;letter-spacing:2px;margin-top:14px;}
.close-brand .role{color:var(--olive);font-size:10px;margin-top:4px;}
