:root{color-scheme:light;--ink:#162029;--muted:#5d6976;--line:#d8dee6;--panel:#fff;--page:#f4f7f5;--accent:#106b63;--accent-strong:#0c4f4a;--teal-light:#d9efeb;--gold:#b17815;--danger:#b73333;--shadow:0 10px 30px rgba(20,31,39,.08)}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,.import-control{border:1px solid var(--accent);background:var(--accent);color:#fff;min-height:40px;border-radius:6px;padding:0 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}button:hover,.import-control:hover{background:var(--accent-strong)}button.secondary{background:#fff;color:var(--ink);border-color:#a8b2bd}.app-header{display:flex;justify-content:space-between;gap:24px;padding:32px clamp(18px,4vw,48px);background:#fff;border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:700;margin:0 0 6px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.subhead{color:var(--muted);max-width:800px;margin-bottom:0}.header-actions,.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-control input{display:none}main{padding:24px clamp(14px,4vw,48px) 42px}.project-panel,.worksheet-wrap,.analysis-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.project-panel{padding:20px}.panel-title,.toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.save-state{color:#2f7651;font-size:.88rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}label{color:var(--muted);display:grid;gap:6px;font-size:.84rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}input,select{min-height:38px;padding:8px 10px}textarea{min-height:62px;padding:8px;resize:vertical}.method-band{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.5fr);gap:24px;align-items:center;margin:22px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.method-band p{color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:8px;padding:0;margin:0;list-style:none;counter-reset:steps}.steps li{counter-increment:steps;min-height:58px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px;font-size:.78rem;font-weight:700}.steps li::before{content:counter(steps);display:block;color:var(--accent);margin-bottom:4px}.toolbar{margin:0 0 14px}.summary{display:flex;gap:10px;flex-wrap:wrap}.summary div{min-width:120px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}.summary span{display:block;font-size:1.35rem;font-weight:800;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary small{color:var(--muted)}.worksheet-wrap{overflow:hidden}.matrix-key{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.78rem}.matrix-key span{display:flex;gap:5px;align-items:center}.matrix-key small{margin-left:auto;color:var(--muted)}.rel{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;font-style:normal;font-weight:800}.rel-9{background:var(--accent);color:#fff}.rel-3{background:#82c6be}.rel-1{background:var(--teal-light)}.rel-0{background:#edf1f2;color:#7c8990}.table-scroll{overflow:auto;max-height:68vh}table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px;table-layout:fixed}th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px;vertical-align:middle;text-align:center}thead th{position:sticky;top:0;z-index:3;background:#eef3f1;color:#314049;font-size:.76rem}.corner{width:230px;text-align:left}.rating-head,.rating{width:82px}.technical-head{width:145px;height:150px;position:relative;vertical-align:bottom}.technical-head textarea{min-height:54px;text-align:center;font-size:.78rem;font-weight:700}.technical-head select{font-size:.72rem;margin-top:5px}.delete-control{position:absolute;right:4px;top:4px;min-height:25px;width:25px;padding:0;border-color:transparent;background:transparent;color:#8b969d;font-size:1.1rem}.delete-control:hover{background:#f8e4e4;color:var(--danger)}.need-cell{position:relative;text-align:left;background:#fff}.need-cell textarea{min-width:190px}.need-cell .delete-control{right:3px;top:3px}.rating select{min-width:52px;text-align:center}.relation-button{width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;font-weight:800;color:var(--ink)}.relation-button.rel-9{color:#fff}.target-row{background:#f8faf9}.target-row input{min-width:100px;text-align:center;font-size:.78rem}.score-row{background:#eaf5f2}.score-row strong{color:var(--accent)}.score-bar{display:block;height:4px;background:#cededb;margin-top:7px}.score-bar i{display:block;height:100%;background:var(--accent)}.matrix-actions{padding:13px 16px;display:flex;gap:10px}.matrix-actions button{background:#fff;color:var(--accent);border-style:dashed}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.analysis-card{padding:20px}.analysis-card>p{color:var(--muted);font-size:.86rem}.rank-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.rank-number{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:.72rem;font-weight:800}.rank-copy{display:flex;flex-direction:column}.rank-copy strong{font-size:.86rem}.rank-copy small{color:var(--muted);margin-top:3px}.rank-score{font-weight:800;color:var(--accent)}.gap-high{color:var(--danger)}.notice{margin-top:18px;color:#3f4b55;line-height:1.5;font-size:.92rem}@media(max-width:940px){.app-header,.panel-title,.toolbar,.method-band{display:block}.header-actions,.toolbar-actions{margin-top:16px}.project-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(130px,1fr));margin-top:16px}.analysis-grid{grid-template-columns:1fr}.matrix-key small{width:100%}}@media(max-width:520px){.header-actions,.toolbar-actions,.summary{display:grid;grid-template-columns:1fr}button,.import-control{width:100%}.matrix-actions{flex-direction:column}}


/* Quality In Practice brand system */
:root{--ink:#000;--muted:#5a5a5a;--line:#d9d9d2;--panel:#fff;--page:#f7f7f2;--accent:#94e8a5;--accent-strong:#000;--teal-light:#e9faec;--gold:#000;--shadow:none}
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.app-header{background:#000;color:#fff;border:0;border-bottom:9px solid #94e8a5;padding-top:40px;padding-bottom:40px}
.eyebrow{color:#94e8a5;font-weight:500;letter-spacing:.16em}
h1{font-weight:300;letter-spacing:-.045em}
h2{font-weight:400;letter-spacing:-.025em}
.subhead{color:#d5d5d5}
button,.import-control{background:#000;border-color:#000;border-radius:0;font-weight:500}
.app-header button,.app-header .import-control{background:#94e8a5;color:#000;border-color:#94e8a5}
button:hover,.import-control:hover,.app-header button:hover,.app-header .import-control:hover{background:#fff;color:#000}
button.secondary{border-color:#000;border-radius:0}
.project-panel,.worksheet-wrap,.analysis-card{border-radius:0;box-shadow:none}
.project-panel{border-top:5px solid #94e8a5}
input,select,textarea{border-radius:0}
.steps li{border-radius:0;border-top:3px solid #94e8a5;font-weight:500}
.steps li::before{color:#267f39}
.summary div{border-radius:0;border-top:4px solid #94e8a5}
.summary span{font-weight:400;letter-spacing:-.03em}
.matrix-key{background:#000;color:#fff}
.matrix-key small{color:#bbb}
.rel-9,.relation-button.rel-9{background:#000;color:#94e8a5}
.rel-3,.relation-button.rel-3{background:#94e8a5;color:#000}
.rel-1,.relation-button.rel-1{background:#e9faec;color:#000}
thead th{background:#000;color:#fff}
.technical-head textarea{background:#000;color:#fff}
.score-row{background:#94e8a5}
.score-row strong{color:#000}
.score-bar{background:rgba(0,0,0,.15)}.score-bar i{background:#000}
.rank-number{border-radius:0;background:#000;color:#94e8a5}
.rank-score{color:#000}
.analysis-card:first-child{border-top:7px solid #94e8a5}
.notice{border-left:5px solid #94e8a5;padding-left:16px}
