.traffic-workspace,.traffic-admin{--traffic-ink:#312535;--traffic-muted:#706574;--traffic-paper:#fff;--traffic-line:#ddd2e2;--traffic-soft:#f6f1f8;--traffic-brand:#681d7b;color:var(--traffic-ink);min-width:0;max-width:100%;box-sizing:border-box}
.traffic-workspace *{box-sizing:border-box}
.traffic-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start;min-width:0}
.traffic-workspace .traffic-card{padding:20px;border:1px solid var(--traffic-line);border-radius:20px;background:var(--traffic-paper);min-width:0;max-width:100%;margin:0}
.traffic-card h2{margin:0 0 16px;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.traffic-card h3{font-size:17px;margin:16px 0 10px}
.traffic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.traffic-wide{grid-column:1/-1}
.traffic-workspace label{display:flex;flex-direction:column;gap:6px;font-weight:700;min-width:0;max-width:100%}.traffic-workspace small{font-weight:400;color:var(--traffic-muted);overflow-wrap:anywhere}
.traffic-workspace select,.traffic-workspace input,.traffic-workspace textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin:0;padding:10px 12px;background:var(--traffic-paper);color:var(--traffic-ink);border:1px solid var(--traffic-line);border-radius:10px;font:inherit;font-size:16px}
.traffic-workspace textarea{resize:vertical}.traffic-workspace input[type=datetime-local]{appearance:none}.traffic-workspace input::-webkit-date-and-time-value{min-width:0;text-align:left}.traffic-workspace input::-webkit-datetime-edit{min-width:0;padding:0}
.traffic-workspace fieldset,.traffic-workspace form{border:0;padding:0;margin:0;min-width:0;max-width:100%}
.traffic-actions,.traffic-list-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0;min-width:0}.traffic-list-heading{margin-top:0;align-items:start;justify-content:space-between}.traffic-list-heading h2{flex:1;min-width:0}
.traffic-workspace button,.traffic-admin button{min-height:44px;min-width:0;max-width:100%;margin:0;white-space:normal;line-height:1.3;overflow-wrap:anywhere}.traffic-workspace button.secondary{background:var(--traffic-paper);color:var(--traffic-brand);border:1px solid var(--traffic-line)}
.traffic-test-badge{display:inline-block;padding:4px 9px;border-radius:99px;border:1px solid var(--traffic-line);color:var(--traffic-muted);font-size:12px;margin-bottom:14px}.traffic-test-badge[hidden],.traffic-workspace button[hidden]{display:none!important}
#trafficFeedback,#trafficListStatus{white-space:pre-line;overflow-wrap:anywhere}#trafficFeedback[data-state=error],#trafficListStatus[data-state=error]{color:#a42636}#trafficFeedback[data-state=success]{color:#23653b}
.traffic-report{padding:16px 0;border-top:1px solid var(--traffic-line);overflow-wrap:anywhere}.traffic-report h3{margin:0 0 8px}.traffic-report p{margin:8px 0}.traffic-report .traffic-actions{margin-bottom:0}.traffic-preview{white-space:pre-wrap}
.traffic-admin-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.traffic-admin-user{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px;background:var(--traffic-soft);border-radius:8px}.traffic-admin input[type=checkbox]{width:20px;min-height:20px}.traffic-admin p{line-height:1.5}
@media(max-width:1100px){.traffic-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.traffic-grid,.traffic-admin-users{grid-template-columns:minmax(0,1fr)}.traffic-workspace .traffic-card{padding:16px}.traffic-wide{grid-column:auto}.traffic-actions>button{flex:1 1 140px}}
/* Existing R2K form rules use !important; keep overrides scoped to this module. */
#trafficWorkspace .traffic-card h2,#trafficWorkspace .traffic-card h3,#trafficWorkspace label{color:var(--traffic-ink)!important}
#trafficWorkspace .traffic-grid label{margin:0!important}
#trafficWorkspace select,#trafficWorkspace input,#trafficWorkspace textarea{background:var(--traffic-paper)!important;color:var(--traffic-ink)!important;border-color:var(--traffic-line)!important;margin:0!important}
#trafficWorkspace input::placeholder{color:var(--traffic-muted)!important;opacity:1}#trafficWorkspace .traffic-report p{color:var(--traffic-ink)!important}
.traffic-workspace [hidden]{display:none!important}
#trafficWorkspace #trafficSubmit{background:var(--traffic-brand)!important;color:#fff!important;border:1px solid var(--traffic-brand)!important}
#trafficWorkspace #trafficSubmit:hover:not(:disabled){background:#501560!important}
.traffic-grid select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:44px;font-size:16px}
.traffic-commune{min-width:0}
.traffic-suggestions{list-style:none;padding:0;margin:.35rem 0;border:1px solid var(--traffic-line);border-radius:.6rem;overflow:hidden}
.traffic-suggestions button{width:100%;text-align:left;padding:.65rem;white-space:normal}
.traffic-grid .traffic-check,.traffic-days .traffic-check{display:flex;flex-direction:row;align-items:center;gap:.5rem}
.traffic-check input{width:20px;min-height:20px;flex:0 0 20px}
.traffic-days{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:.8rem}
#trafficWindows .traffic-window,.traffic-extension{padding:.8rem;border:1px solid var(--traffic-line);border-radius:.6rem;margin:.8rem 0;min-width:0}
.traffic-window button,.traffic-extension button{margin:.5rem .5rem 0 0}

/* Module-local button palette wins over global workspace / !important rules. */
#trafficWorkspace button.secondary {
 background:var(--traffic-paper)!important;color:var(--traffic-brand)!important;
 border:1px solid var(--traffic-brand)!important;box-shadow:none!important;
}
#trafficWorkspace button.secondary:hover:not(:disabled) {
 background:var(--traffic-soft)!important;color:var(--traffic-brand)!important;
 border-color:var(--traffic-brand)!important;
}
#trafficWorkspace button:focus-visible {
 outline:3px solid var(--traffic-brand)!important;outline-offset:3px;
 box-shadow:0 0 0 2px var(--traffic-paper)!important;
}
#trafficWorkspace button:disabled,#trafficWorkspace #trafficSubmit:disabled {
 background:#eee9f0!important;color:#65566a!important;border-color:#b8aabd!important;
 opacity:1;cursor:not-allowed;box-shadow:none!important;transform:none!important;transition:none!important;
}
