/* StarCura 1.4 · Sääntömuutokset (web/rules.js). Luokat rl-*. */
.rl-root{min-width:0;max-width:100%}
.rl-root h2{margin:0 0 2px}.rl-root h3{font-size:15px;margin:0 0 8px}.rl-root h4{font-size:13.5px;margin:0 0 6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rl-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-end}.rl-sub{margin:0}
.rl-acts{display:flex;gap:6px;flex-wrap:wrap}
.rl-note{background:#eef3fb;border-left:4px solid #4f6fb0;border-radius:6px;padding:8px 10px;font-size:13px;margin:10px 0}
.rl-small{font-size:12.5px}.rl-good{color:#155b51}.rl-bad{color:#a4312e;font-weight:600}
.rl-status:empty{display:none}.rl-status p{margin:6px 0}
.rl-error{color:#a4312e;font-weight:600}.rl-na{background:#fff4d9;border-radius:6px;padding:8px 10px;font-size:13px}
.rl-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:10px}
@media(min-width:1100px){.rl-layout{grid-template-columns:minmax(0,1fr) 340px}}
.rl-main,.rl-side{min-width:0;display:grid;gap:14px;align-content:start}
.rl-box{background:#fff;border:1px solid #d7e2df;border-radius:10px;padding:12px 14px;min-width:0}
.rl-count{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:#e4edf0;color:#24424a;font-size:12px;text-align:center;font-weight:700}
.rl-count-bad,.rl-box h3 .rl-count{background:#fde0dc;color:#8a2a1d}
.rl-link{background:none;border:0;padding:0;color:#12675d;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.rl-ul{margin:4px 0 8px;padding-left:20px}.rl-ul li{margin:2px 0;font-size:13px}

/* tilamerkit */
.rl-chip{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:9px;border:1px solid;white-space:nowrap;vertical-align:1px}
.rl-chip.rl-st-draft{background:#fff;border-style:dashed;border-color:#7f8f8b;color:#3d4c49}
.rl-chip.rl-st-scheduled{background:#fff1c9;border-color:#c79a1c;color:#5b4100}
.rl-chip.rl-st-active{background:#d8efe4;border-color:#3c9a6c;color:#0d4f33}
.rl-chip.rl-st-superseded{background:#eceeed;border-color:#b4bdbb;color:#5c6b68}
.rl-chip.rl-st-cancelled{background:#f6eceb;border-color:#d2a9a3;color:#7a3d34;text-decoration:line-through}
.rl-scope{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;background:#e4edf0;color:#24424a}
.rl-sc-law{background:#fde0dc;color:#8a2a1d}.rl-sc-tes{background:#e2e5fb;color:#2e3583}.rl-sc-unit{background:#d8efe4;color:#1d5c41}.rl-sc-agreement{background:#fff1c9;color:#6a4a00}.rl-sc-skill{background:#e6f1f7;color:#1f4d66}

/* aikajana */
.rl-group{padding:10px 0;border-top:1px solid #e9efed}.rl-group:first-child{border-top:0;padding-top:0}
.rl-track{position:relative;height:22px;background:#f1f5f4;border-radius:6px;margin:4px 0 2px;overflow:hidden}
.rl-seg{position:absolute;top:3px;bottom:3px;border-radius:4px;font-size:10px;font-weight:700;line-height:16px;padding:0 4px;overflow:hidden;white-space:nowrap;box-sizing:border-box;border:1px solid}
.rl-seg.rl-st-active{background:#9fd8bb;border-color:#3c9a6c;color:#0d4f33}
.rl-seg.rl-st-scheduled{background:repeating-linear-gradient(135deg,#ffe7a6 0 6px,#fff3cf 6px 12px);border-color:#c79a1c;color:#5b4100}
.rl-seg.rl-st-superseded{background:#dfe4e3;border-color:#b4bdbb;color:#5c6b68}
.rl-seg.rl-st-draft{background:#fff;border-style:dashed;border-color:#7f8f8b;color:#3d4c49}
.rl-tnow{position:absolute;top:0;bottom:0;width:2px;background:#d34631;z-index:2}
.rl-axis{display:flex;justify-content:space-between;font-size:10.5px;color:#5c716f;margin-bottom:6px}
.rl-cards{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.rl-card{border:1px solid #e1e9e7;border-radius:8px;padding:8px 10px;background:#fbfcfc;min-width:0}
.rl-card.rl-c-active{border-color:#9fd0b6;background:#f4fbf7}.rl-card.rl-c-scheduled{border-color:#e6cb7a;background:#fffbef}.rl-card.rl-c-superseded{opacity:.75}
.rl-ch{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.rl-ch b{overflow-wrap:anywhere}
.rl-meta{font-size:12.5px;margin-top:3px}.rl-src{font-size:12px;color:#33504f;margin-top:2px;overflow-wrap:anywhere}
.rl-soon{color:#8a5a00;font-weight:600}
.rl-cacts{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}

/* jono */
.rl-ql{list-style:none;margin:6px 0;padding:0;display:grid;gap:6px}
.rl-qi{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;background:#f6f8f7;font-size:13px}
.rl-qi.rl-qopen{background:#fff6f4;border-left:3px solid #c62f22}.rl-qi>div{min-width:0}.rl-qi button{flex:none}
.rl-qdone summary{cursor:pointer;font-size:13px;margin-top:6px}

/* voimassa olevat säännöt */
.rl-form{display:grid;gap:10px}.rl-form input,.rl-form select,.rl-form textarea{width:100%;min-width:0;box-sizing:border-box}
.rl-effform{grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:8px}
.rl-worker .rl-effform{grid-template-columns:200px auto;justify-content:start;margin:10px 0}
.rl-effout{margin-top:10px}
.rl-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;font-size:12.5px;margin:6px 0}.rl-dl dt{color:#405a5a}.rl-dl dd{margin:0;font-weight:600;text-align:right}
.rl-tw{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.rl-table{border-collapse:collapse;width:100%;font-size:12.5px}
.rl-table th,.rl-table td{padding:5px 6px;border-bottom:1px solid #e9efed;text-align:left;vertical-align:top}
.rl-table thead th{background:#f4f8f7;font-weight:600;color:#33504f;position:sticky;top:0}
.rl-table tbody th{font-weight:500}
.rl-table .rl-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rl-table .rl-grow th{background:#eef4f2;font-weight:700;font-size:12px}
.rl-table tr.rl-changed td,.rl-table tr.rl-changed th{background:#fff8e3}
.rl-narrow{width:auto;min-width:240px}
.rl-up{color:#8a5a00}.rl-down{color:#1d5590}
.rl-legacy{margin-top:16px;font-size:14px}.rl-legacy summary{cursor:pointer;font-weight:600}.rl-legacy-in{margin-top:8px}

/* valintaikkuna */
.rl-dlg{width:460px;max-width:calc(100vw - 24px);padding:0;max-height:calc(100vh - 32px);border:1px solid #c9d6d3;border-radius:12px}
.rl-dlg::backdrop{background:rgba(18,40,46,.45)}
.rl-dlg-wide{width:820px}
.rl-dlg-in{padding:16px 18px 18px;overflow:auto;max-height:calc(100vh - 32px);box-sizing:border-box}
.rl-dlg-h{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:6px}.rl-dlg-h h2{margin:0;font-size:18px}.rl-dlg-h h2:focus{outline:none}.rl-dlg-h p{margin:2px 0 0}
.rl-x{background:none;border:0;font-size:22px;line-height:1;padding:2px 8px;cursor:pointer;color:#33504f}
.rl-dlg p{font-size:14px}.rl-dlg .rl-small{font-size:12.5px}
.rl-dlg-msg{min-height:18px;color:#155b51;font-size:13px!important;margin:8px 0 0}.rl-dlg-msg.rl-bad{color:#a4312e}
.rl-dlg-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.rl-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rl-check{display:flex!important;align-items:flex-start;gap:8px;font-size:14px}.rl-check input{width:16px!important;height:16px;flex:none;margin-top:2px}
.rl-fs{border:1px solid #d7e2df;border-radius:8px;padding:8px 10px 10px;margin:4px 0;min-width:0}.rl-fs legend{font-size:13px;font-weight:700;padding:0 4px}
.rl-rule{background:#f4f7f6;border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0}.rl-rule p{margin:6px 0 0}
.rl-req{color:#a4312e}
.rl-dlg textarea{font:inherit;padding:8px;border:1px solid #b9c9c5;border-radius:6px;resize:vertical}

/* ohjattu toiminto */
.rl-steps{list-style:none;display:flex;gap:4px;margin:4px 0 12px;padding:0;counter-reset:s;flex-wrap:wrap}
.rl-steps li{display:flex;align-items:center;gap:5px;font-size:12px;color:#5c716f;padding:4px 8px 4px 4px;border-radius:14px;background:#f1f5f4}
.rl-steps li span{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:#d7e2df;color:#24424a;font-weight:700;font-size:11px}
.rl-steps li.rl-cur{background:#12675d;color:#fff;font-weight:600}.rl-steps li.rl-cur span{background:#fff;color:#12675d}
.rl-steps li.rl-done span{background:#3c9a6c;color:#fff}
.rl-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}
.rl-field{display:grid;gap:3px;align-content:start;min-width:0;padding:6px 8px;border-radius:7px;border:1px solid transparent}
.rl-field label,.rl-flabel{font-size:13px;font-weight:500}
.rl-field.rl-changed{background:#fff8e3;border-color:#ecd28a}
.rl-field.rl-ferr{background:#fdf0ee;border-color:#e2a59c}.rl-field.rl-ferr input{border-color:#c62f22}
.rl-fh{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11.5px;color:#5c716f}.rl-law{color:#8a2a1d}
.rl-ferrt{font-size:12px;color:#a4312e;font-weight:600}.rl-ferrt:empty{display:none}
.rl-peek summary{cursor:pointer;font-size:13px;margin:6px 0}
.rl-confirm{background:#fff8e3;padding:8px 10px;border-radius:8px}

/* vaikutusanalyysi */
.rl-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:8px 0 12px}
.rl-sumc{display:block;border:1px solid #d7e2df;border-radius:9px;padding:10px;font-size:12px;color:#405a5a;text-decoration:none;background:#fff}
.rl-sumc strong{display:block;font-size:24px;color:#18343c;line-height:1.15}
.rl-sumc.rl-bad{border-color:#e2a59c;background:#fdf3f1;font-weight:400}.rl-sumc.rl-bad strong{color:#a4312e}
.rl-sumc.rl-warn{border-color:#ecd28a;background:#fffaf0}.rl-sumc.rl-warn strong{color:#7a5800}
.rl-sumc.rl-ok strong{color:#155b51}
.rl-sumc:focus-visible{outline:3px solid #cc8b2b;outline-offset:1px}
.rl-isec{border-top:1px solid #e9efed;padding-top:10px;margin-top:10px}.rl-isec h3{display:flex;gap:6px;align-items:center}
.rl-dlg h3{font-size:15px;margin:0 0 8px}.rl-dlg h4{font-size:13.5px;margin:8px 0 4px}
.rl-efft td:last-child{white-space:nowrap}
.rl-suggest{background:#eef3fb;border-radius:8px;padding:8px 12px}
.rl-impact-mini .rl-isec,.rl-impact-mini .rl-suggest{display:none}

/* työvuorolistan ilmoitus */
.rl-rbanner{display:flex;gap:10px;align-items:flex-start;background:#fff4d9;border:1px solid #e6cb7a;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:13.5px}
.rl-rb-tag{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#c79a1c;color:#fff;font-weight:700;flex:none}
.rl-rb-i{display:inline-block;margin-right:12px}

@media(max-width:600px){
 .rl-box{padding:10px}
 .rl-row2,.rl-effform{grid-template-columns:1fr}
 .rl-worker .rl-effform{grid-template-columns:1fr}
 .rl-dlg-in{padding:12px}
 .rl-fields{grid-template-columns:1fr}
 .rl-steps li{font-size:0;padding:3px}.rl-steps li.rl-cur{font-size:12px;padding-right:8px}
 .rl-dlg-acts button{flex:1 1 auto}
 .rl-qi{flex-direction:column}
 .rl-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
}
