/* Compact single-screen BIOS analysis / verified ME repair v0.6 */
.preflight-home{padding:2px 0 0}
body:has(#view-home.active) .bottom-nav{display:none}
body:has(#view-home.active) .app-shell{padding-bottom:30px}
body:has(#view-home.active) .app-header{height:67px}
.preflight-home .hero-intro{margin:2px 0 18px}
.preflight-home .hero-intro h1{font-size:clamp(25px,7vw,35px);line-height:1.11;letter-spacing:-1.1px;font-weight:850;margin:0 0 8px}
.preflight-home .hero-intro em{font-style:normal;color:#56e3d6}
.preflight-home .hero-intro p{max-width:540px;font-size:12px;color:#91a9bb;line-height:1.5;margin:0}
.pf-upload{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border-radius:17px;border:1px solid rgba(63,230,218,.66);background:linear-gradient(115deg,#29d6c7,#22b7c8);padding:14px 17px;color:#052630;box-shadow:0 9px 25px rgba(34,198,194,.18);font-weight:780;font-size:15px}
.pf-upload .icon{width:27px;height:27px;flex:none}
.pf-upload strong{display:block}
.pf-upload small{display:block;font-size:10px;opacity:.76;margin-top:3px;font-weight:590}
.pf-upload .arrow{width:19px;height:19px;margin-left:auto}
.pf-upload:disabled{opacity:.62}
.pf-progress{margin:13px 0;border:1px solid rgba(81,186,208,.2);border-radius:15px;background:linear-gradient(160deg,#101f32,#11283a);padding:12px 13px}
.pf-progress[hidden],.pf-analysis[hidden],.pf-download-note[hidden]{display:none}
.pf-progress .pf-progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}
.pf-progress .pf-progress-heading strong{font-size:12px;overflow-wrap:anywhere}
.pf-progress .pf-progress-heading b{color:#61ead6;font-variant-numeric:tabular-nums}
.pf-track{height:8px;border-radius:8px;overflow:hidden;background:#20374b;margin:10px 0 8px}
.pf-fill{height:100%;width:0;background:linear-gradient(90deg,#24c6c2,#5ecae9);border-radius:8px;transition:width .15s ease}
.pf-progress p{margin:0;font-size:10px;color:#94b6c8;line-height:1.45}
.pf-progress .pf-progress-timeline{display:flex;gap:7px;margin-top:10px}
.pf-progress .pf-mini-step{border-radius:9px;background:#0b1d2d;padding:5px 8px;font-size:10px;color:#7898a9;display:flex;align-items:center;gap:5px}
.pf-progress .pf-mini-step.done{color:#6ce3c8;background:rgba(24,145,139,.14)}
.pf-progress .pf-mini-step.current{color:#b9f8fa;border:1px solid rgba(76,225,217,.3)}
.pf-analysis{border:1px solid rgba(86,188,211,.23);background:linear-gradient(160deg,#102437,#0d1b2c);border-radius:18px;margin-top:13px;padding:14px}
.pf-report-header{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid rgba(113,166,191,.14);padding:0 0 11px;margin:0 0 11px}
.pf-report-header .pf-file-icon{display:grid;place-items:center;width:33px;height:33px;background:rgba(42,191,197,.12);border-radius:10px;color:#54e3d9;flex:none}
.pf-report-header .pf-file-icon .icon{width:18px;height:18px}
.pf-report-header .pf-report-file{min-width:0;flex:1}
.pf-report-header strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.pf-report-header small{display:block;color:#86a5b9;font-size:10px;margin-top:3px}
.pf-report-header .pf-check{color:#55dfba;width:18px;height:18px;margin-top:2px}
.pf-hash-row{display:flex;gap:9px;align-items:center;margin-bottom:12px}
.pf-hash-row>span{color:#809caf;font-size:10px;font-weight:730;flex:none}
.pf-hash-row code{color:#83cbd0;font:10px/1.4 ui-monospace,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.pf-copy{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#1e3849;color:#a7e7e7;border:1px solid rgba(111,181,198,.22);padding:0}
.pf-copy .icon{width:14px;height:14px}
.pf-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-top:1px solid rgba(108,160,185,.11);font-size:11.5px;min-height:32px}
.pf-row>span:first-child{color:#96b1c4}
.pf-row>strong{color:#e6f6fa;max-width:66%;text-align:right;overflow-wrap:anywhere;line-height:1.4;font-weight:760}
.pf-row strong.pf-good{color:#65e7c2}.pf-row strong.pf-warn{color:#ffbb76}.pf-row strong.pf-bad{color:#f9a3a4}.pf-row strong.pf-muted{color:#8fa6b5}
.pf-analysis .pf-explanation{color:#96b3c5;font-size:10px;line-height:1.55;padding-top:8px;margin:8px 0 0;border-top:1px solid rgba(105,177,193,.1)}
.pf-main-action{margin-top:13px;min-height:55px;width:100%;padding:12px;border-radius:15px;border:1px solid rgba(35,222,193,.5);color:#072a29;background:linear-gradient(110deg,#42e0c6,#37b8d5);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center}
.pf-main-action .icon{width:19px;height:19px}
.pf-main-action[hidden]{display:none}
.pf-main-action:disabled{cursor:default}
.pf-main-action.pf-already{background:linear-gradient(115deg,#efd07b,#e1a64c);color:#3a2d1a;border-color:#d49f4e}
.pf-main-action.pf-disabled{background:linear-gradient(150deg,#23364a,#17283c);border-color:#345065;color:#a2b0bc}
.pf-main-action.pf-processing{background:#17394b;color:#b4e4e8}
.pf-main-action.pf-download{background:linear-gradient(110deg,#55e0b6,#32c7c3);color:#07312b}
.pf-download-note{margin:6px 0 0;text-align:center;color:#89cbbf;font-size:10px}
.pf-additional{margin:21px 0 0}
.pf-additional h2{font-size:12px;font-weight:780;letter-spacing:.05em;color:#aacbd5;margin:0 0 10px}
.pf-additional .pf-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pf-secondary-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:45px;border:1px solid rgba(90,164,195,.2);border-radius:12px;background:#12263b;text-align:center;color:#d0e4ef;font-size:11px;font-weight:710;padding:9px}
.pf-secondary-actions button .icon{width:17px;height:17px;color:#71c6dd}
@media(max-width:360px){.preflight-home .hero-intro h1{font-size:25px}.pf-analysis{padding:12px}.pf-secondary-actions button{font-size:10px}}
.pf-auth{display:flex;flex-direction:column;gap:9px;margin:11px 0 2px}
.pf-auth[hidden]{display:none}
.pf-auth>input{height:40px;background:#0c2133;border:1px solid rgba(84,183,204,.25);border-radius:11px;padding:10px 12px;font-size:12px;color:#dcf7fa;width:100%}
.pf-auth>label{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.35;color:#8caebe}
.pf-auth>label input{accent-color:#2ecab9;margin:2px 0 0;flex:none}
/* Completed reports collapse the real-time progress details to fit a phone screen. */
.pf-progress.is-complete{padding:9px 12px;margin:9px 0}
.pf-progress.is-complete .pf-progress-timeline{display:none}
.pf-progress.is-complete .pf-track{height:5px;margin:5px 0 6px}
.pf-progress.is-complete .pf-progress-heading strong{font-size:11px}
.pf-progress.is-complete p{font-size:9px}
.pf-analysis .pf-row{padding:5px 0;min-height:29px}
.preflight-home .hero-intro{margin-bottom:14px}
.pf-additional{margin-top:14px}
.pf-main-action{margin-top:10px}
.pf-download-note{margin:3px 0 0;font-size:9px}
body:has(#view-home.active) .app-shell{padding-bottom:12px}

/* v0.6.2: make file selection and Chrome key requirement explicit. */
.pf-selected{display:flex;align-items:center;gap:9px;padding:9px 12px;margin-top:9px;border-radius:11px;border:1px solid rgba(58,207,195,.25);background:rgba(25,120,125,.12);min-width:0}
.pf-selected[hidden],.pf-validation[hidden]{display:none!important}
.pf-selected>.icon{color:#58d6d0;width:18px;height:18px;flex:none}
.pf-selected>span{flex:1;min-width:0}
.pf-selected strong{display:block;font-size:11px;color:#e0f5f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-selected small{display:block;font-size:10px;color:#87b5c1;margin-top:2px}
.pf-selected-check{color:#56e4b7!important}
.pf-key-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px!important;color:#ceeaf0!important;font-weight:700;line-height:1.3}
.pf-key-label span{font-size:9px;color:#86b6cb;font-weight:600}
.pf-auth #pf-key.pf-key-error{border-color:#ef966c;box-shadow:0 0 0 2px rgba(239,150,108,.15)}
.pf-auth .pf-validation{display:block;margin:0;padding:10px 11px;border-radius:10px;background:rgba(225,129,80,.1);border:1px solid rgba(225,129,80,.35);color:#ffd0ad;font-size:11px;line-height:1.45}


/* v0.6.8: community library contribution CTA, designed for touch. */
.pf-additional h2{margin-bottom:7px;font-size:14px;letter-spacing:0;font-weight:800;color:#c5eff0}
.pf-contrib-intro{margin:0 0 12px;color:#93b8c8;font-size:11px;line-height:1.55;max-width:560px}
.pf-additional .pf-secondary-actions{gap:10px}
.pf-secondary-actions button.pf-contrib-action{
  min-height:76px;display:flex;justify-content:flex-start;align-items:center;
  gap:9px;padding:12px;border-radius:14px;text-align:left;
  border:1px solid rgba(74,183,195,.46);background:linear-gradient(140deg,#19374a,#11273b);
  box-shadow:inset 0 1px 0 rgba(201,248,245,.06);
  transition:background .2s ease,border-color .2s ease,transform .15s ease
}
.pf-secondary-actions .pf-contrib-action .icon{width:23px;height:23px;flex:0 0 23px;color:#5fe0dd}
.pf-secondary-actions .pf-contrib-action span{display:flex;flex-direction:column;gap:5px;min-width:0}
.pf-secondary-actions .pf-contrib-action strong{display:block;color:#e0f9f9;font-size:12px;line-height:1.28;font-weight:800}
.pf-secondary-actions .pf-contrib-action small{display:block;color:#83bfcf;font-size:10px;line-height:1.25;font-weight:650}
.pf-secondary-actions button.pf-contrib-action:hover{border-color:#49d0d0;background:linear-gradient(140deg,#1c4958,#143347)}
.pf-secondary-actions button.pf-contrib-action:active{transform:scale(.985)}
.pf-secondary-actions button.pf-contrib-action:focus-visible{outline:2px solid #55e5db;outline-offset:3px}
@media(max-width:400px){
  .pf-secondary-actions button.pf-contrib-action{min-height:79px;gap:7px;padding:10px}
  .pf-secondary-actions .pf-contrib-action .icon{width:20px;height:20px;flex-basis:20px}
  .pf-secondary-actions .pf-contrib-action strong{font-size:11px}
  .pf-secondary-actions .pf-contrib-action small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.pf-secondary-actions button.pf-contrib-action{transition:none}}
