/* White operations UI refinement. Load after style.css and roster.css. */
:root{
  color-scheme:light;
  --bg:#f6f8fb;--panel:#fff;--line:#e5eaf1;--text:#172033;
  --muted:#5c6b80;--ink-2:#445169;--accent:#1764d7;--blue-weak:#edf4ff;
  --ui-shadow:0 2px 8px #15274905;
  --ui-focus:0 0 0 3px #1764d71c;
}
body{font-size:13px;line-height:1.65;-webkit-font-smoothing:antialiased;background:var(--bg)}
button,input,textarea,select{font-family:inherit}
button{touch-action:manipulation;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}
.ui-icon,.button-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:middle;object-fit:contain}
button>.ui-icon,button>.button-icon{pointer-events:none}
.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:7px 12px;border-radius:7px;font-size:12px;font-weight:550;line-height:1.5}
.primary{background:var(--accent);border:1px solid var(--accent);color:#fff;box-shadow:0 1px 2px #1764d71c}
.primary:hover:not(:disabled){background:#1055bf;border-color:#1055bf;box-shadow:0 3px 8px #1764d722}
.primary:active:not(:disabled){background:#0d49a7;box-shadow:none}
.secondary{background:#fff;border:1px solid #dfe5ed;color:#445169;box-shadow:0 1px 2px #15274903}
.secondary:hover:not(:disabled){background:#f8faff;border-color:#becce0;color:#234c87}
.secondary:active:not(:disabled){background:#eff4fa}
.danger{background:#fff5f5;border:1px solid #f0cbcb;color:#b73737}
.danger:hover:not(:disabled){background:#ffebeb;border-color:#e8afaf}
.link{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;padding:4px 7px;border-radius:5px;color:var(--accent);font-size:12px;line-height:1.5;background:transparent;text-decoration:none}
.link:hover:not(:disabled){background:#eaf2ff;color:#1055bf}
.link.danger,.link[data-tone="danger"]{color:#b73737;background:transparent;border:0;box-shadow:none}
.link.danger:hover:not(:disabled),.link[data-tone="danger"]:hover:not(:disabled){background:#fff0f0}
.link .ui-icon,.link .button-icon{width:14px;height:14px;flex-basis:14px}
.row-buttons{gap:7px}
#app aside{background:#fff;border-right-color:var(--line)}
#app .brand{font-size:17px;color:#1c2c46;letter-spacing:.2px;padding-bottom:15px}
#app .brand .logo{border:0;background:#edf4ff;color:var(--accent);border-radius:8px}
#app .brand small{color:#64748b;letter-spacing:.7px}
#app .nav-caption{color:#64748b;letter-spacing:.5px;font-size:10px}
#app .nav-toggle{color:#6b778a;border-color:#e7ebf1;background:#fafbfd;border-radius:7px;margin-bottom:10px}
#app .nav-toggle:hover{background:#edf4ff;color:var(--accent);border-color:#d6e4fa}
#app nav{gap:2px}
#app nav button{border-radius:7px;min-height:34px;padding-top:7px;padding-bottom:7px;color:#5b677c;font-weight:450}
#app nav button:hover{background:#f4f7fb;color:#283d5a}
#app nav button.active{background:#eaf2ff;color:#165fc8;font-weight:600}
#app nav button .nav-icon{opacity:.8}
#app nav button.active .nav-icon{opacity:1}
#app .nav-group-label{display:block;margin:12px 0 5px;padding:0 10px;font-size:10px;color:#64748b;letter-spacing:.5px;line-height:1.5}
#app .nav-section{display:flex;flex-direction:column;gap:2px}
#app .nav-section:first-child .nav-group-label{margin-top:0}
#app.nav-collapsed .nav-group-label{display:none}
#app.nav-collapsed .nav-section+.nav-section{border-top:1px solid #edf0f4;margin-top:8px;padding-top:8px}
#app.nav-collapsed nav button:is(:hover,:focus-visible) .nav-tooltip{border-color:#e0e7f0;box-shadow:0 5px 18px #22395613;font-weight:400;padding:6px 10px}
#app .aside-bottom{border-color:#edf0f5;color:#64748b;font-size:10px;padding-top:12px}
#app .aside-bottom p{color:#64748b;line-height:1.7}
#app .aside-bottom .link{font-size:11px;padding-left:0}
header{height:66px;background:#fff;border-bottom-color:var(--line)}
.crumb{font-size:12px;color:#64748b}
.crumb b{font-weight:550;color:#445169}
.crumb span{color:#c2cbd7;padding:0 10px}
.top-controls{gap:14px;color:#5c6b80}
.top-controls select{min-height:34px;max-width:310px;font-size:12px;background:#fafbfd;border-color:#e5eaf1}
#actor{font-size:11px;color:#5c6b80;white-space:nowrap}
.modebar{border-color:#dce8fb;background:#f0f6ff;color:#526781;border-radius:7px;margin-top:18px;padding:7px 11px;font-size:11px;align-items:center;gap:10px}
.modebar b{color:#3265a9;font-size:10px;font-weight:650;letter-spacing:.3px}
.modebar .ui-icon{width:14px;height:14px;flex-basis:14px}
#content{padding-top:24px}
.heading{align-items:flex-start;gap:16px;margin-bottom:20px}
.heading h1{color:#1a273d;font-size:25px;font-weight:650;letter-spacing:-.5px;line-height:1.35;margin:4px 0 7px}
.heading .muted{font-size:12px;line-height:1.75;max-width:660px;color:#64748b}
.heading>.row-buttons{padding-top:7px}
.eyebrow{font-size:9px;color:#64748b;letter-spacing:1.4px;font-weight:550}
h2{color:#25344d;font-weight:600}
h3{color:#34435b;font-weight:600}
.muted{color:#6b7a90}
.panel,.metrics{border-color:var(--line);border-radius:10px;box-shadow:var(--ui-shadow)}
.panel{margin-bottom:18px}
.panel-title{padding:13px 17px;border-color:#edf0f5;background:#fff;min-height:49px}
.panel-title h2{font-size:13px;font-weight:600;color:#34435b;line-height:1.5;display:flex;align-items:center;gap:8px}
.panel-title .ui-icon{width:16px;height:16px;opacity:.7}
.panel-title>.link{font-size:11px}
.metrics{background:#fff;margin-bottom:18px}
.metric{padding:16px 18px;border-color:#edf0f5}
.metric small{font-size:11px;color:#5c6b80;font-weight:450}
.metric strong{font-size:25px;line-height:1.45;color:#26374e;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.metric p{font-size:10px;color:#64748b}
.metric-label{display:flex;align-items:center;gap:7px}
.metric-label .ui-icon{width:15px;height:15px;opacity:.5}
.toolbar{padding:11px 16px;gap:10px;border-color:#edf0f5;background:#fff}
.toolbar input{min-height:34px;font-size:12px}
.toolbar .tag{margin-left:auto}
.search-field{display:flex;align-items:center;gap:7px;position:relative;flex:1;max-width:360px}
.search-field>.ui-icon{position:absolute;left:10px;width:15px;height:15px;opacity:.45;pointer-events:none}
.search-field>input{width:100%;max-width:none;padding-left:32px}
.table-wrap{scrollbar-width:thin;scrollbar-color:#cbd4e1 transparent;overscroll-behavior:contain}
table{font-size:12px}
th{background:#f8fafc;color:#5c6b80;font-size:10px;font-weight:500;letter-spacing:0;line-height:1.6}
th,td{padding:10px 16px;border-bottom-color:#edf1f6}
td{color:#48566d}
tbody tr{transition:background-color .12s}
tbody tr:hover{background:#f7faff}
.identity{gap:9px}
.identity small{color:#64748b;font-size:10px}
.avatar{border-color:#e3eaf3;background:#f2f6fc;color:#6a82a3;border-radius:7px;font-size:11px;font-weight:550}
.tag{font-size:10px;font-weight:450;padding:2px 7px;line-height:1.6;border-radius:5px;border-color:#e7ecf2;background:#f7f9fc;color:#5c6b80}
.tag.blue{background:#edf4ff;border-color:#dce8fb;color:#4073b8}
.tag.green{background:#eff9f3;border-color:#d8eedf;color:#3c8758}
.tag.amber{background:#fff9ed;border-color:#f2e6c9;color:#9b7b3c}
.tag.red{background:#fff3f3;border-color:#efd9d9;color:#b65a5a}
.pager{padding:11px 16px;border-color:#edf0f5;font-size:10px;color:#64748b;gap:10px}
.notice{padding:12px 15px;background:#f0f5fc;border:1px solid #e0e9f6;border-left:3px solid #a8c5ef;border-radius:7px;color:#687d99;font-size:11px;line-height:1.8;margin-bottom:17px}
.notice .ui-icon{width:15px;height:15px;vertical-align:-3px;margin-right:5px}
label{color:#536179;font-size:12px;font-weight:550;margin:13px 0}
input,textarea,select{background:#fff;border:1px solid #dfe5ed;border-radius:7px;padding:8px 11px;color:#34435b;font-weight:400;min-height:36px;font-size:12px;transition:border-color .14s,box-shadow .14s}
input::placeholder,textarea::placeholder{color:#a5afbe;font-size:11px}
input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:#c5d2e2}
input:focus,textarea:focus,select:focus{outline:none;border-color:#8eafe1;box-shadow:var(--ui-focus)}
input[readonly],textarea[readonly]{background:#f8fafd;color:#7d8ba0}
input:disabled,textarea:disabled,select:disabled{background:#f5f7fa;color:#a1aabb}
.checkbox{font-size:12px;color:#65738a;font-weight:400;line-height:1.65}
.checkbox input{min-height:0;width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:var(--accent);box-shadow:none}
.field-help,label>.field-help{display:block;margin:5px 0 0;font-size:10px;font-weight:400;line-height:1.65;color:#6b7a90}
.field-error{display:block;margin:5px 0 0;font-size:11px;color:#b94d4d;font-weight:400}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#d88c8c;box-shadow:0 0 0 3px #d86e6e10}
.form-body{padding:19px 20px}
.form-grid{gap:16px}
.permission-fields{border-color:#e5ebf3;background:#fcfdff;border-radius:8px;padding:10px 13px;margin:17px 0}
.permission-fields legend{color:#60718a;font-size:11px;font-weight:550;padding:0 5px}
.permission-fields .checkbox{font-size:11px;margin:8px 0}
.permission-fields .muted{font-size:10px}
.permission-summary{font-size:11px;color:#64748b;line-height:1.9}
#editor{font:12px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:#47617c;padding:20px;background:#fcfdff;border:0;border-radius:0}
.tabs{gap:20px}
.tabs button{font-size:11px;color:#64748b;font-weight:500;transition:color .12s,border-color .12s}
.tabs button.active{color:#3d73bd}
.plugin-list>div:first-child{background:#fafbfd;border-color:#edf1f6;padding:12px}
.plugin-list>div:first-child button{border-radius:7px;font-size:12px;color:#75839a;padding:11px 12px}
.plugin-list>div:first-child button.active{background:#eaf2ff;color:#3674c8}
.plugin-list>div:first-child button:hover{background:#f0f4fb}
.feature-row{padding:15px 18px;border-color:#edf1f6;font-size:12px}
.feature-row p{font-size:10px;color:#64748b}
.list-host{padding:16px 18px;border-color:#edf0f5}
.list-host-head{gap:10px;flex-wrap:wrap}
.list-host-head>div:first-child{flex:1;min-width:180px}
.list-host-head h3{font-size:13px;color:#4c5f7b}
.list-host-head .muted{font-size:10px;color:#64748b}
.list-links{background:#fafcfe;border:1px solid #e7edf5;border-radius:7px;padding:10px 12px}
.list-links>summary{font-size:11px;color:#7790b2}
.copy-field{display:flex;align-items:stretch;gap:6px;margin-top:6px;min-width:0}
.copy-field input{margin:0;flex:1;min-width:0;font-size:10px}
.copy-field button{flex:0 0 auto;min-height:36px}
.copy-field .ui-icon{width:14px;height:14px}
.copy-field label{min-width:0;flex:1;margin:0}
.empty-state{padding:36px 20px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px;color:#94a0b2;white-space:normal}
.empty-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e6edf6;background:#f5f8fd;border-radius:13px;margin-bottom:3px;color:#8da5c6}
.empty-icon .ui-icon{width:23px;height:23px;opacity:.6}
.empty-title{font-size:13px;line-height:1.6;font-weight:550;color:#6e8099;margin:0}
.empty-detail{font-size:11px;line-height:1.8;max-width:330px;color:#64748b;margin:0}
.empty-action{margin-top:8px}
.empty-state .primary,.empty-state .secondary{font-size:11px;min-height:33px}
.empty{font-size:11px;color:#64748b}
.loading-state,.loading-shell{padding:26px 20px;min-height:180px}
.loading-heading{display:flex;align-items:center;gap:8px;color:#64748b;font-size:12px;margin-bottom:20px}
.skeleton{display:block;background:#eaf0f7;border-radius:5px;min-height:12px;animation:ui-skeleton 1.3s ease-in-out infinite alternate}
.skeleton+.skeleton{margin-top:12px}
.skeleton-line{height:12px;margin:12px 0;background:#eaf0f7;border-radius:5px;animation:ui-skeleton 1.3s ease-in-out infinite alternate}
.skeleton-line.short{width:38%}.skeleton-line.medium{width:65%}
.skeleton-row{display:grid;grid-template-columns:1.6fr 1fr .7fr;gap:20px;padding:14px 0;border-bottom:1px solid #f0f3f7}
.is-loading{cursor:progress!important}
.is-loading>.ui-icon,.is-loading>.button-icon{animation:ui-spin .8s linear infinite}
@keyframes ui-skeleton{from{opacity:.42}to{opacity:1}}
@keyframes ui-spin{to{transform:rotate(360deg)}}
dialog{position:fixed;border:1px solid #e1e7ef;border-radius:13px;background:#fff;color:#34435b;max-width:540px;max-height:calc(100dvh - 40px);padding:22px 24px;box-shadow:0 24px 90px #1834542b;scrollbar-width:thin;overscroll-behavior:contain}
dialog::backdrop{background:#273d5d50;backdrop-filter:blur(3px)}
dialog #dialog-title{font-size:17px;font-weight:650;line-height:1.55;padding-right:30px;margin:0 0 14px;color:#30445f}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dialog-header #dialog-title{margin:0}
.modal-close{display:grid;place-items:center;position:absolute;right:15px;top:15px;width:29px;height:29px;padding:0;border-radius:7px;color:#93a0b2;background:#f5f8fc;box-shadow:none;border:1px solid transparent}
.modal-close:hover{color:#4f6d93;background:#eaf1fb;border-color:#dce7f5}
.modal-close .ui-icon{width:15px;height:15px}
#dialog-body>p:first-child{font-size:12px;color:#7b899e;line-height:1.8;margin-top:0}
#dialog-body label:first-child{margin-top:0}
#dialog-error{font-size:11px;color:#b75d5d;line-height:1.7}
#dialog-error:empty{display:none}
.dialog-buttons{position:sticky;bottom:-22px;display:flex;justify-content:flex-end;gap:8px;margin:22px -24px -22px;padding:15px 24px;background:#fff;border-top:1px solid #eaf0f6;z-index:2;box-shadow:0 -4px 10px #fff9}
.dialog-buttons .primary,.dialog-buttons .secondary{min-height:35px;font-size:12px}
#toast{display:flex;align-items:center;gap:10px;bottom:24px;padding:12px 16px;max-width:min(520px,calc(100vw - 32px));border-radius:10px;border:1px solid #dfe7f3;background:#fff;color:#566e8d;box-shadow:0 8px 30px #213b5b1c;font-size:12px;line-height:1.65;z-index:30}
#toast[data-tone="success"],#toast.success{border-color:#d6e9dc;color:#397d50}
#toast[data-tone="error"],#toast.error{border-color:#efd4d4;color:#b26060}
.toast-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:7px;background:#f0f5fc}
.toast-icon .ui-icon{width:15px;height:15px}
.toast-copy{min-width:0;overflow-wrap:anywhere}
footer{border-color:#e8edf4;color:#64748b;font-size:10px;line-height:1.6;padding-top:15px;padding-bottom:15px}
.login{background:#f6f8fb}
.login form{border-color:#e3e9f2;border-radius:14px;box-shadow:0 8px 32px #19375c08;padding:32px}
.login .logo{background:#edf4ff;border:0;color:var(--accent)}
.login h1{color:#263e61;font-size:26px;font-weight:600;letter-spacing:-.5px}
.login .muted{font-size:12px;color:#64748b}
.login small{font-size:10px;color:#64748b}
/* Preserve the compact two-column battle view at every viewport size. */
.teams-grid,.teams-grid.squad-rosters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.team-heading{border-color:#e9eef5;background:#fff}
.team-heading h2{font-size:17px;font-weight:650;color:#3f5c80}
.squad-team:nth-child(2) .team-heading h2{color:#896b6b}
.team-stats{background:#fafcff;border-color:#e9eef5}
.team-stats small{color:#64748b}
.team-stats strong{font-weight:600;color:#4f6785;font-variant-numeric:tabular-nums}
.squad-team .squad-group>summary{background:#f5f8fd;border-top:1px solid #eef2f7;color:#647e9e}
.squad-team .squad-group>summary:hover{background:#ebf2fc}
.squad-team .squad-group>summary:focus-visible{outline-offset:-3px}
.squad-team .squad-meta{background:#fcfdff;color:#64748b}
.squad-team .squad-scroll th{background:#fafcfe;font-size:9px;color:#64748b}
.squad-team .squad-scroll td{color:#647a95}
.squad-team .squad-scroll .link{padding:3px 3px;gap:3px;background:#f2f6fc;color:#718caf;border-radius:4px;font-size:10px}
.squad-team .squad-scroll .link:hover{background:#e5effc;color:#376ba9}
.squad-team .squad-scroll .link .ui-icon{width:12px;height:12px;flex-basis:12px}
.roster-player-name{font-weight:500;color:#54708e}
.roster-player-role{color:#64748b}
body:has(.teams-grid) .heading h1{font-weight:650}
body:has(.teams-grid) .metric strong{font-weight:600}
@media(max-width:1100px){
  .heading h1{font-size:24px}
  .metric{padding:14px 16px}
}
@media(max-width:700px){
  #app header{padding:10px 12px;gap:7px}
  #app .top-controls{gap:7px}
  #app #server{font-size:11px;min-height:31px;padding:6px 8px}
  #app #actor{font-size:9px}
  .modebar{font-size:10px;padding:6px 9px;margin-top:10px}
  .heading{gap:12px;margin-bottom:16px}
  .heading h1{font-size:22px}
  .heading .muted{font-size:11px;line-height:1.7}
  .heading>.row-buttons{padding-top:0}
  .primary,.secondary,.danger{font-size:11px;min-height:33px;padding:6px 10px;gap:6px}
  .panel-title{padding:11px 13px;min-height:44px}
  .panel-title h2{font-size:12px}
  th,td{padding:9px 12px}
  .toolbar{padding:10px 12px;gap:8px}
  .toolbar input{font-size:11px}
  .toolbar .tag{font-size:9px}
  .metric strong{font-size:21px}
  .empty-state{padding:30px 15px}
  .empty-title{font-size:12px}
  .empty-detail{font-size:10px}
  dialog{max-width:calc(100vw - 24px);width:calc(100% - 24px);padding:20px;max-height:calc(100dvh - 30px)}
  dialog #dialog-title{font-size:16px}
  .dialog-buttons{bottom:-20px;margin:20px -20px -20px;padding:13px 20px}
  .permission-fields{padding:9px 10px}
  .permission-grid{gap:0 9px}
  .permission-fields .checkbox{font-size:11px}
  .list-host{padding:14px}
  .list-host-head>div:first-child{min-width:0}
  .copy-field button{padding:6px 8px}
  #toast{bottom:16px;font-size:11px;padding:10px 13px;gap:8px}
  footer{font-size:9px}
  body:has(.teams-grid) #app header{padding:5px 10px}
  body:has(.teams-grid) .heading{margin-bottom:8px}
  body:has(.teams-grid) .metric{padding:6px}
  body:has(.teams-grid) .metric small{font-size:9px}
  body:has(.teams-grid) .metric strong{font-size:16px}
  body:has(.teams-grid) .toolbar{padding:6px 8px}
  body:has(.teams-grid) .toolbar input{min-height:29px;font-size:10px}
  .squad-team .squad-scroll .link{font-size:9px;padding:2px;line-height:1.4}
  .squad-team .squad-scroll .link .ui-icon{width:11px;height:11px;flex-basis:11px}
  .squad-team .squad-scroll th{font-size:9px}
}
@media(max-height:650px){
  #app .nav-group-label{margin-top:8px;margin-bottom:4px;font-size:9px}
  #app nav button{min-height:29px;padding-top:5px;padding-bottom:5px}
  #app.nav-collapsed .nav-section+.nav-section{margin-top:5px;padding-top:5px}
  #app .brand{padding-bottom:9px}
  #app .aside-bottom{padding-top:9px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
  .skeleton,.skeleton-line,.is-loading>.ui-icon,.is-loading>.button-icon{animation:none!important}
}

/* Shared affordances used by the interaction polish layer. */
td{color:#334155}
.metric small,.heading .muted,.field-help,label>.field-help,th,.squad-team .squad-meta,.roster-player-role{color:#5c6b80}
.squad-team .squad-scroll th{color:#64748b}
.squad-team .squad-scroll td,.roster-player-name{color:#334155}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:30px;min-height:30px;padding:5px;border:1px solid #e3e9f1;border-radius:6px;background:#fff;color:#64748b;line-height:1.4}
.icon-button:hover:not(:disabled){background:#edf4ff;border-color:#cadbf4;color:#3565a6}
.icon-button .ui-icon{width:15px;height:15px}
.password-field{position:relative;display:flex;align-items:center;min-width:0;margin-top:6px}
.password-field>input{width:100%;min-width:0;margin-top:0;padding-right:42px}
.password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:grid;place-items:center;width:29px;height:28px;min-width:0;min-height:0;padding:0;border:0;border-radius:5px;background:transparent;color:#64748b}
.password-toggle:hover:not(:disabled){background:#edf2f9;color:#3565a6}
.password-toggle .ui-icon{width:16px;height:16px}
.is-spinning{animation:ui-spin .8s linear infinite}
.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;color:#64748b;min-height:180px}
.loading-state>.ui-icon{width:21px;height:21px;flex-basis:21px;opacity:.65}
.loading-state strong{display:block;color:#4b607c;font-size:12px;font-weight:550}
.loading-state small,.loading-state p{display:block;margin:3px 0 0;font-size:11px;color:#64748b}
.notice:has(>.notice-icon){display:flex;align-items:flex-start;gap:9px}
.notice-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px;margin-top:2px;color:#647fa1}
.notice-icon .ui-icon{width:16px;height:16px;margin:0}
.notice-copy{min-width:0;flex:1}
.quiet-danger{color:#b45353;border-color:transparent;background:transparent;box-shadow:none}
.quiet-danger:hover:not(:disabled){background:#fff1f1;border-color:#f1d5d5;color:#a93939;box-shadow:none}
#toast[data-kind="success"]{border-color:#d6e9dc;color:#397d50}
#toast[data-kind="error"]{border-color:#efd4d4;color:#a94444}
#toast[data-kind="success"] .toast-icon{background:#edf8f1}
#toast[data-kind="error"] .toast-icon{background:#fff0f0}
#toast[data-kind="info"] .toast-icon{background:#edf4ff}
@media(max-width:500px){
 .squad-team [data-player]{display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:28px;padding:4px;white-space:nowrap}
 .squad-team [data-player] .button-label{display:none}
 .squad-team [data-player] .ui-icon{width:14px;height:14px;flex-basis:14px}
}
@media(prefers-reduced-motion:reduce){.is-spinning{animation:none!important}}

.squad-team .squad-group>summary::before{content:none}.squad-team .squad-group>summary>.squad-chevron{width:12px;height:12px;flex:0 0 12px;transition:transform .15s}.squad-team .squad-group[open]>summary>.squad-chevron{transform:rotate(90deg)}.roster-player-name .leader-icon{width:11px;height:11px;margin-left:3px;vertical-align:-1px;color:#9b731d}.squad-team .roster-player-name{color:#334155}
/* Input-specific spacing wins over the compact battle-view input rule. */
#app .toolbar .search-field>input{padding-left:32px;padding-right:32px;width:100%;min-width:0;max-width:none}
@media(max-width:700px){#app header{height:auto;min-height:43px}body:has(.teams-grid) #app header{min-height:40px}}

.loading-state{flex-direction:column}.loading-label{display:flex;align-items:center;justify-content:center;gap:10px}.loading-state .skeleton{width:min(75%,520px);height:12px}.loading-state .skeleton+.skeleton{width:min(60%,400px);margin-top:0}
