:root{
  --nav:#06162b;
  --nav2:#0b2342;
  --bg:#f7f9fd;
  --card:#ffffff;
  --ink:#111827;
  --muted:#647084;
  --line:#e2e8f0;
  --blue:#155eef;
  --blue2:#eaf1ff;
  --red:#d92d20;
  --red2:#fff1f0;
  --orange:#f97316;
  --orange2:#fff7ed;
  --green:#059669;
  --green2:#ecfdf5;
  --purple:#7048e8;
  --purple2:#f4f0ff;
  --shadow:0 18px 42px rgba(15,23,42,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}
.app{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#03101f);color:white;padding:24px 16px;display:flex;flex-direction:column;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}
.eu-dot{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.4);font-weight:950;background:#102a52}
.brand strong{display:block;font-size:18px}
.brand small{display:block;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.66);font-weight:800}
nav{display:grid;gap:8px}
.nav-item{border:0;background:transparent;color:rgba(255,255,255,.78);text-align:left;padding:12px 14px;border-radius:14px;font-weight:850;cursor:pointer}
.nav-item.active,.nav-item:hover{background:#173a75;color:#fff}
.side-card{margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);padding:16px}
.side-card ol{margin:10px 0 0;padding-left:20px;color:rgba(255,255,255,.75);line-height:1.7}
.main{padding:28px;max-width:1360px;width:100%;margin:0 auto}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}
.topbar h1{margin:0 0 6px;font-size:30px;letter-spacing:-.8px}
.topbar p{margin:0;color:#334155;font-size:17px}
.top-actions{display:flex;gap:12px}
.link-btn{border:0;background:transparent;color:#0f172a;font-weight:900;cursor:pointer}
.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:950;cursor:pointer;transition:.15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:#082b6f;color:white}
.btn.secondary{background:white;color:#082b6f;border:1px solid var(--line)}
.btn.text{background:transparent;color:var(--muted)}
.btn.export{background:white;color:#0f172a;border:1px solid var(--line);box-shadow:0 8px 22px rgba(15,23,42,.05)}
.btn.export.excel{color:#107c41}
.inline-link{border:0;background:transparent;color:#0b53ce;font-weight:900;cursor:pointer;padding:0}
.screen{display:none}
.screen.active{display:block}
.process-bar{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;align-items:center;margin-bottom:28px}
.process-bar article{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.process-bar article span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e5e7eb;font-weight:950;color:#475467}
.process-bar article.active span{background:#16a34a;color:white}
.process-bar article b{display:block}
.process-bar article small{display:block;color:var(--muted);margin-top:2px}
.process-bar i{height:1px;background:#94a3b8}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}
.welcome-card,.glance-card,.category-card,.assessment-card,.empty-card,.guide-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.welcome-card{padding:34px}
.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--blue2);color:var(--blue);font-size:13px;font-weight:950;border:1px solid #cfe0ff}
.welcome-card h2,.page-title h2,.guide-card h2{font-size:42px;letter-spacing:-1.4px;line-height:1.05;margin:18px 0 12px}
.welcome-card p,.page-title p,.guide-card p{color:var(--muted);line-height:1.62;font-size:17px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.glance-card{padding:26px}
.eu-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#082b6f;color:#ffd700;font-weight:950;margin-bottom:14px}
.glance-card ul{padding-left:18px;color:#344054;line-height:1.85}
.category-card{padding:26px;margin-top:24px}
.category-card h2{margin:0 0 18px}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.category-grid article{padding:16px;border-radius:18px;border:1px solid var(--line)}
.category-grid strong{display:block;margin-bottom:8px}
.category-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.cat-red{background:var(--red2)}.cat-orange{background:var(--orange2)}.cat-blue{background:var(--blue2)}.cat-purple{background:var(--purple2)}.cat-green{background:var(--green2)}
.page-title{margin-bottom:22px}
.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sample-card{padding:22px;text-align:left;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);cursor:pointer}
.sample-card:hover{border-color:#9ebcff;transform:translateY(-2px)}
.sample-card b,.sample-card span,.sample-card em{display:block}
.sample-card span{color:var(--muted);margin:8px 0;line-height:1.45}
.sample-card em{color:var(--blue);font-weight:950;font-style:normal}
.sample-card.danger em{color:var(--red)}
.assessment-card{padding:24px}
.wizard-progress{height:10px;border-radius:999px;background:#e5eaf5;overflow:hidden;margin-bottom:14px}
.wizard-progress div{height:100%;width:20%;border-radius:inherit;background:var(--blue);transition:.2s}
.step-labels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.step-label{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 11px;font-weight:900}
.step-label.active{background:#082b6f;color:#fff;border-color:#082b6f}
.step{display:none}
.step.active-step{display:block}
.step h3{font-size:30px;letter-spacing:-.8px;margin:0 0 6px}
.help{color:var(--muted);line-height:1.45;margin-top:0}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.three{grid-template-columns:repeat(3,1fr)}
label{display:grid;gap:8px;font-weight:850;color:#344054;font-size:14px;margin-bottom:14px}
input,select,textarea{width:100%;border:1px solid #d6ddeb;border-radius:12px;padding:12px 13px;color:var(--ink);background:white;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,94,239,.1)}
textarea{resize:vertical}
.question-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.question-list.small{grid-template-columns:1fr}
.question-list label{display:flex;align-items:flex-start;gap:10px;background:#fbfcff;border:1px solid var(--line);border-radius:14px;padding:12px;margin:0;line-height:1.35}
.question-list input{width:auto;margin-top:3px;accent-color:var(--blue)}
.wizard-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.hidden{display:none!important}
.empty-card{text-align:center;padding:42px}
.empty-card p{color:var(--muted)}
.current-assessment{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;margin-bottom:16px}
.current-assessment>article,.classification-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.current-assessment>article{padding:20px}
.current-assessment h3{margin:0 0 16px}
.mini-profile{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.mini-profile span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--purple2);color:var(--purple);font-weight:950}
.mini-profile h4{margin:0 0 6px}
.mini-profile p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
dl{display:grid;gap:12px}
dl div{display:grid;grid-template-columns:100px 1fr;gap:10px}
dt{color:var(--muted);font-size:13px}
dd{margin:0;font-weight:850;font-size:13px}
.classification-panel{display:grid;grid-template-columns:1.25fr 250px 260px;overflow:hidden}
.classification-main{padding:32px;background:linear-gradient(90deg,#fff7ed,#fff)}
.risk-badge{display:inline-flex;padding:9px 13px;border-radius:999px;font-weight:950}
.risk-badge.red{background:var(--red2);color:var(--red)}
.risk-badge.orange{background:var(--orange2);color:#b54708}
.risk-badge.blue{background:var(--blue2);color:var(--blue)}
.risk-badge.purple{background:var(--purple2);color:var(--purple)}
.risk-badge.green{background:var(--green2);color:var(--green)}
.risk-badge.grey{background:#f2f4f7;color:#475467}
.classification-main h2{font-size:30px;letter-spacing:-.8px;margin:14px 0 10px}
.classification-main p{color:#344054;line-height:1.6}
.confidence-card,.readiness-card{display:grid;place-items:center;text-align:center;padding:24px;border-left:1px solid var(--line)}
.donut{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;border:10px solid var(--orange);margin-bottom:12px}
.donut span{font-size:25px;font-weight:950}
.confidence-card p,.readiness-card p{color:var(--muted);line-height:1.45}
#goLivePill{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--red2);color:var(--red);font-weight:950;margin-bottom:10px}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.dash-card,.next-panel,.details-grid article,.export-row{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.dash-card{padding:18px}
.dash-card h3,.next-panel h3,.details-grid h3{margin:0 0 10px}
.dash-card p{color:var(--muted);margin:0 0 12px}
.risk-matrix{display:grid;grid-template-columns:54px repeat(3,1fr);gap:5px;font-size:11px;margin:10px 0}
.risk-matrix .axis,.risk-matrix .yaxis{font-weight:900;color:var(--muted);text-align:center}
.risk-matrix .yaxis{text-align:left}
.risk-cell{height:36px;border-radius:8px;background:#f1f5f9;position:relative}
.risk-cell.low{background:#bbf7d0}.risk-cell.med{background:#fed7aa}.risk-cell.high{background:#fecaca}
.risk-cell.active{outline:3px solid #082b6f}
.risk-cell.active:after{content:"";position:absolute;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#082b6f}
.category-rows{display:grid;gap:8px}
.category-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:6px 0;font-size:13px}
.category-row b{font-weight:850}
.yes{color:var(--red);font-weight:950}.no{color:#475467;font-weight:950}
.dash-card ul{padding-left:18px;margin:0;color:#344054;line-height:1.7}
.next-panel{padding:20px;margin-bottom:16px}
.next-workflow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:stretch}
.next-step{position:relative;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fbfcff}
.next-step span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue2);color:var(--blue);font-weight:950;margin-bottom:10px}
.next-step b{display:block;margin-bottom:6px;font-size:13px}
.next-step p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.details-grid article{padding:20px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips.vertical{display:grid}
.chips span{display:inline-flex;padding:8px 10px;border-radius:999px;background:#f4f6fb;border:1px solid var(--line);font-size:12px;font-weight:850}
.class-matrix{display:grid;gap:8px}
.class-card{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:8px 0;font-size:13px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;min-width:620px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px}
th{background:#f8fafc}
tr:last-child td{border-bottom:0}
.notice-box{display:grid;gap:8px}
.notice-item{border-left:4px solid var(--blue);background:#fbfcff;border-radius:12px;padding:10px}
.notice-item b{display:block;font-size:13px;margin-bottom:4px}
.notice-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.export-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:16px}
.guide-card{padding:28px}
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.guide-grid article{border:1px solid var(--line);border-radius:16px;background:#fbfcff;padding:16px}
.guide-grid p{color:var(--muted);line-height:1.55}
@media(max-width:1180px){
  .app{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .home-grid,.current-assessment,.classification-panel,.details-grid{grid-template-columns:1fr}
  .dashboard-grid,.category-grid{grid-template-columns:repeat(2,1fr)}
  .next-workflow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .main{padding:18px 12px}
  .topbar{display:block}
  .top-actions{margin-top:14px}
  .process-bar{grid-template-columns:1fr;gap:8px}
  .process-bar i{display:none}
  .sample-grid,.grid.two,.grid.three,.question-list,.dashboard-grid,.category-grid,.guide-grid,.export-row{grid-template-columns:1fr}
  .next-workflow{grid-template-columns:1fr}
}


/* Final patch: user-friendly action language */
.section-help{
  margin: -2px 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
#evidenceChips span::before{
  content:"☐";
  margin-right:8px;
  color:#647084;
  font-weight:950;
}
#articleRows td:first-child{
  font-weight:850;
}
#obligationsList li{
  margin-bottom:8px;
}

/* Complete EU AI Act screening patch */
.step-label{cursor:pointer}
.question-list label:hover{border-color:#b7cdfc;background:#f8fbff}

/* AI development care points patch */
.dev-care-panel{
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px;
  margin-bottom:16px;
}
.dev-care-panel h3{margin:0 0 8px}
.dev-care-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:14px;
}
.dev-care-card{
  border:1px solid var(--line);
  background:#fbfcff;
  border-radius:16px;
  padding:14px;
}
.dev-care-card b{display:block;margin-bottom:6px;font-size:13px}
.dev-care-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.dev-care-card.critical{background:var(--red2)}
.dev-care-card.high{background:var(--orange2)}
.dev-care-card.good{background:var(--green2)}
@media(max-width:1180px){.dev-care-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dev-care-grid{grid-template-columns:1fr}}

/* Two assessment modes */
.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0 4px}
.mode-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;text-align:left;cursor:pointer;transition:.15s}
.mode-card:hover{transform:translateY(-1px);border-color:#9ebcff}
.mode-card.selected{border-color:#082b6f;box-shadow:0 0 0 4px rgba(8,43,111,.08)}
.mode-card strong,.mode-card span,.mode-card em{display:block}
.mode-card span{color:var(--muted);font-size:13px;line-height:1.4;margin:6px 0}
.mode-card em{font-style:normal;color:var(--blue);font-size:12px;font-weight:950}
.mode-switch-card{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:14px}
.mode-switch-card h3{margin:0 0 4px}.mode-switch-card p{margin:0;color:var(--muted);line-height:1.45}
.mode-toggle{display:flex;gap:8px;background:#f1f5f9;padding:6px;border-radius:999px}
.mode-toggle-btn{border:0;background:transparent;padding:10px 13px;border-radius:999px;font-weight:950;color:#475467;cursor:pointer}
.mode-toggle-btn.active{background:#082b6f;color:#fff}
.mode-help{margin:-8px 0 18px;color:var(--muted);font-size:13px;line-height:1.45}
.quick-hidden{display:none!important}
@media(max-width:760px){.mode-cards,.mode-switch-card{grid-template-columns:1fr;display:grid}.mode-toggle{justify-content:stretch}.mode-toggle-btn{flex:1}}

/* Classification button fix */
.sample-loaded-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  border-radius:16px;
  padding:14px;
  margin:-4px 0 18px;
}
.sample-loaded-banner strong{display:block}
.sample-loaded-banner span{display:block;color:#475467;font-size:13px;margin-top:3px}
@media(max-width:760px){.sample-loaded-banner{display:grid}}
