/* Compact rosters share the organizer shell's navy and gold system. */
.om-shell .or-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; }
.om-shell .or-toolbar .om-page-title { margin:0 auto 0 0; color:var(--om-text,#f5f2ea); }
.om-shell .or-add,.om-shell .or-small-button { min-height:44px; padding:9px 14px; border:1px solid transparent; border-radius:9px; font-size:.82rem; font-weight:650; line-height:1.3; white-space:nowrap; transition:background 160ms var(--om-ease,ease),border-color 160ms var(--om-ease,ease),transform 160ms var(--om-ease,ease); }
.om-shell .or-add { order:2; background:var(--om-gold,#dfc48a); color:var(--om-bg,#08182c); box-shadow:inset 0 1px 0 #fff4d633,0 2px 8px #020b1526; }
.om-shell .or-progress-link { order:1; min-height:44px; border:0; border-radius:7px; background:none; padding:8px 0 8px 8px; color:var(--om-gold,#dfc48a); font-size:.78rem; text-decoration:none; text-underline-offset:4px; }
.om-shell .or-workspace .om-search { margin-bottom:10px; }
.om-shell .or-workspace .om-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.om-shell .or-workspace .om-search input { min-height:44px; padding:10px 12px 10px 38px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:10px; color:var(--om-text,#f5f2ea); background-color:var(--om-surface,#10263d); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23afc0d1' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.8'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E"); background-position:12px center; background-repeat:no-repeat; box-shadow:inset 0 1px 3px #020b151a; transition:border-color 160ms var(--om-ease,ease),background-color 160ms var(--om-ease,ease); color-scheme:dark; }
.om-shell .or-workspace .om-search input::placeholder { color:var(--om-muted,#afc0d1); opacity:.8; }
.om-shell .or-workspace .om-search input:focus { border-color:var(--om-gold,#dfc48a); background-color:var(--om-raised,#18334d); }
.om-shell .or-workspace .om-search-status { margin-top:6px; color:var(--om-muted,#afc0d1); }
.om-shell .or-roster { border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:12px; background:var(--om-surface,#10263d); box-shadow:0 4px 16px #020b1514; }
.om-shell .or-list { margin:0; list-style:none; padding:0; border-radius:inherit; overflow:hidden; }
.om-shell .or-list>li { padding:0; border:0; border-bottom:1px solid var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-list>li:last-child { border-bottom:0; }
.om-shell .or-row { display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; min-height:68px; padding:12px 14px; text-align:left; color:var(--om-text,#f5f2ea); border:0; border-radius:0; background:transparent; transition:background 160ms var(--om-ease,ease),box-shadow 160ms var(--om-ease,ease); }
.om-shell .or-row-copy { display:block; min-width:0; }
.om-shell .or-row-copy strong { display:block; overflow-wrap:anywhere; font-size:.9rem; line-height:1.35; letter-spacing:-.012em; font-weight:600; }
.om-shell .or-row-copy small { display:block; overflow-wrap:anywhere; color:var(--om-muted,#afc0d1); font-size:.75rem; line-height:1.4; margin-top:3px; }
.om-shell .or-row-aside { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.om-shell .or-status,.om-shell .or-tag { font-size:.66rem; font-weight:550; color:var(--om-muted,#afc0d1); line-height:1.4; }
.om-shell .or-status[data-state=eligible] { color:#9ed8bd; }
.om-shell .or-status:is([data-state=excluded],[data-state=revoked]) { color:#e9aaa6; }
.om-shell .or-tag { padding:3px 6px; border:1px solid #dfc48a2b; border-radius:5px; background:#dfc48a0d; color:var(--om-gold,#dfc48a); font-variant-numeric:tabular-nums; }
.om-shell .or-chevron { font-size:1.35rem; line-height:1; color:var(--om-muted,#afc0d1); opacity:.7; transition:color 160ms var(--om-ease,ease),transform 160ms var(--om-ease,ease); }
.om-shell .or-empty { padding:20px 14px; color:var(--om-muted,#afc0d1); font-size:.84rem; line-height:1.5; }
.om-shell .or-invitation-ready { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 12px; border:1px solid #dfc48a42; background:#dfc48a0d; color:var(--om-text,#f5f2ea); margin:0 0 10px; border-radius:10px; font-size:.8rem; }
.om-shell .or-small-button { background:transparent; color:var(--om-gold,#dfc48a); padding:8px; text-decoration:underline; text-underline-offset:4px; }
.om-shell .or-list-footer { padding:10px 12px; border-top:1px solid var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-list-footer .button { min-height:44px; padding:9px 12px; font-size:.78rem; background:var(--om-raised,#18334d); border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; color:var(--om-text,#f5f2ea); }

/* Native dialogs keep the canonical forms inside the organizer workspace. */
.om-shell .or-dialog { position:fixed; top:var(--or-viewport-top,0px); bottom:max(0px,calc(100% - var(--or-viewport-top,0px) - var(--or-viewport-height,100dvh))); margin:auto; padding:0; width:min(560px,calc(100vw - 32px)); max-width:none; max-height:calc(var(--or-viewport-height,100dvh) - 48px); border:1px solid #b5c9dd33; border-radius:16px; color:var(--om-text,#f5f2ea); background:var(--om-surface,#10263d); overflow:auto; overscroll-behavior:contain; scroll-behavior:auto; scroll-padding-block:80px 96px; box-shadow:0 32px 100px #020711a6,0 0 0 1px #020b154d; scrollbar-color:#afc0d14d transparent; color-scheme:dark; }
.om-shell .or-dialog[open] { animation:or-dialog-enter 180ms var(--om-ease,ease); }
.om-shell .or-dialog::backdrop { background:#030b16b8; backdrop-filter:blur(5px); }
.om-shell .or-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; position:sticky; top:0; z-index:2; border-bottom:1px solid var(--om-border,rgba(181,201,221,.16)); background:var(--om-surface,#10263d); }
.om-shell .or-dialog-header h2 { color:var(--om-text,#f5f2ea); font-size:1.1rem; line-height:1.3; letter-spacing:-.025em; margin:0; overflow-wrap:anywhere; }
.om-shell .or-close { flex-shrink:0; min-height:44px; padding:8px 12px; border:1px solid var(--om-border,rgba(181,201,221,.16)); background:var(--om-raised,#18334d); color:var(--om-muted,#afc0d1); border-radius:8px; font-size:.78rem; transition:background 160ms var(--om-ease,ease),color 160ms var(--om-ease,ease),transform 160ms var(--om-ease,ease); }
.om-shell .or-dialog-body { padding:18px 20px 22px; }
.om-shell .or-detail-description,.om-shell .or-detail-note { font-size:.81rem; line-height:1.5; color:var(--om-muted,#afc0d1); margin:0 0 14px; }
.om-shell .or-detail-section { border-top:1px solid var(--om-border,rgba(181,201,221,.16)); margin-top:16px; padding-top:16px; }
.om-shell .or-detail-section>h3,.om-shell .or-inline-heading { font-size:.86rem; font-weight:600; letter-spacing:-.01em; color:var(--om-text,#f5f2ea); margin:0 0 12px; }
.om-shell .or-dialog :is(.muted,.admin-help,.assignment-list li span,.assignment-list li small,.field small) { color:var(--om-muted,#afc0d1); }
.om-shell .or-dialog :is(.inline-form,.submission-form,.config-grid,.compact-form) { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:0; }
.om-shell .or-dialog .field { margin:0; gap:7px; }
.om-shell .or-dialog .field>label { font-size:.8rem; font-weight:550; color:var(--om-text,#f5f2ea); }
.om-shell .or-dialog .field :is(input,select,textarea) { min-height:44px; padding:10px 12px; border:1px solid #b5c9dd33; border-radius:8px; background:var(--om-bg,#08182c); color:var(--om-text,#f5f2ea); font-size:16px; transition:border-color 160ms var(--om-ease,ease),background 160ms var(--om-ease,ease); }
.om-shell .or-dialog .field :is(input,textarea)::placeholder { color:var(--om-muted,#afc0d1); opacity:.8; }
.om-shell .or-dialog .field :is(input,select,textarea):focus { border-color:var(--om-gold,#dfc48a); }
.om-shell .or-dialog .field :is(input,select,textarea):disabled { background:#08182c88; color:var(--om-muted,#afc0d1); opacity:.6; }
.om-shell .or-dialog .field input[readonly] { color:var(--om-gold,#dfc48a); }
.om-shell .or-dialog .field [aria-invalid=true] { border-color:#e9aaa6; }
.om-shell .or-dialog .button { min-height:44px; padding:10px 14px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; background:var(--om-raised,#18334d); color:var(--om-text,#f5f2ea); font-size:.82rem; }
.om-shell .or-dialog form .button,.om-shell .or-dialog [data-action=copy-invitation] { width:100%; margin-top:2px; background:var(--om-gold,#dfc48a); color:var(--om-bg,#08182c); border-color:transparent; font-weight:650; }
.om-shell .or-dialog .or-project-link { min-height:44px; padding:8px 0; margin-bottom:4px; color:var(--om-gold,#dfc48a); }
.om-shell .or-dialog .or-judge-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; justify-items:stretch; }
.om-shell .or-dialog .or-judge-actions .text-button { min-height:44px; text-align:left; justify-content:flex-start; padding:10px 12px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; background:var(--om-raised,#18334d); color:var(--om-text,#f5f2ea); font-size:.81rem; text-decoration:none; }
.om-shell .or-dialog .or-judge-actions .or-danger { color:#f0b4ac; border-color:#e9aaa633; background:#e9aaa60a; }
.om-shell .or-dialog .membership-form { padding:0; background:none; border:0; }
.om-shell .or-dialog .membership-form legend { font-size:.86rem; }
.om-shell .or-dialog .check-label { font-size:.83rem; color:var(--om-text,#f5f2ea); }
.om-shell .or-dialog .check-label input { accent-color:var(--om-gold,#dfc48a); }
.om-shell .or-dialog :is(.assignment-list li,.conflict-form,.submission-screenshot) { border-color:var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-dialog .assignment-list li { font-size:.81rem; }
.om-shell .or-dialog .subheading { font-size:.86rem; margin-top:18px; }
.om-shell .or-dialog .invitation-panel { margin:0; padding:0; border:0; background:none; }
.om-shell .or-dialog .invitation-panel p { font-size:.82rem; color:var(--om-muted,#afc0d1); }
.om-shell .or-dialog .invitation-panel .field { margin-top:14px; }
.om-shell .or-dialog .or-dialog-error { padding:12px; margin:0 0 14px; border:1px solid #e9aaa645; border-radius:8px; background:#e9aaa60d; color:#f0b4ac; font-size:.82rem; line-height:1.5; }
.om-shell .or-dialog .screenshot-error { color:#f0b4ac; }
.om-shell .or-workspace :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--om-gold,#dfc48a); outline-offset:3px; }
.om-shell .or-workspace .or-row:focus-visible { outline-offset:-3px; background:var(--om-raised,#18334d); }
.om-shell .or-workspace :is(.or-add,.or-small-button,.or-close):active:not(:disabled) { transform:translateY(1px); }
.om-shell .or-row:active { background:var(--om-raised,#18334d); box-shadow:inset 3px 0 var(--om-gold,#dfc48a); }
@media(hover:hover) {
 .om-shell .or-add:hover { background:#ecd6a6; border-color:#f5dfad; }
 .om-shell .or-row:hover { background:var(--om-raised,#18334d); }
 .om-shell .or-row:hover .or-chevron { color:var(--om-gold,#dfc48a); opacity:1; transform:translateX(2px); }
 .om-shell .or-progress-link:hover { color:#ecd6a6; text-decoration:underline; }
 .om-shell .or-close:hover { color:var(--om-text,#f5f2ea); background:#23415d; }
 .om-shell .or-dialog .button:hover:not(:disabled),.om-shell .or-list-footer .button:hover:not(:disabled) { background:#23415d; border-color:#b5c9dd59; }
 .om-shell .or-dialog form .button:hover:not(:disabled),.om-shell .or-dialog [data-action=copy-invitation]:hover { background:#ecd6a6; border-color:transparent; }
 .om-shell .or-dialog .or-judge-actions .text-button:hover { border-color:#b5c9dd59; background:#23415d; }
 .om-shell .or-dialog .or-judge-actions .or-danger:hover { border-color:#e9aaa666; background:#e9aaa61a; }
}
@keyframes or-dialog-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
 .om-shell .or-row { min-height:66px; padding:11px 12px; }
 .om-shell .or-row-aside { display:grid; gap:3px 7px; grid-template-columns:1fr 10px; }
 .om-shell .or-chevron { grid-column:2; grid-row:1 / span 2; }
 .om-shell .or-status,.om-shell .or-tag { grid-column:1; justify-self:end; text-align:right; max-width:72px; }
 .om-shell .or-dialog { width:100%; max-height:calc(var(--or-viewport-height,100dvh) - 16px); margin:auto 0 0; border-radius:16px 16px 0 0; border-bottom:0; }
 .om-shell .or-dialog-header { padding:12px 16px; }
 .om-shell .or-dialog-body { padding:16px 16px calc(22px + env(safe-area-inset-bottom)); }
}
@media(max-width:360px) { .om-shell .or-toolbar { gap:8px; } .om-shell .or-progress-link { font-size:.72rem; padding-left:0; } .om-shell .or-add { padding-inline:10px; font-size:.78rem; } }
@media(prefers-reduced-motion:reduce) { .om-shell .or-workspace * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .om-shell .or-row:hover .or-chevron,.om-shell .or-workspace :is(.or-add,.or-small-button,.or-close):active { transform:none; } }

.om-shell .or-review-content { margin:0 0 14px; }
.om-shell .or-review-content .ol-scorecard:first-of-type { padding-top:0; }
.om-shell .or-review-content .ol-review-intro { margin-top:0; }
.om-shell .or-review-content+.or-detail-section { margin-top:20px; }

.om-shell .or-pace { display:block; margin-top:3px; font-size:.7rem; color:var(--om-muted,#afc0d1); }
.om-shell .or-pace[data-pace=on_track] { color:#ade3c7; }
.om-shell .or-pace:is([data-pace=behind],[data-pace=blocked]) { color:#f0c59b; }
.om-shell .or-judge-timeline[hidden],.om-shell .or-pace[hidden] { display:none; }

.om-shell [data-om-roster=judges] .or-row-copy { flex:1; }
.om-shell .or-row-progress { display:block; height:3px; margin-top:4px; border-radius:3px; overflow:hidden; background:var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-row-progress-fill { display:block; height:100%; background:var(--om-gold,#dfc48a); }
.om-shell .or-row-progress[hidden] { display:none; }

.om-shell .ol-review-conflict { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; padding:8px 0; }
.om-shell .ol-review-conflict>p { color:#f0c59b; font-size:.75rem; }
.om-shell .or-clear-conflict { min-height:44px; padding:8px 10px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; background:var(--om-raised,#18334d); color:var(--om-gold,#dfc48a); font-size:.75rem; }
.om-shell .or-conflict-editor { display:grid; gap:12px; margin:0 0 18px; padding:14px; border:1px solid #dfc48a55; border-radius:10px; background:var(--om-bg,#08182c); }
.om-shell .or-conflict-editor h3 { margin:0; font-size:.9rem; color:var(--om-text,#f5f2ea); }
.om-shell .or-conflict-editor .field>span { font-size:.8rem; color:var(--om-text,#f5f2ea); }
.om-shell .or-conflict-summary { margin:0; font-size:.78rem; line-height:1.5; color:var(--om-muted,#afc0d1); }
.om-shell .or-conflict-actions { display:flex; gap:8px; }
.om-shell .or-clear-submit { min-height:44px; padding:9px 14px; border:0; border-radius:8px; background:var(--om-gold,#dfc48a); color:var(--om-bg,#08182c); font-size:.8rem; font-weight:600; }
.om-shell .or-conflict-feedback { margin:0; font-size:.78rem; line-height:1.5; color:#ffd1c2; }
.om-shell .or-conflict-success { margin:0 0 16px; padding:10px 12px; border:1px solid #ade3c740; border-radius:8px; color:#ade3c7; font-size:.8rem; line-height:1.5; }
.om-shell .or-conflict-editor [disabled],.om-shell .or-clear-conflict:disabled { opacity:.6; cursor:default; }

/* Table assignments use the same focused sheet as project and judge details. */
.om-shell .or-tables-control { order:1; min-height:44px; padding:8px 10px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; background:var(--om-raised,#18334d); color:var(--om-gold,#dfc48a); font-size:.78rem; font-weight:600; white-space:nowrap; }
.om-shell .or-project-table { display:flex; align-items:center; flex-wrap:wrap; gap:0 12px; }
.om-shell .or-project-table>h3 { flex-basis:100%; margin-bottom:4px; }
.om-shell .or-project-table .or-detail-note { margin:0 auto 0 0; overflow-wrap:anywhere; }
.om-shell .or-tag { overflow-wrap:anywhere; }
.om-shell .or-table-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:-6px 0 2px; }
.om-shell .or-table-summary>p { margin:0; font-size:.8rem; color:var(--om-text,#f5f2ea); font-variant-numeric:tabular-nums; }
.om-shell .or-table-summary .or-small-button { padding-inline:0; font-size:.78rem; }
.om-shell .or-tables-form { margin:0; }
.om-shell .or-table-entry { padding:10px 0; border-top:1px solid var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-table-field { display:grid; grid-template-columns:minmax(0,1fr) minmax(88px,32%); align-items:center; gap:12px; }
.om-shell .or-table-copy strong { display:block; font-size:.84rem; font-weight:600; line-height:1.4; color:var(--om-text,#f5f2ea); overflow-wrap:anywhere; }
.om-shell .or-table-copy small { display:block; margin-top:3px; font-size:.72rem; line-height:1.4; color:var(--om-muted,#afc0d1); overflow-wrap:anywhere; }
.om-shell .or-table-field input { width:100%; min-width:0; min-height:44px; padding:9px 10px; border:1px solid var(--om-border,rgba(181,201,221,.16)); border-radius:8px; background:var(--om-bg,#08182c); color:var(--om-text,#f5f2ea); font-size:16px; font-variant-numeric:tabular-nums; }
.om-shell .or-table-field input::placeholder { color:var(--om-muted,#afc0d1); font-size:inherit; }
.om-shell .or-table-field input[aria-invalid=true] { border-color:#e9aaa6; }
.om-shell .or-table-error,.om-shell .or-table-conflict p { margin:7px 0 0; color:#ffd1c2; font-size:.75rem; line-height:1.45; }
.om-shell .or-table-conflict .or-small-button { font-size:.75rem; margin-right:10px; padding-inline:0; }
.om-shell .or-table-footer { position:sticky; bottom:0; z-index:1; margin:10px -4px -4px; padding:10px 4px 4px; background:var(--om-surface,#10263d); border-top:1px solid var(--om-border,rgba(181,201,221,.16)); }
.om-shell .or-table-footer .or-clear-submit { width:100%; }
.om-shell .or-tables-feedback { margin:0 0 10px; font-size:.78rem; line-height:1.5; color:#ade3c7; }
.om-shell .or-tables-feedback[data-error=true] { color:#ffd1c2; }
.om-shell .or-tables-form [disabled],.om-shell .or-table-summary [disabled],.om-shell .or-tables-control:disabled { opacity:.55; cursor:default; }
.om-shell .or-table-error[hidden],.om-shell .or-table-conflict[hidden],.om-shell .or-tables-feedback[hidden] { display:none; }
@media(max-width:400px) {
 .om-shell .or-project-toolbar { gap:7px; }
 .om-shell .or-project-toolbar .om-page-title { font-size:1.12rem; }
 .om-shell .or-project-toolbar :is(.or-add,.or-tables-control) { padding-inline:8px; font-size:.72rem; }
}
