:root{--bg:#f6f7f5;--panel:#ffffff;--ink:#1d2a24;--muted:#5f6f67;--line:#e0e5e1;--accent:#1d6b4f;--accent-ink:#ffffff;--warn:#9a6b00;--fail:#a4262c;--ok:#1d6b4f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent)}header.app{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--line)}header.app .brand{font-weight:700}header.app nav{display:flex;gap:1rem}header.app nav a{color:var(--muted);text-decoration:none}header.app nav a:hover{color:var(--ink)}header.app .spacer{flex:1 1}main.app{max-width:1100px;margin:2rem auto;padding:0 1.5rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1rem}.muted{color:var(--muted)}.btn,button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.5rem 1rem;font-size:15px;cursor:pointer}button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--line)}label{display:block;margin:.75rem 0 .25rem;font-weight:600}input,select{width:100%;padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;font-size:15px;background:#fff}.login-wrap{max-width:380px;margin:10vh auto}.page-head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.page-head h1{margin:0;font-size:1.4rem}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.toolbar .spacer{flex:1 1}.counts{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.count-tile{flex:1 1 150px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem}.count-tile .n{font-size:1.6rem;font-weight:700}.count-tile .label{color:var(--muted);font-size:.85rem}.count-tile.overdue .n{color:var(--fail)}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data td,table.data th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}table.data th{color:var(--muted);font-weight:600;white-space:nowrap}table.data tr.greyed td{color:var(--muted);background:#fafbfa}table.data a{font-weight:600;text-decoration:none}.pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--line);white-space:nowrap}.pill.g-WAITING_ON_SUPPLIER{background:#fff4e0;color:var(--warn);border-color:#f0dcae}.pill.g-IN_REVIEW{background:#e7f0ff;color:#2b4f86;border-color:#c7dbf5}.pill.g-READY_FOR_EU{background:#e4f4ec;color:var(--ok);border-color:#bfe3cf}.pill.g-SUBMITTED{background:#ece9fb;color:#4b3f91;border-color:#d3cbf0}.pill.g-INACTIVE{background:#f0f1f0;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 1.25rem;gap:0 1.25rem}.field-grid .full{grid-column:1/-1}.def-list{display:grid;grid-template-columns:max-content 1fr;grid-gap:.35rem 1.25rem;gap:.35rem 1.25rem;margin:0}.def-list dt{color:var(--muted)}.def-list dd{margin:0}.hint{color:var(--muted);font-size:.85rem;margin:.15rem 0 0}.error{color:var(--fail);font-weight:600}.notice{background:#e4f4ec;border:1px solid #bfe3cf;color:var(--ok);border-radius:6px;padding:.6rem .9rem;margin-bottom:1rem}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.submitted-banner{display:flex;align-items:center;gap:1rem;background:var(--ok);color:#fff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.submitted-banner .muted{color:#e4f4ec}.submitted-banner .big-check{flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:999px;background:#fff;color:var(--ok);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800}.findings{list-style:none;padding:0;margin:.35rem 0 0;display:grid;grid-gap:.35rem;gap:.35rem}.findings li{display:flex;align-items:flex-start;gap:.5rem}.findings .mark{flex:0 0 1.3rem;width:1.3rem;height:1.3rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}.finding-h.fail,.findings li.fail .mark{color:var(--fail)}.findings li.fail .mark{background:var(--fail);color:#fff}.finding-h.warn,.findings li.warn .mark{color:var(--warn)}.findings li.warn .mark{background:var(--warn);color:#fff}.finding-h.info,.findings li.info .mark{color:var(--muted)}.findings li.info .mark{background:var(--muted);color:#fff}label.req:after{content:" *";color:var(--fail);font-weight:700}input.req-empty,select.req-empty{border-color:var(--fail);background:#fff6f6}.checklist{list-style:none;padding:0;margin:.75rem 0;display:grid;grid-gap:.5rem;gap:.5rem}.checklist li{display:flex;align-items:flex-start;gap:.6rem}.checklist .mark{flex:0 0 1.4rem;width:1.4rem;height:1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff}.checklist li.done .mark{background:var(--ok)}.checklist li.todo .mark{background:var(--fail)}.checklist li.todo strong{color:var(--fail)}@media (max-width:640px){.field-grid{grid-template-columns:1fr}}