:root{color-scheme:dark;--bg:#08111c;--surface:#0d1a29;--surface-2:#102235;--stroke:#20364b;--text:#edf5f9;--muted:#8da1b1;--teal:#4ad7be;--blue:#79aefa;--amber:#f8ba5b;--red:#ff7885;--low:#2b9388;--medium:#bf9b4e;--high:#cc7d4e;--critical:#b95565;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}.app-shell{min-width:320px}.topbar{height:78px;border-bottom:1px solid #203142;display:flex;align-items:center;gap:42px;padding:0 max(26px,calc((100vw - 1240px)/2));position:relative;z-index:2;background:#0a1522}.brand{display:flex;gap:11px;align-items:center;color:#fff;font-size:15px;font-weight:800;letter-spacing:.09em;line-height:1.05;white-space:nowrap}.brand b{color:var(--teal)}.brand small{display:block;color:#7d9bb0;font-size:8px;letter-spacing:.28em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:41px;height:41px;border:1px solid #2b7280;border-radius:10px;background:#173748;color:#9cf9e1;font-size:25px;font-weight:850}.brand-mark span{font-size:13px;margin-left:-3px}.top-links{display:flex;gap:26px;font-size:13px;color:#a1b1bf;margin-left:auto}.github-link{border:1px solid #2f5364;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:700;color:#d7ebf0;white-space:nowrap}.github-link span{margin-left:7px;color:var(--teal)}.hero{min-height:355px;max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:58px 44px 52px;overflow:hidden;background:radial-gradient(circle at 81% 49%,#143c50 0,transparent 36%),linear-gradient(106deg,#0a1727,#0c2032 70%,#0b2c37)}.hero-copy{position:relative;z-index:1;max-width:720px}.eyebrow,.kicker{color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.2em}.eyebrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pulse{height:7px;width:7px;background:var(--teal);box-shadow:0 0 14px #4ad7be;border-radius:50%}.separator{color:#466479;padding:0 3px}.hero h1{font-size:clamp(35px,4.25vw,55px);line-height:1.11;letter-spacing:-.048em;margin:23px 0 18px;font-weight:780}.hero h1 em{color:var(--teal);font-style:normal}.hero p{font-size:15px;color:#a5b8c7;line-height:1.75;max-width:650px;margin:0}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.hero-pills span{font-size:11px;color:#a1d7dc;border:1px solid #315365;background:#11334565;border-radius:100px;padding:7px 12px}.hero-visual{width:305px;height:254px;position:relative;flex-shrink:0;margin:0 35px 0 10px}.orbit{position:absolute;border:1px dashed rgba(93,208,202,.36);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-a{width:245px;height:245px}.orbit-b{width:190px;height:190px;border-style:solid;opacity:.6}.orbit-c{width:136px;height:136px}.orbit-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle,#1e5361,#102938);box-shadow:0 0 0 13px #4ad7be10,0 0 40px #4ad7be21;border:1px solid #57bfb6}.orbit-core span{font-weight:800;font-size:31px;letter-spacing:-.06em}.orbit-core b{font-size:12px;color:var(--teal);letter-spacing:.1em}.orbit-node{position:absolute;width:39px;height:39px;border-radius:50%;background:#1c4e60;border:1px solid #75d5cd;display:grid;place-items:center;color:#d5fbf2;font-weight:800;box-shadow:0 4px 15px #0005}.orbit-node.a{top:5px;left:115px}.orbit-node.b{right:8px;top:152px}.orbit-node.c{left:14px;top:157px}.workspace{max-width:1320px;margin:auto;padding:43px 44px 60px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.kicker{margin:0 0 10px}.section-heading h2{font-size:24px;margin:0 0 8px;letter-spacing:-.035em}.muted{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.button{height:40px;border-radius:8px;padding:0 15px;border:1px solid transparent;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--teal);color:#062321}.button-primary:hover{background:#7debd8;color:#062321}.button-secondary{color:#d2e7ed;border-color:#315064;background:#102538}.button-secondary:hover{background:#1b3a4b;color:#fff}.button-ghost{background:transparent;border-color:#304153;color:#b2c4d0}.button-ghost:hover{background:#193347;color:#fff}.upload-btn{cursor:pointer}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi{border-radius:13px;border:1px solid var(--stroke);background:linear-gradient(155deg,#102436,#0c1a2a);padding:20px 22px;position:relative;min-height:151px}.kpi>span{font-size:12px;font-weight:650;color:#adc1d0}.kpi-value{font-size:37px;font-weight:750;letter-spacing:-.035em;margin:12px 0 6px}.kpi small{color:#758fa1;font-size:11px}.kpi-icon{font-style:normal;position:absolute;right:20px;top:16px;color:#5c8496;font-size:24px}.accent-red{color:var(--red)}.accent-teal{color:var(--teal)}.analysis-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px;margin:18px 0}.panel{background:#0e1d2d;border:1px solid var(--stroke);border-radius:13px;padding:25px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-head h3{margin:0;font-size:18px;letter-spacing:-.03em}.panel-note{font-size:10px;color:#8ba6b7;border:1px solid #2c4556;border-radius:100px;padding:6px 10px;white-space:nowrap}.panel-intro{font-size:12px;color:#90a7b9;line-height:1.6;max-width:580px;min-height:38px;margin:15px 0 13px}.matrix-wrap{display:flex;justify-content:center;align-items:center;margin-top:12px;gap:10px}.axis-y{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:800;color:#7993a7;letter-spacing:.2em}.matrix-content{display:grid;grid-template-columns:18px minmax(180px,305px);grid-template-rows:repeat(2,auto) 20px;align-items:center;gap:5px 8px}.matrix-row-labels{height:245px;grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-around;text-align:center;font-size:10px;color:#8aafc1}.risk-matrix{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;width:100%;aspect-ratio:5/4}.risk-cell{border-radius:6px;display:grid;place-items:center;font-size:14px;font-weight:750;border:1px solid #ffffff19;transition:filter .15s}.risk-cell:hover{filter:brightness(1.25)}.risk-cell.empty{color:#ffffff45}.risk-cell.risk-low{background:#18584f}.risk-cell.risk-medium{background:#6c602b}.risk-cell.risk-high{background:#874d31}.risk-cell.risk-critical{background:#782e3b}.matrix-x-labels{grid-column:2;grid-row:2;display:flex;justify-content:space-around;font-size:10px;color:#8aafc1}.axis-x{grid-column:2;grid-row:3;text-align:center;color:#7993a7;letter-spacing:.2em;font-size:9px;font-weight:800}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px}.legend span{display:flex;align-items:center;gap:5px;color:#96aabb;font-size:10px}.dot{width:8px;height:8px;border-radius:2px}.dot.risk-low{background:#2b9388}.dot.risk-medium{background:#c19e50}.dot.risk-high{background:#cc7d4e}.dot.risk-critical{background:#b95565}.distribution{display:flex;flex-direction:column;gap:21px;padding:15px 0 21px}.bar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12px}.bar-head strong{font-size:13px}.bar-head span{color:#a9bac6}.bar-track{height:10px;border-radius:10px;background:#1d3444;overflow:hidden}.bar-fill{height:100%;border-radius:10px;min-width:0;transition:width .2s}.priority-critical{background:#e17680}.priority-high{background:#dc9863}.priority-medium{background:#d4bc72}.priority-low{background:#4ac3af}.insight{background:#122c3b;border-left:3px solid var(--teal);padding:15px 16px;color:#b4cdd7;font-size:12px;line-height:1.6;border-radius:0 7px 7px 0;margin-bottom:17px}.insight strong{color:#eaf8fc}.text-link{font-size:11px;color:var(--teal);font-weight:650}.records{margin-top:18px;padding-bottom:13px}.records-head{align-items:center;margin-bottom:19px}.records-head h3{margin-bottom:5px}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin-bottom:17px}.filters label,.form-grid label{display:flex;flex-direction:column;gap:8px;color:#aabfcc;font-size:11px;font-weight:650}input,select,textarea{width:100%;background:#102536;color:#eaf7fc;border:1px solid #304b5c;border-radius:7px;padding:11px 12px;outline:none;min-height:41px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--teal);box-shadow:0 0 0 2px #4ad7be24}input::placeholder,textarea::placeholder{color:#6e8799}select{cursor:pointer}.table-scroller{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:990px;font-size:12px}th{text-align:left;color:#7f9aab;letter-spacing:.07em;font-size:10px;font-weight:750;padding:15px 12px;border-bottom:1px solid #2b4354;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #1d3647;color:#bfd0dc;vertical-align:middle}tbody tr:hover{background:#13304477}td strong{color:#ecf5f7;font-size:12px;font-weight:700}td small{display:block;color:#7696a8;margin-top:6px;font-size:10px}td .failure{max-width:230px;line-height:1.4}td.num,th.num{text-align:center;font-variant-numeric:tabular-nums}.rpn{color:#ecf4fa;font-weight:750}.priority-pill,.status-pill{font-size:10px;display:inline-block;padding:6px 9px;border-radius:20px;white-space:nowrap;border:1px solid transparent}.pill-Crítica{color:#ffb4b9;background:#562c3a;border-color:#713c4d}.pill-Alta{color:#f6bd8e;background:#4d352b;border-color:#765034}.pill-Média{color:#edd493;background:#554b2c;border-color:#76663a}.pill-Baixa{color:#9fe9d5;background:#214941;border-color:#2b6959}.status-pill{color:#c3d5df;background:#1c3446}.overdue{color:#ff9ca4}.action-buttons{display:flex;gap:6px}.action-buttons button{background:#173248;border:1px solid #2d4b5c;color:#d5e8f0;font-size:11px;border-radius:6px;padding:6px 8px;white-space:nowrap}.action-buttons button:hover{background:#27516a}.action-buttons button.delete:hover{background:#672e3e}.table-footer{display:flex;justify-content:space-between;padding:17px 4px 4px;color:#829bac;font-size:11px;gap:15px}.empty-row{text-align:center;color:#9fbbc9;padding:35px}.disclaimer{margin:22px 0 0;font-size:11px;line-height:1.75;color:#8197a7}.disclaimer strong{color:#c3d5dc}footer{background:#091521;border-top:1px solid #253747;color:#7794a8;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px max(44px,calc((100vw - 1230px)/2));font-size:11px}footer b{color:#b8d4db;letter-spacing:.1em;margin-right:10px}footer a{color:#8ae2d7}.toast{position:fixed;right:24px;bottom:22px;z-index:10;color:#e9fff9;background:#1c534e;border:1px solid #4b9f90;padding:14px 18px;border-radius:10px;max-width:min(430px,calc(100vw - 36px));box-shadow:0 10px 30px #0008;font-size:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#572d3e;border-color:#9d5260}dialog{color:var(--text);background:#102131;border:1px solid #426377;border-radius:14px;width:min(740px,94vw);max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 25px 110px #000a}dialog::backdrop{background:#020b13b8;backdrop-filter:blur(3px)}.dialog-body{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.dialog-head h2{margin:0;font-size:21px}.icon-button{background:transparent;border:1px solid #4c5b6b;border-radius:7px;color:#bdd7dd;font-size:23px;width:35px;height:35px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.form-error{border-left:3px solid #ff8c9c;color:#ffbec6;background:#63303c;padding:12px;margin-bottom:20px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}@media(max-width:1100px){.topbar{padding:0 28px;gap:17px}.top-links{gap:15px}.hero{padding:48px 30px}.workspace{padding:40px 28px 50px}.hero-visual{width:260px;margin:0}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.top-links{display:none}.github-link{margin-left:auto}.hero-visual{display:none}.hero{min-height:320px}.analysis-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:start;flex-direction:column}footer{padding:22px 28px;flex-wrap:wrap}.matrix-content{grid-template-columns:20px minmax(190px,340px)}}@media(max-width:520px){.topbar{height:69px;padding:0 17px}.brand{font-size:13px}.brand-mark{width:34px;height:34px;font-size:21px}.github-link{font-size:10px;padding:8px}.hero{padding:40px 18px;min-height:315px}.hero h1{font-size:35px}.hero p{font-size:13px}.hero-pills{gap:7px}.hero-pills span{font-size:9px}.workspace{padding:32px 14px}.toolbar{width:100%}.toolbar .button{flex:1;min-width:130px}.kpis{gap:9px}.kpi{padding:16px;min-height:136px}.kpi-value{font-size:30px}.kpi small{font-size:10px}.kpi-icon{right:12px}.panel{padding:17px}.panel-head{gap:6px}.panel-note{font-size:9px}.filters{grid-template-columns:1fr 1fr;gap:10px}.filters label:first-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.table-footer{flex-direction:column}.matrix-wrap{gap:3px}.matrix-content{grid-template-columns:14px minmax(180px,260px)}.matrix-row-labels{height:220px}.legend{gap:7px}footer{padding:18px;font-size:10px}}
/* Melhorias v1.1: orientação técnica, origem de dados e impressão */
.source-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 14px;color:#91afbb;font-size:12px;border:1px solid #254455;background:#112b38;border-radius:8px;padding:12px 15px}
.source-notice a{color:#77e1cf;text-decoration:underline;text-underline-offset:3px}
.guide-panel{margin:18px 0 0}.guide-panel .panel-head{align-items:center}.guide-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;flex-wrap:wrap}.guide-summary p{font-size:12px;color:#a4c0c9;line-height:1.6;max-width:750px;margin:0}.guide-summary strong{color:#e0f8f4}
.score-hint{font-size:10px;color:#81bcc0;line-height:1.45;font-weight:450}
.guide-dialog{width:min(870px,96vw)}.guide-warning{background:#352d26;border:1px solid #876c44;border-radius:8px;padding:12px;color:#ffdda4;font-size:12px;line-height:1.55}.grade-section{margin-top:20px}.grade-section h3{color:#e6f7f8;font-size:15px;margin:0 0 7px}.grade-section p{font-size:11px;color:#8cabb6;line-height:1.5}.grade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.grade-card{display:flex;align-items:flex-start;gap:11px;padding:10px;border:1px solid #294555;background:#102b3d;border-radius:6px;font-size:11px;color:#c6dfe5;line-height:1.45}.grade-card b{border-radius:6px;flex:0 0 25px;text-align:center;color:#11232a;background:#72cbbd;padding:4px 0}
@media(max-width:600px){.grade-grid{grid-template-columns:1fr}.guide-panel .panel-head{flex-direction:column}.guide-summary .button{width:100%;white-space:normal;height:auto;min-height:42px;text-align:center}.source-notice{align-items:flex-start}}

/* Marca visual Reliability Lab: símbolo legível em cabeçalho desktop e mobile */
.brand-logo{display:block;flex:none;width:42px;height:44px;object-fit:contain;border-radius:9px;background:#fff;box-shadow:0 0 0 1px #2b7280}
@media(max-width:520px){.brand-logo{width:35px;height:37px;border-radius:7px}}

/* Assinatura comum do portfólio Talita Souza; preservar marca RL e identidade FMEA. */
.portfolio-signature{display:flex;align-items:center;gap:10px}.portfolio-signature img{flex-shrink:0;width:28px;height:28px}.portfolio-signature b,.portfolio-signature span{display:block}.portfolio-signature span{font-size:10px;color:#98b7c5;margin-top:4px}
