:root { --trr-purple:#6e54a3; --trr-purple-dark:#48356d; --trr-purple-soft:#f2edf9; --trr-ink:#201d24; --trr-muted:#756f79; --trr-line:#e5e0e8; --trr-green:#286e43; }
.trr-app { --wp--style--global--content-size: 1280px; width: min(1280px,calc(100% - 28px)); margin: 28px auto; color: var(--trr-ink); font-family: Inter,system-ui,sans-serif; }
.trr-app * { box-sizing: border-box; }
.trr-app-header { min-height: 72px; padding: 0 22px; display:flex; align-items:center; gap:18px; border-radius:14px 14px 0 0; background:var(--trr-purple); color:#fff; }
.trr-app-header img { width:155px; max-height:44px; }.trr-app-header span { padding-left:18px; border-left:1px solid rgba(255,255,255,.35); font-size:11px; font-weight:800; letter-spacing:.12em; }.trr-app-header a { margin-left:auto; color:#fff; font-size:11px; }
.trr-hero { padding:38px 3px 26px; }.trr-hero h1 { margin:7px 0; font-size:clamp(36px,6vw,64px); line-height:1; letter-spacing:-.05em; }.trr-hero p { margin:0; color:var(--trr-muted); }
.trr-ref-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:14px; }.trr-ref-stats article { min-height:105px; padding:16px 18px; display:grid; align-content:space-between; border:1px solid var(--trr-line); border-radius:11px; background:#fff; box-shadow:0 7px 28px rgba(48,34,58,.045); }.trr-ref-stats span { color:var(--trr-muted); font-size:9px; font-weight:900; letter-spacing:.1em; }.trr-ref-stats strong { color:var(--trr-purple-dark); font-size:34px; line-height:1; }.trr-ref-stats small { color:var(--trr-muted); font-size:9px; }
.trr-kicker { color:var(--trr-purple); font-size:10px; font-weight:900; letter-spacing:.13em; }
.trr-alert,.trr-grading-note { margin-bottom:14px; padding:12px 15px; border:1px solid #d7cbe8; border-radius:8px; background:var(--trr-purple-soft); color:var(--trr-purple-dark); font-size:12px; }
.trr-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:14px; align-items:start; }
.trr-week-nav,.trr-panel,.trr-login-panel { border:1px solid var(--trr-line); border-radius:12px; background:#fff; box-shadow:0 7px 28px rgba(48,34,58,.045); }
.trr-week-nav { padding:12px; }.trr-week-nav h2 { margin:5px 7px 10px; font-size:14px; }.trr-week-nav a { display:grid; grid-template-columns:52px 1fr; gap:2px 8px; margin:4px 0; padding:10px; border:1px solid transparent; border-radius:8px; color:var(--trr-ink); text-decoration:none; }.trr-week-nav a.active { border-color:#d5c8e8; background:var(--trr-purple-soft); }.trr-week-nav strong { grid-row:1/3; font-size:14px; }.trr-week-nav span { font-size:10px; font-weight:800; }.trr-week-nav small { color:var(--trr-muted); font-size:8px; text-transform:uppercase; }
.trr-main { display:grid; gap:14px; }.trr-panel { overflow:hidden; }.trr-panel-head { min-height:75px; padding:16px 18px; display:flex; justify-content:space-between; align-items:center; gap:14px; border-bottom:1px solid var(--trr-line); }.trr-panel-head h2 { margin:4px 0; font-size:20px; }.trr-panel-head p { margin:0; color:var(--trr-muted); font-size:10px; }.trr-panel-head button,.trr-login button { min-height:40px; padding:0 16px; border:0; border-radius:8px; background:var(--trr-purple); color:#fff; font-weight:800; }
.trr-grading-note { margin:12px 18px 0; }
.trr-time-grid { display:grid; grid-template-columns:repeat(4,minmax(100px,1fr)); gap:8px; padding:16px 18px; }.trr-time-grid label { min-height:70px; padding:11px; display:grid; align-content:center; border:1px solid var(--trr-line); border-radius:9px; background:#faf9fb; cursor:pointer; }.trr-time-grid label:has(input:checked),.trr-time-grid label.selected { border-color:#9bc7a8; background:#e9f5ec; color:var(--trr-green); }.trr-time-grid label.assigned { border-color:#d5c8e8; background:var(--trr-purple-soft); color:var(--trr-purple-dark); cursor:not-allowed; }.trr-time-grid input { position:absolute; opacity:0; }.trr-time-grid strong { font-size:17px; }.trr-time-grid span { margin-top:4px; font-size:9px; font-weight:800; }
.trr-assignment-list article { display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:14px; min-height:68px; padding:12px 18px; border-top:1px solid var(--trr-line); }.trr-assignment-list article:first-child { border-top:0; }.trr-assignment-list strong,.trr-assignment-list span { display:block; }.trr-assignment-list strong { font-size:12px; }.trr-assignment-list span { margin-top:3px; color:var(--trr-muted); font-size:9px; }.trr-assignment-list b { font-size:10px; }.trr-assignment-list .trr-state { padding:5px 7px; border-radius:99px; background:var(--trr-purple-soft); color:var(--trr-purple-dark); font-weight:800; text-transform:capitalize; }.trr-assignment-list button { border:0; background:transparent; color:#9b3636; font-size:9px; font-weight:800; }
.trr-assignment-list article.short-notice { background:#fff9f1; }.trr-withdraw-warning { display:block; max-width:520px; margin-top:7px; color:#9b4b17; font-size:9px; font-weight:800; line-height:1.35; }
.trr-claim-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px 18px; }.trr-claim-grid form { min-height:95px; padding:12px; display:grid; grid-template-columns:1fr auto; gap:4px 8px; align-items:center; border:1px solid #bcd8c4; border-radius:9px; background:#edf7f0; color:var(--trr-green); }.trr-claim-grid strong { grid-row:1/3; font-size:20px; }.trr-claim-grid span { font-size:8px; font-weight:800; }.trr-claim-grid button { min-height:32px; border:0; border-radius:7px; background:var(--trr-green); color:#fff; font-size:9px; font-weight:800; }
.trr-notification-list p { margin:0; padding:13px 18px; border-top:1px solid var(--trr-line); font-size:11px; }.trr-notification-list p:first-child { border-top:0; }.trr-notification-list small { display:block; margin-top:4px; color:var(--trr-muted); }
.trr-login { max-width:900px; }.trr-login-panel { padding:35px; border-radius:0 0 14px 14px; }.trr-login-panel h1 { margin:7px 0; font-size:40px; }.trr-login-panel p { color:var(--trr-muted); }.trr-login form { display:grid; gap:10px; }.trr-login label { display:grid; gap:5px; color:var(--trr-muted); font-size:10px; font-weight:800; text-transform:uppercase; }.trr-login input { min-height:44px; border:1px solid var(--trr-line); border-radius:8px; padding:0 12px; }
.trr-signup-divider { position:relative; margin:34px 0; text-align:center; }.trr-signup-divider::before { content:""; position:absolute; left:0; right:0; top:50%; border-top:1px solid var(--trr-line); }.trr-signup-divider span { position:relative; padding:0 12px; background:#fff; color:var(--trr-muted); font-size:9px; font-weight:900; }
.trr-register-cta { padding:19px; border:1px solid #d7cbe8; border-radius:10px; background:var(--trr-purple-soft); text-align:center; }.trr-register-cta h2 { margin:5px 0; font-size:22px; }.trr-register-cta p { margin:0 0 14px; }.trr-register-cta a { display:inline-flex; min-height:40px; padding:0 16px; align-items:center; border-radius:8px; background:var(--trr-purple); color:#fff; font-size:10px; font-weight:800; text-decoration:none; }
.trr-signup-intro h2 { margin:5px 0; font-size:28px; }.trr-signup-intro p { margin:0 0 18px; }.trr-signup-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.trr-night-calendar { margin:8px 0; padding:14px; border:1px solid var(--trr-line); border-radius:10px; }.trr-night-calendar legend { padding:0 7px; color:var(--trr-purple-dark); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }.trr-night-calendar > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.trr-night-calendar label { position:relative; min-height:125px; padding:10px; display:grid; grid-template-columns:auto 1fr; gap:7px !important; border:1px solid var(--trr-line); border-radius:9px; background:#faf9fb; cursor:pointer; text-transform:none !important; }.trr-night-calendar label:has(input:checked) { border-color:#9bc7a8; background:#e9f5ec; color:var(--trr-green); }.trr-night-calendar input { width:16px; min-height:16px; margin:2px 0 0; }.trr-night-calendar time { display:grid; justify-items:center; align-content:start; }.trr-night-calendar time strong,.trr-night-calendar time span { font-size:8px; text-transform:uppercase; }.trr-night-calendar time b { font-size:25px; line-height:1; }.trr-night-calendar small { grid-column:1/-1; color:var(--trr-muted); font-size:8px; line-height:1.35; }
.trr-gdpr-consent { grid-template-columns:auto 1fr !important; align-items:start; gap:9px !important; padding:12px; border-radius:8px; background:var(--trr-purple-soft); text-transform:none !important; line-height:1.45; }.trr-gdpr-consent input { width:17px; min-height:17px; margin:1px 0 0; }.trr-privacy-link { color:var(--trr-purple-dark); font-size:10px; }.trr-signup-error { border-color:#e1b2ad; background:#fff2f0; color:#923c34; }.trr-signup-success { border-color:#afd1b9; background:#edf7f0; color:var(--trr-green); }
.trr-back-to-login { display:block; margin-top:14px; color:var(--trr-purple-dark); font-size:10px; font-weight:800; text-align:center; }
.trr-public-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.trr-public-grid article { min-height:95px; padding:13px; display:grid; gap:4px; border:1px solid var(--trr-line); border-radius:9px; background:#fff; }.trr-public-grid time { color:var(--trr-purple-dark); font-size:17px; font-weight:900; }.trr-public-grid span { color:var(--trr-muted); font-size:9px; }.trr-public-grid strong { font-size:11px; }.trr-public-grid article.cancelled { background:#f9eded; color:#913939; text-decoration:line-through; }
.trr-public-manager { margin:0 0 14px; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-left:5px solid var(--trr-green); border-radius:9px; background:#e9f5ec; }.trr-public-manager span { color:var(--trr-green); font-size:9px; font-weight:900; letter-spacing:.08em; }.trr-public-manager strong { color:var(--trr-purple-dark); font-size:20px; }
@media(max-width:850px){.trr-layout{grid-template-columns:1fr}.trr-week-nav{display:flex;overflow:auto}.trr-week-nav h2{display:none}.trr-week-nav a{min-width:180px}.trr-signup-fields{grid-template-columns:1fr}.trr-night-calendar>div,.trr-time-grid,.trr-public-grid,.trr-claim-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.trr-app{width:min(100% - 18px,1280px)}.trr-login-panel{padding:22px}.trr-night-calendar>div,.trr-ref-stats,.trr-time-grid,.trr-public-grid,.trr-claim-grid{grid-template-columns:1fr}.trr-panel-head{align-items:flex-start;flex-direction:column}.trr-assignment-list article{grid-template-columns:1fr auto}.trr-assignment-list .trr-state{grid-column:1}.trr-app-header span{display:none}}

/* Keep the scheduling workflow readable and keyboard/touch operable. */
.trr-app .trr-time-grid label { position:relative; }
.trr-app .trr-time-grid label:has(input:focus-visible) { outline:3px solid currentColor; outline-offset:3px; }
.trr-app :is(.trr-app-header a,.trr-panel-head button,.trr-claim-grid button,.trr-assignment-list button) { min-height:44px; font-size:14px; }
.trr-app .trr-app-header a { display:inline-flex; align-items:center; }
.trr-app :is(.trr-week-nav span,.trr-panel-head p,.trr-assignment-list span,.trr-assignment-list b,.trr-public-grid span,.trr-notification-list p) { font-size:14px; line-height:1.5; }
.trr-app :is(.trr-time-grid span,.trr-claim-grid span,.trr-ref-stats span,.trr-ref-stats small,.trr-week-nav small) { font-size:12px; line-height:1.5; }
.trr-app :is(.trr-assignment-list strong,.trr-public-grid strong) { font-size:16px; line-height:1.4; }
.trr-app .trr-claim-grid { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.trr-app .trr-assignment-list article > div { min-width:0; overflow-wrap:anywhere; }
@media(max-width:540px) {
 .trr-app .trr-claim-grid { grid-template-columns:minmax(0,1fr); }
 .trr-app .trr-assignment-list article { grid-template-columns:minmax(0,1fr) auto; }
 .trr-app .trr-assignment-list article > div { grid-column:1/-1; }
 .trr-app .trr-panel-head button { width:100%; }
}
.trr-app .trr-public-manager { background:var(--trr-purple-soft); flex-wrap:wrap; }
.trr-app .trr-public-manager span { font-size:12px; }
.trr-app .trr-claim-grid form { background:var(--trr-purple-soft); color:var(--trr-ink); }
.trr-app .trr-claim-grid button { background:#286e43; color:#fff; }

/* Referee help stays readable without the optional tour script. */
.trr-app .trr-referee-help { margin:16px 0; padding:18px; border:1px solid var(--trr-line); border-radius:12px; background:var(--trr-purple-soft); color:var(--trr-ink); }
.trr-app .trr-help-intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:16px; }
.trr-app .trr-referee-help button { min-height:44px; padding:9px 16px; border:1px solid var(--trr-purple-dark); border-radius:8px; background:var(--trr-purple); color:#fff; font:700 15px/1.4 system-ui,sans-serif; cursor:pointer; }
.trr-app .trr-referee-help [hidden] { display:none !important; }
.trr-app .trr-referee-guide summary { padding-block:14px; font-size:16px; line-height:1.5; cursor:pointer; }
.trr-app .trr-guide-body { max-width:850px; }
.trr-app .trr-guide-body h2 { font-size:23px; }
.trr-app .trr-guide-body :is(p,li) { font-size:16px; line-height:1.65; }
.trr-app .trr-guide-body ol { padding-left:24px; }
.trr-app .trr-guide-body li { margin-bottom:14px; }
.trr-app .trr-referee-help :is(button,summary):focus-visible { outline:3px solid var(--trr-purple-dark); outline-offset:3px; }
.trr-app .trr-tour { position:fixed; z-index:10000; right:20px; bottom:20px; width:min(390px,calc(100% - 40px)); max-height:55vh; overflow:auto; padding:20px; border:2px solid #d5c8ff; border-radius:12px; background:#20162f; color:#fff; box-shadow:0 10px 50px #0008; }
.trr-app .trr-tour h2 { margin:6px 0 12px; color:#fff !important; font-size:23px; line-height:1.3; }
.trr-app .trr-tour p { color:#fff; font-size:16px; line-height:1.5; }
.trr-app .trr-tour .trr-tour-progress { margin:0; color:#d5c8ff; font-size:14px; }
.trr-app .trr-tour-actions { display:flex; flex-wrap:wrap; gap:8px; }
.trr-app .trr-tour button { background:#6e54a3; border-color:#d5c8ff; color:#fff; }
.trr-app .trr-tour button:disabled { opacity:.5; cursor:default; }
.trr-app .trr-tour-highlight { outline:3px solid var(--trr-purple-dark); outline-offset:4px; }
@media(max-width:540px) { .trr-app .trr-tour { right:10px; bottom:10px; width:calc(100% - 20px); padding:16px; max-height:50vh; } }


.trr-tour-pointer { position:fixed; z-index:100002; padding:3px 8px; border-radius:4px; background:#49346f; color:#fff; font:700 12px/1.5 system-ui,sans-serif; pointer-events:none; }
.trr-tour-highlight,.trr-admin-tour-highlight { outline:3px solid #9b79d1 !important; outline-offset:4px; box-shadow:0 0 0 5px #d5c8ff !important; }
[data-trr-tour-status]:empty { display:none; }
