/* CSATWORK RegLearn — Regulatory Intelligence layer (additive, self-contained).
   Everything is namespaced under #crl-src / .crl-src-* so it cannot touch the
   core app's styles. Palette mirrors crl.css. */

.crl-src-launch{
	position:fixed; right:16px; bottom:16px; z-index:2147483000;
	display:inline-flex; align-items:center; gap:8px;
	background:#0B3D2E; color:#fff; border:none; border-radius:999px;
	padding:11px 16px; font:700 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	letter-spacing:.2px; cursor:pointer; box-shadow:0 6px 20px rgba(11,61,46,.28);
	transition:transform .12s, background .15s;
}
.crl-src-launch:hover{background:#0F5A43;}
.crl-src-launch:active{transform:scale(.96);}
.crl-src-launch .dot{width:8px; height:8px; border-radius:50%; background:#C9A227;}

#crl-src{
	position:fixed; inset:0; z-index:2147483001; display:none;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:#1D2A25; box-sizing:border-box;
}
#crl-src.open{display:block;}
#crl-src *{box-sizing:border-box;}
#crl-src .crl-src-scrim{position:absolute; inset:0; background:rgba(9,32,24,.5); backdrop-filter:blur(2px);}
#crl-src .crl-src-sheet{
	position:absolute; right:0; top:0; height:100%; width:min(680px,100%);
	background:#F4FAF7; box-shadow:-8px 0 40px rgba(11,61,46,.25);
	display:flex; flex-direction:column; animation:crlSrcIn .22s ease;
}
@keyframes crlSrcIn{from{transform:translateX(24px); opacity:.4;} to{transform:none; opacity:1;}}

#crl-src .crl-src-head{
	background:linear-gradient(120deg,#0B3D2E,#0F5A43); color:#fff;
	padding:16px 18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
#crl-src .crl-src-head h2{margin:0; font-size:clamp(16px,4.4vw,20px); font-weight:800; flex:1; min-width:160px;}
#crl-src .crl-src-head .sub{width:100%; font-size:12.5px; opacity:.85; font-weight:500; margin-top:2px;}
#crl-src .crl-src-x{background:rgba(255,255,255,.16); color:#fff; border:none; width:34px; height:34px; border-radius:10px; font-size:20px; cursor:pointer; line-height:1;}
#crl-src .crl-src-x:hover{background:rgba(255,255,255,.28);}

#crl-src .crl-src-tabs{display:flex; gap:4px; background:#fff; padding:6px; border-bottom:1px solid #E8F3EE;}
#crl-src .crl-src-tab{flex:1; text-align:center; padding:10px 6px; border-radius:10px; font-size:clamp(12px,3.4vw,13.5px); font-weight:700; color:#5B6E66; background:none; border:none; cursor:pointer;}
#crl-src .crl-src-tab.on{background:#0B3D2E; color:#fff;}

#crl-src .crl-src-body{flex:1; overflow-y:auto; padding:14px 16px 40px; -webkit-overflow-scrolling:touch;}

#crl-src .crl-src-filters{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px;}
#crl-src .crl-src-filters select, #crl-src .crl-src-search{
	flex:1; min-width:130px; padding:9px 11px; border:1.4px solid #E8F3EE; border-radius:10px;
	font-size:14px; color:#1D2A25; background:#fff; outline:none;
}
#crl-src .crl-src-search:focus, #crl-src .crl-src-filters select:focus{border-color:#17795A;}

