/* Operator console: the same Salle & Carnet identity as the public landing.
   Shared brand tokens remain in /ds/pistenote-ds.css; all rules are scoped. */
body.pds-admin { background:var(--ds-ivory); font-family:var(--ds-font); color:var(--ds-navy); }
.pds-admin a { color:inherit; text-decoration:none; }
.pds-admin button,.pds-admin input,.pds-admin select,.pds-admin textarea { font-family:var(--ds-font); }
.pds-admin :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--ds-bronze); outline-offset:3px; }
.pds-admin .console-brand { gap:10px; font:500 30px/1.1 Georgia,serif; letter-spacing:-.035em; color:var(--ds-navy); }
.pds-admin .console-brand .mark { width:34px; height:34px; object-fit:contain; border-radius:0; background:none; box-shadow:none; }
.pds-admin .console-eyebrow { color:var(--ds-bronze); font-size:11px; font-weight:500; letter-spacing:.13em; line-height:1.6; }
.pds-admin .login-screen { display:flex; flex-direction:column; align-items:stretch; padding:0; background:var(--ds-ivory); }
.pds-admin .console-header { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; min-height:78px; padding:18px max(32px,calc((100% - 1180px)/2)); border-bottom:1px solid var(--ds-stroke); }
.pds-admin .console-home-link { display:flex; align-items:center; gap:18px; min-height:40px; color:var(--ds-text-body); font-size:14px; }
.pds-admin .console-home-link:hover { color:var(--ds-bronze); }
.pds-admin .login-card.wide { width:min(1180px,calc(100% - 64px)); margin:auto; padding:52px 0; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); align-items:center; gap:clamp(40px,6vw,88px); border:0; border-radius:0; box-shadow:none; background:transparent; }
.pds-admin .login-intro { min-height:0; min-width:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:26px; color:var(--ds-navy); background:none; border-radius:0; }
.pds-admin .login-intro h1 { margin:17px 0; color:var(--ds-navy); font:500 clamp(30px,3.1vw,42px)/1.5 var(--ds-display); letter-spacing:-.04em; }
.pds-admin .login-intro .login-intro-copy { color:var(--ds-text-muted); font-size:15px; line-height:1.85; }
.pds-admin .console-photo { margin:0; }
.pds-admin .console-photo img { display:block; width:100%; height:clamp(200px,23vw,290px); object-fit:cover; object-position:55% 48%; border-radius:3px; }
.pds-admin .console-photo figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:11px; font-size:11px; color:var(--ds-text-muted); letter-spacing:.03em; }
.pds-admin .login-pills { gap:0; padding-top:15px; border-top:1px solid var(--ds-stroke); }
.pds-admin .login-pills span { min-height:20px; padding:0 15px; border-right:1px solid var(--ds-stroke); border-radius:0; background:none; color:var(--ds-text-muted); font-size:12px; font-weight:500; }
.pds-admin .login-pills span:first-child { padding-left:0; }
.pds-admin .login-pills span:last-child { border:0; }
.pds-admin .login-form-panel { min-width:0; padding:30px 0 30px clamp(28px,3vw,44px); border-left:1px solid var(--ds-stroke-strong); gap:18px; }
.pds-admin .login-form-panel h2 { margin:0 0 12px; font-size:27px; font-weight:600; line-height:1.45; letter-spacing:-.03em; }
.pds-admin #loginDescription { color:var(--ds-text-muted); font-size:14px; line-height:1.85; }
.pds-admin .console-label { display:block; margin:6px 0 8px; font-size:13px; font-weight:500; color:var(--ds-text-body); }
.pds-admin #password + .login-actions { margin-top:22px !important; }
.pds-admin #email + .console-label { margin-top:18px; }
.pds-admin .login-actions { gap:10px; }
.pds-admin .login-actions button { min-height:48px; font-size:14px; font-weight:600; }
.pds-admin .login-form-panel .field { min-height:50px; font-size:15px; }
.pds-admin .demo-note { padding:16px 0 0; border:0; border-top:1px solid var(--ds-stroke); border-radius:0; background:none; color:var(--ds-text-muted); font-size:12px; font-weight:400; line-height:1.8; }
.pds-admin .divider { font-weight:500; color:var(--ds-bronze); }
.pds-admin .terms-line { font-size:12px; font-weight:400; line-height:1.7; }
/* The working console retains its information density and role-based views. */
.pds-admin .admin-shell,.pds-admin .admin-shell.organizer-shell { grid-template-columns:238px minmax(0,1fr); }
.pds-admin .sidebar { padding:27px 18px 22px; gap:26px; color:var(--ds-navy); background:var(--ds-ivory); border-right:1px solid var(--ds-stroke); }
.pds-admin .side-brand .console-brand { color:var(--ds-navy); }
.pds-admin .side-brand { padding:0 8px 23px; border-color:var(--ds-stroke); }
.pds-admin #consoleRoleLabel { margin:12px 0 0 44px; color:var(--ds-bronze); font-size:11px; letter-spacing:.07em; }
.pds-admin .side-nav { gap:6px; }
.pds-admin .side-nav button { min-height:48px; padding:0 14px; border-radius:5px; color:var(--ds-text-muted); font-size:14px; font-weight:500; }
.pds-admin .side-nav button:hover { color:var(--ds-navy); background:#ede6da; }
.pds-admin .side-nav button.active { color:var(--ds-navy); background:#e9dfce; box-shadow:inset 2px 0 0 var(--ds-bronze); font-weight:600; }
.pds-admin .side-nav button.active svg { color:var(--ds-bronze); }
.pds-admin .side-footer { padding-top:18px; color:var(--ds-text-muted); border-color:var(--ds-stroke); font-size:11px; line-height:1.75; font-weight:400; }
.pds-admin .side-footer span:first-child { color:var(--ds-bronze); font-weight:500; font-size:10px; letter-spacing:.055em; }
.pds-admin .main { min-width:0; background:var(--ds-canvas); }
.pds-admin .admin-topbar,.pds-admin .admin-shell.organizer-shell .admin-topbar { min-height:78px; padding:14px 36px; background:var(--ds-canvas); border-color:var(--ds-stroke); backdrop-filter:none; }
.pds-admin .top-title strong { font-size:15px; font-weight:600; }
.pds-admin .top-title span { margin-top:3px; font-size:12px; font-weight:400; overflow-wrap:anywhere; }
.pds-admin .admin-content,.pds-admin .admin-shell.organizer-shell .admin-content { padding:34px 36px 48px; background:var(--ds-canvas); gap:26px; }
.pds-admin .view { gap:24px; }
.pds-admin .page-head { padding-bottom:22px; border-bottom:1px solid var(--ds-stroke); }
.pds-admin .page-head h1 { font:500 34px/1.5 var(--ds-display); letter-spacing:-.04em; }
.pds-admin .page-head p { margin-top:9px; color:var(--ds-text-muted); font-size:14px; line-height:1.8; }
.pds-admin .section-title h2 { font-size:18px; font-weight:600; letter-spacing:-.02em; }
.pds-admin :is(.card,.surface-card,.operator-side,.operator-main,.operator-detail-card,.operator-board-card,.operator-match-card,.group-card,.player-card) { background:var(--ds-surface); border-color:var(--ds-stroke); border-radius:6px; box-shadow:none; }
.pds-admin .card { padding:22px; }
.pds-admin .metric { border:0; border-top:1px solid var(--ds-stroke-strong); border-radius:0; padding:20px 8px 20px 0; background:transparent; gap:13px; }
.pds-admin .metric:nth-child(2n) { border-top-color:var(--ds-stroke-strong); }
.pds-admin .metric b { font:500 37px/1.15 Georgia,serif; font-variant-numeric:lining-nums tabular-nums; }
.pds-admin .metric small { color:var(--ds-text-body); font-weight:500; }
.pds-admin .metric span { color:var(--ds-text-muted); font-weight:400; }
.pds-admin :is(.label,.row strong,.task strong,.detail-label,.top-action) { font-weight:600; }
.pds-admin .table { border-radius:6px; background:var(--ds-surface); }
.pds-admin .table > .row { background:var(--ds-surface); }
.pds-admin .row.clickable:hover { background:var(--ds-ivory); }
.pds-admin :is(.primary,.secondary,.ghost,.field,.top-action,.mini) { border-radius:6px; font-weight:500; box-shadow:none; }
.pds-admin .primary { background:var(--ds-navy); color:#fff; }
.pds-admin .primary:hover { background:var(--ds-electric-strong); }
.pds-admin .secondary,.pds-admin .top-action { background:transparent; color:var(--ds-navy); border:1px solid var(--ds-stroke-strong); }
.pds-admin .secondary:hover,.pds-admin .top-action:hover { background:#ede6da; }
.pds-admin .field { background:var(--ds-surface); border:1px solid var(--ds-stroke-strong); font-weight:400; }
.pds-admin .field:focus { border-color:var(--ds-bronze); box-shadow:var(--ds-focus); }
.pds-admin .operator-tabs { background:#eee8dd; border-radius:6px; }
.pds-admin .operator-tabs button { border-radius:4px; font-weight:500; }
.pds-admin .operator-tabs button.active { background:var(--ds-navy); color:#fff; }
.pds-admin .schedule-board { border-radius:6px; }
.pds-admin .board-time { background:var(--ds-ivory); }
.pds-admin .match-chip { background:#f0e9dd; border-color:var(--ds-stroke-strong); border-radius:4px; }
.pds-admin .match-chip.selected { background:var(--ds-navy); border-color:var(--ds-navy); color:#fff; }
.pds-admin .chip,.pds-admin .code-pill { border-radius:4px; }
.pds-admin .code-pill { background:#eee7db; }
.pds-admin .empty { border-color:var(--ds-stroke); border-left-color:var(--ds-sky); border-radius:6px; background:var(--ds-ivory); }
.pds-admin .empty::before { border-radius:0; background:transparent url('/brand/pistenote-mark.svg') center/30px no-repeat; }
.pds-admin .message:not(:empty) { background:var(--ds-ivory); border-color:var(--ds-stroke); border-left-color:var(--ds-bronze); border-radius:6px; font-weight:400; }
.pds-admin .message[data-tone="success"] { background:#edf9f5; border-color:#a9d9c8; border-left-color:#0a7c65; color:#075d4d; }
.pds-admin .message[data-tone="error"] { background:#fff7f8; border-color:#f3c5ca; border-left-color:#d92d4c; color:#8f1830; }
.pds-admin .modal-backdrop { background:rgba(20,38,56,.4); }
.pds-admin .modal-panel { background:var(--ds-surface); border:1px solid var(--ds-stroke); border-radius:8px; box-shadow:0 24px 80px rgba(20,38,56,.16); }
.pds-admin .modal-head { background:var(--ds-ivory); border-color:var(--ds-stroke); }
.pds-admin .modal-close { background:#e9dfce; color:var(--ds-navy); font-weight:500; }
@media(min-width:1200px) { .pds-admin #summaryGrid { grid-template-columns:repeat(5,minmax(0,1fr)); } .pds-admin .organizer-shell #summaryGrid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(min-width:900px) and (max-width:1100px) {
  .pds-admin .login-card.wide { gap:36px; grid-template-columns:minmax(0,1fr) minmax(330px,1fr); }
  .pds-admin .login-form-panel { padding-left:28px; }
}
@media(max-width:980px) {
  .pds-admin .admin-shell,.pds-admin .admin-shell.organizer-shell { grid-template-columns:1fr; }
  .pds-admin .sidebar { padding:18px 24px 12px; gap:14px; border-right:0; border-bottom:1px solid var(--ds-stroke); }
  .pds-admin .side-brand { display:flex; align-items:center; gap:24px; padding:0 0 14px; }
  .pds-admin #consoleRoleLabel { margin:0; }
  .pds-admin .admin-content,.pds-admin .admin-shell.organizer-shell .admin-content { padding:26px 24px; }
  .pds-admin .admin-topbar { padding:14px 24px; }
}
@media(max-width:899px) {
  .pds-admin .pc-only-gate { background:var(--ds-ivory); padding:24px; }
  .pds-admin .pc-only-card { padding:28px 0; border:0; border-top:1px solid var(--ds-stroke-strong); border-radius:0; background:transparent; box-shadow:none; gap:22px; }
  .pds-admin .pc-only-card .brand { font:500 30px/1.1 Georgia,serif; }
  .pds-admin .pc-only-card h1 { font-size:26px; line-height:1.6; font-weight:500; letter-spacing:-.035em; }
  .pds-admin .pc-only-card p { font-size:14px; line-height:1.85; }
  .pds-admin .pc-only-url { border-radius:4px; background:#e9dfce; color:var(--ds-navy); font-size:13px; font-weight:500; }
  .pds-admin .pc-only-actions { gap:12px; }
}
