/* Scoped route-logic laboratory; existing portal branding remains unchanged. */
.rlab{max-width:1160px;min-width:0;color:#102f56;line-height:1.55}
.rlab *{box-sizing:border-box}
.rlab h1{font-size:clamp(1.55rem,4vw,2rem);line-height:1.2;margin:22px 0 14px}
.rlab h2{font-size:1.35rem;margin:28px 0 12px}.rlab h3{font-size:1.1rem;margin:0 0 8px}
.rlab p,.rlab label,.rlab small{overflow-wrap:anywhere}.rlab small{font-size:.88rem}
.rlab .rl-banner{padding:16px 20px;background:#fff0e3;border:2px solid #ef8427;border-radius:12px}
.rlab .rl-group,.rlab .rl-result{border:1px solid #ced6e1;border-radius:12px;background:#fff;padding:16px;margin:14px 0;min-width:0}
.rlab .rl-group>summary{font-size:1.04rem;font-weight:700;cursor:pointer;min-height:32px;line-height:1.5}
.rlab .rl-group[open]>summary{margin-bottom:16px}
.rlab .rl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px;min-width:0}
.rlab .rl-rule,.rlab .rl-duration{padding:14px;border:1px solid #dce2eb;border-radius:10px;background:#f8fafc;min-width:0}
.rlab .rl-switch{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.4;min-height:48px}
.rlab input[type=checkbox]{width:23px;height:23px;min-width:23px;flex:0 0 23px;accent-color:#ee842a;margin:0}
.rlab label{display:block;font-size:.98rem;font-weight:600;min-width:0}
.rlab .rl-switch{display:flex}
.rlab input:not([type=checkbox]),.rlab select{display:block;width:100%;max-width:100%;min-width:0;min-height:45px;font-size:1rem;padding:10px 12px;border:1px solid #a7b6c8;border-radius:7px;background:white;color:#102f56;margin-top:6px}
.rlab input:disabled,.rlab select:disabled{background:#edf0f5;color:#64748b;opacity:1}
.rlab .rl-rule p{font-size:.93rem;margin:10px 0}
.rlab .rl-rule-state{display:inline-block;font-size:.85rem;padding:3px 9px;border-radius:6px;background:#e8edf5}
.rlab .rl-number{max-width:100%}.rlab .rl-duration-values p{font-weight:400;font-size:.95rem;line-height:1.7}
.rlab .rl-actions,.rlab .rl-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0}
.rlab .rl-add>label{flex:1 1 230px;min-width:0}
.rlab .rl-actions button,.rlab .rl-add button{min-height:44px;white-space:normal;line-height:1.4}
.rlab button{max-width:100%;overflow-wrap:anywhere}
.rlab .rl-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:16px 0}
.rlab .rl-metrics>span{background:#edf3f9;border-radius:8px;padding:12px;display:block}.rlab .rl-metrics strong{display:block;font-size:1.1rem}
.rlab .rl-table{max-width:100%;overflow-x:auto;margin:12px 0;-webkit-overflow-scrolling:touch}
.rlab table{border-collapse:collapse;width:100%;font-size:.94rem;min-width:410px}.rlab th,.rlab td{text-align:left;padding:9px 10px;border-bottom:1px solid #dde4ed;vertical-align:top}
.rlab .rl-warning{padding:12px;background:#fff0e3;border-left:4px solid #ef8427;border-radius:5px}
.rlab .rl-history-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0}
.rlab :focus-visible{outline:3px solid #ef8427;outline-offset:3px}
@media(max-width:480px){.rlab .rl-group,.rlab .rl-result{padding:12px}.rlab .rl-actions>button,.rlab .rl-add>button{width:100%}.rlab .rl-grid{grid-template-columns:1fr}.rlab .rl-banner{padding:13px}.rlab th,.rlab td{padding:8px}}

.rlab .rl-jumps{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.rlab .rl-jumps a{padding:9px 13px;border:1px solid #b9c9db;border-radius:8px;background:#edf3f9;color:#102f56;font-weight:700;text-decoration:none;min-height:44px}.rlab h2[id]{scroll-margin-top:16px}