#crl-src .crl-src-card{background:#fff; border:1px solid #E8F3EE; border-radius:14px; padding:14px 15px; margin-bottom:11px; box-shadow:0 1px 8px rgba(11,61,46,.05);}
#crl-src .crl-src-card h3{margin:0 0 6px; font-size:15px; font-weight:800; color:#0B3D2E; line-height:1.35;}
#crl-src .crl-src-meta{display:flex; gap:6px; flex-wrap:wrap; margin:0 0 9px;}
#crl-src .crl-tag{font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:#E8F3EE; color:#0F5A43; white-space:nowrap;}
#crl-src .crl-tag.date{background:#FFF9E8; color:#7A611A;}
#crl-src .crl-tag.rel-CORE{background:#0B3D2E; color:#fff;}
#crl-src .crl-tag.rel-IMPORTANT{background:#17795A; color:#fff;}
#crl-src .crl-tag.rel-SUPPORTING{background:#CDE4D8; color:#2C3A34;}
#crl-src .crl-tag.rel-HISTORICAL{background:#EFE7D2; color:#7A611A;}
#crl-src .crl-tag.status-superseded, #crl-src .crl-tag.status-historical{background:#FBEFEA; color:#B3462D;}
#crl-src .crl-src-card .lbl{font-size:11px; font-weight:800; letter-spacing:.4px; color:#17795A; text-transform:uppercase; margin:9px 0 2px;}
#crl-src .crl-src-card p{margin:0 0 4px; font-size:13.5px; line-height:1.5; color:#33443D;}
#crl-src .crl-src-file{font-size:11.5px; color:#8090; color:#7d8a84; word-break:break-all; margin-top:8px; padding-top:8px; border-top:1px dashed #E8F3EE;}

#crl-src .crl-tl-year{font-size:13px; font-weight:800; color:#C9A227; letter-spacing:1px; margin:14px 0 6px;}
#crl-src .crl-tl-item{position:relative; padding:0 0 4px 20px; margin-bottom:11px; border-left:2px solid #CDE4D8;}
#crl-src .crl-tl-item:before{content:""; position:absolute; left:-7px; top:3px; width:12px; height:12px; border-radius:50%; background:#0F5A43; border:2px solid #F4FAF7;}
#crl-src .crl-tl-date{font-size:11.5px; font-weight:700; color:#17795A;}
#crl-src .crl-tl-title{font-size:14px; font-weight:800; color:#0B3D2E; margin:1px 0 3px;}
#crl-src .crl-tl-detail{font-size:13px; line-height:1.5; color:#33443D;}

#crl-src .crl-pv-sel{width:100%; padding:11px 12px; border:1.6px solid #17795A; border-radius:12px; font-size:15px; font-weight:700; color:#0B3D2E; background:#fff; margin-bottom:14px;}
#crl-src .crl-pv-block{margin-bottom:13px;}
#crl-src .crl-pv-reg{background:#FFF9E8; border:1px solid #EAD48A; border-radius:12px; padding:13px 14px;}
#crl-src .crl-pv-reg .lbl{color:#7A611A;}
#crl-src .crl-pv-reg .txt{font-size:13.5px; line-height:1.55; color:#3A2E07; font-style:italic;}
#crl-src .crl-pv-reg .note{font-size:11px; color:#7A611A; margin-top:6px;}
#crl-src .crl-pv-plain{background:#F0FAF5; border:1px solid #CDE4D8; border-radius:12px; padding:13px 14px;}
#crl-src .crl-pv-changed{background:#fff; border:1px solid #E8F3EE; border-left:4px solid #C9A227; border-radius:10px; padding:12px 14px;}
#crl-src .crl-pv-do .lbl{color:#0F5A43;}
#crl-src .crl-pv-grid{display:grid; grid-template-columns:1fr; gap:8px;}
#crl-src .crl-pv-mini{background:#fff; border:1px solid #E8F3EE; border-radius:10px; padding:10px 12px;}
#crl-src .crl-pv-mini .lbl{margin-top:0;}
#crl-src .crl-pv-mini.mistake{background:#FBEFEA; border-color:#E8C4B6;}
#crl-src .crl-pv-mini.mistake .lbl{color:#B3462D;}
#crl-src .lbl{font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:#17795A; margin:0 0 3px;}
#crl-src .val{font-size:13.5px; line-height:1.55; color:#33443D; white-space:pre-line;}

#crl-src .crl-rel-src{display:flex; align-items:flex-start; gap:8px; padding:8px 0; border-top:1px solid #F0F5F2;}
#crl-src .crl-rel-src .rl{font-size:11px; font-weight:700; color:#17795A; min-width:96px;}
#crl-src .crl-rel-src .tt{font-size:13px; color:#33443D; line-height:1.4;}

#crl-src .crl-src-empty{text-align:center; color:#7d8a84; padding:40px 20px; font-size:14px;}
#crl-src .crl-src-note{font-size:11.5px; color:#7d8a84; line-height:1.5; margin-top:14px; padding:10px 12px; background:#fff; border:1px dashed #CDE4D8; border-radius:10px;}
