:root{--ink:#142538;--muted:#657587;--line:#dbe4ec;--blue:#0c4d83;--green:#258f49;--bg:#f5f8fb;--white:#fff;--danger:#a53636;--warn:#a36800}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
button,input,select,textarea{font:inherit}a{color:var(--blue)}.shell{width:min(100%,1180px);max-width:1180px;margin:auto;padding:22px;overflow-x:clip}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand h1{font-size:1.7rem;margin:0}.brand p{margin:3px 0 0;color:var(--muted)}.mac-brand-logo{display:block;width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain;flex:0 0 52px;border-radius:10px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.top-actions a{font-size:.86rem;font-weight:800;text-decoration:none}.badge{padding:7px 11px;border-radius:999px;background:#e8f5eb;color:#176b34;font-weight:800;font-size:.8rem}
.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.tabs button{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 13px;font-weight:750;white-space:nowrap;cursor:pointer}.tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}
.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:10px;box-shadow:0 8px 28px rgba(20,37,56,.05)}.hidden{display:none!important}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;font-weight:800}.field input,.field select,.field textarea{border:1px solid #cfd9e2;border-radius:10px;padding:10px;background:#fff;min-width:0}.field-help{font-size:.78rem;color:var(--muted);font-weight:500}.optional{font-size:.78em;color:var(--muted);font-weight:650}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--blue);color:#fff}.secondary{background:#eaf1f6;color:var(--blue)}.danger{background:#fbecec;color:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}
.card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.feature-card{background:linear-gradient(135deg,#f8fbfd,#fff)}.metric{font-size:1.8rem;font-weight:900}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;margin-top:15px;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px 7px;vertical-align:top}
.welcome-card{padding:20px;border:1px solid #b9d4e7;border-radius:14px;background:linear-gradient(135deg,#eef6fb,#fff);margin-bottom:16px}.welcome-card h3{margin:2px 0 7px;font-size:1.45rem}.welcome-card p{margin:0;color:var(--muted)}.welcome-card .actions{margin-top:14px}.eyebrow-small{font-size:.75rem!important;font-weight:900!important;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)!important}
.notice{background:#fff8df;border:1px solid #f0dea0;border-radius:12px;padding:14px}.ok{background:#edf8ef;border:1px solid #b8ddbf;border-radius:12px;padding:14px}.guidance{background:#eef6fb;border:1px solid #c8ddec;border-radius:12px;padding:14px;margin-top:15px}
.checks{display:flex;gap:14px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:6px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.section-title.compact{margin-bottom:8px}.section-title h2,.section-title h3{margin:0}.fineprint{font-size:.82rem;color:var(--muted)}.rule{border:0;border-top:1px solid var(--line);margin:28px 0}
.comparison{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:22px;align-items:start;margin-top:18px}.comparison figure{margin:0}.comparison img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;display:block}.comparison figcaption{font-size:.78rem;color:var(--muted);margin-top:7px}.table-scroll{overflow:auto}.example-table{min-width:580px}.oktext{color:var(--green);font-weight:750}.flagtext{color:var(--warn);font-weight:750}
.help-block{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.help-block summary{cursor:pointer;font-weight:850;padding:14px 16px}.help-body{padding:0 16px 16px}.help-body h3{margin:16px 0 4px;font-size:1rem}.help-body p{margin:0;color:var(--muted)}
.source-card{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.source-card strong{overflow-wrap:anywhere}.source-meta{font-size:.8rem;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.inline-check{display:flex;gap:8px;margin:14px 0;align-items:flex-start}.review-input{width:100%;min-width:82px;border:1px solid #cfd9e2;border-radius:7px;padding:6px}.review-row.flagged{background:#fffaf0}.review-flags{font-size:.78rem;color:var(--warn);font-weight:750}.remove-row{background:#fbecec;color:var(--danger);border:0;border-radius:7px;padding:6px 8px;font-weight:750;cursor:pointer}
.status-banner,.form-status{border-radius:12px;padding:12px 14px;margin:10px 0;font-weight:750}.status-ok{background:#edf8ef;border:1px solid #b8ddbf;color:#176b34}.status-warn{background:#fff8df;border:1px solid #f0dea0;color:#785000}.status-error{background:#fbecec;border:1px solid #edc7c7;color:var(--danger)}
.id-strip{background:#f4f8fb;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 18px;overflow-wrap:anywhere}.file-box{margin-top:16px;border:1px dashed #b9c8d5;border-radius:12px;padding:14px;background:#fbfdff;display:flex;flex-direction:column;gap:9px}.file-box input[type=file]{max-width:100%;padding:7px 0}.file-picker-label{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;border-radius:10px;padding:10px 14px;background:#eaf1f6;color:var(--blue);font-weight:800;cursor:pointer}.native-file-input{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.selected-file{overflow-wrap:anywhere}.upload-actions{margin-top:2px}.upload-box .btn{min-width:190px}.platform-field{grid-column:1/-1}.platform-options{display:flex;flex-wrap:wrap;gap:10px 18px;border:1px solid #cfd9e2;border-radius:10px;padding:10px;background:#fff}.platform-options label{display:flex;align-items:center;gap:6px;font-size:.95rem}.legacy-warning{font-size:.76rem;color:var(--warn);font-weight:750}.restore-summary{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#f8fbfd}.restore-summary ul{margin:8px 0 0;padding-left:20px}
dialog{border:0;border-radius:16px;max-width:640px;width:calc(100% - 30px);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.45)}
@media(max-width:900px){.comparison{grid-template-columns:1fr}.comparison img{max-height:620px;object-fit:contain;background:#f7f7f7}}
@media(max-width:760px){.grid,.grid3{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start}.shell{padding:14px}.panel{padding:17px}.section-title{align-items:flex-start;flex-direction:column}.actions .btn{flex:1 1 220px}.platform-field{grid-column:auto}.mac-brand-logo{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;flex-basis:48px}.file-picker-label{width:100%}}
