/* SLOT PORTAL 2.6: midnight blue controls / unchanged Twilight Cat artwork.
   Presentation only: no state, URL handling, routes or database structures are changed. */
:root{
  --mid-950:#0a1b32;
  --mid-900:#102541;
  --mid-850:#142b4c;
  --mid-800:#1b3455;
  --mid-750:#213b60;
  --mid-700:#29466c;
  --mid-border:#557198;
  --mid-text:#f5f8ff;
  --mid-sub:#b9cee8;
  --mid-faint:#8ca8c9;
  --mid-accent:#adcaf5;
  --mid-radius:18px;
}
html:has(body.tw-portal),html:has(body.tw-judge),html:has(body.tw-income){color-scheme:dark}
body.tw-portal,body.tw-judge,body.tw-income{color:var(--mid-text)}
body.tw-portal a:focus-visible,body.tw-judge a:focus-visible,body.tw-income a:focus-visible,
body.tw-portal button:focus-visible,body.tw-judge button:focus-visible,body.tw-income button:focus-visible,
body.tw-portal summary:focus-visible,body.tw-judge input:focus-visible,body.tw-income input:focus-visible,
body.tw-income select:focus-visible,body.tw-income textarea:focus-visible{outline:3px solid #bbd9ff;outline-offset:2px}
/* PORTAL: retain both untouched lake/cat background images and composition. */
.tw-portal .hero-settings{color:#eaf3ff;border:1px solid #89a6c17a;background:#132c4cbd;box-shadow:0 3px 14px #07182b45}
.tw-portal .nav-cards{gap:13px}
.tw-portal .feature,.tw-portal .feature.income,.tw-portal .feature.advisor,.tw-portal .feature.judge{
  color:var(--mid-text)!important;
  border:1px solid #718aaa98!important;
  border-radius:19px;
  background-image:linear-gradient(125deg,rgba(37,61,97,.97) 0%,rgba(26,48,79,.97) 66%,rgba(20,39,69,.96) 100%)!important;
  box-shadow:0 8px 22px #081a3354,inset 0 1px #b7cfee27;
}
.tw-portal .feature.advisor{background-image:linear-gradient(125deg,#213b60f9,#172f52f9 68%,#142b4af9)!important}
.tw-portal .feature.judge{background-image:linear-gradient(125deg,#243757f9,#1a2d4df9 70%,#142743f9)!important}
.tw-portal .feature::before{background:linear-gradient(115deg,#bedafa15,transparent 37%,#a1beec0c 85%),radial-gradient(circle at 92% 26%,#c1dcfa19 0 3px,transparent 4px)}
.tw-portal .feature::after{display:none!important}
.tw-portal .feature-body{padding:14px 18px;gap:15px}
.tw-portal .feature-icon{width:64px;height:64px;border-radius:18px;border:1px solid #a4bed847!important;background:linear-gradient(145deg,#35537c,#263f65)!important;color:#b5d0f2!important;box-shadow:inset 0 1px #e6f1ff27,0 5px 13px #08142c3b;text-shadow:none}
.tw-portal .feature-icon svg{width:39px;height:39px;stroke-width:2.4}
.tw-portal .feature.income .feature-icon{color:#aec7f2!important}
.tw-portal .feature.advisor .feature-icon{color:#9ccaff!important}
.tw-portal .feature.judge .feature-icon{color:#b4bfe9!important}
.tw-portal .feature-title,.tw-portal .feature.income .feature-title,.tw-portal .feature.advisor .feature-title,.tw-portal .feature.judge .feature-title{color:#f7f9ff;letter-spacing:-.035em;text-shadow:none;font-weight:900}
.tw-portal .feature .chev{color:#aec9ec;text-shadow:none;right:15px}
.tw-portal .feature:active,.tw-portal .feature.active{box-shadow:0 4px 11px #06152b69,inset 0 1px #bfd7f829!important;filter:none!important}
.tw-portal .settings{border:1px solid #6f89aa74;background:linear-gradient(140deg,#1c3557f0,#102541f2);box-shadow:0 7px 23px #03152e68}
.tw-portal .settings summary{color:#f1f6ff}
.tw-portal .settings label{color:#d6e3f6}
.tw-portal .settings input[type=url]{background:#112644;color:#f3f7ff;border:1px solid #55739b}
.tw-portal .settings input[type=url]::placeholder{color:#8da8c8}
.tw-portal .settings .goldbtn,.tw-portal .settings .ghostbtn{background:linear-gradient(125deg,#345782,#263f66);border:1px solid #7394ba;color:#f3f7ff;box-shadow:inset 0 1px #cee5ff15,0 4px 13px #071b364f;border-radius:13px}
.tw-portal .settings .ghostbtn{background:linear-gradient(125deg,#253f64,#1b3255);border-color:#607fa9}
.tw-portal .backup{border-top-color:#527095}
.tw-portal .backup h3{color:#f1f6ff}
.tw-portal .backup p,.tw-portal .status,.tw-portal .caution{color:#b4c7e1}
.tw-portal .warning{color:#ffc4c7}
/* Shared bottom nav: dark navy with subtle blue selected state. */
.tw-bottom-nav{background:linear-gradient(180deg,#122a48f9,#0c203afe);border:1px solid #7892b236;border-bottom:0;box-shadow:0 -10px 30px #06183265}
.tw-bottom-nav a,.tw-bottom-nav button{color:#afc2df}
.tw-bottom-nav .selected{color:#c5dfff}
.tw-bottom-nav .selected svg{filter:drop-shadow(0 1px 4px #8bb7ef30)}
/* MACHINE SELECT: replace white rows, pastel pills, lavender editor with navy. */
.tw-judge .back,.tw-judge .round-btn{background:#1b3659d9;border:1px solid #7491b38c;color:#f5f8ff}
.tw-judge .headbars{color:#9fbdeb}
.tw-judge .search{color:#f6f9ff;background:#162f50e8;border:1px solid #55759d;box-shadow:none}
.tw-judge .search::placeholder{color:#a8bed9}
.tw-judge .sort-toggle{color:#edf4ff;background:#253f67;border:1px solid #6484ae;box-shadow:none}
.tw-judge .filter-pill{background:#172f50eb;border:1px solid #627c9f86;color:#c4d6ed}
.tw-judge .filter-pill.selected{background:#395b85;color:#fff;border:1px solid #8daed7;box-shadow:none}
.tw-judge .count,.tw-judge .message{color:#c0d4ed}
.tw-judge .machine,.tw-judge .machine:nth-child(3n+1),.tw-judge .machine:nth-child(3n+2),.tw-judge .machine:nth-child(3n){
  color:#f2f7ff;background:linear-gradient(120deg,#203b5e,#182e4e);border:1px solid #718bad78;box-shadow:0 5px 17px #06163066;
}
.tw-judge .machine-name{color:#f2f7ff;font-weight:850}
.tw-judge .machine figure{background:#172c49}
.tw-judge .machine-foot{background:transparent}
.tw-judge .machine-link,.tw-judge .machine-link.missing{background:linear-gradient(120deg,#344f77,#274369);color:#f1f6ff;border:1px solid #6484ad;box-shadow:none;text-shadow:none}
.tw-judge .machine-link.missing{color:#d3e4f8;background:linear-gradient(120deg,#263e60,#223854)}
.tw-judge .machine-edit{background:#1b3557ed;border:1px solid #7391b39d;color:#eff6ff}
.tw-judge .placeholder{background:linear-gradient(125deg,#274975,#183455);color:#d3e4fa}
.tw-judge .add{border:1px solid #6b8bb1;background:linear-gradient(115deg,#294771,#1d365c);color:#f6f9ff;box-shadow:0 5px 17px #06163066}
.tw-judge .backup-link{color:#c3d6f2}
.tw-judge .legacy{background:#203856;color:#e8f2ff;border:1px solid #6b87a9}
.tw-judge .legacy button{background:#345981;color:#fff;border:1px solid #89a3c5}
.tw-judge .overlay{background:#07152de6}
.tw-judge .editor{color:#f4f8ff;background:linear-gradient(180deg,#203958,#122942);border:1px solid #7791af7d;box-shadow:0 22px 65px #030e23a8}
.tw-judge .editor h2,.tw-judge .editor label{color:#f1f6ff}
.tw-judge .editor input:not([type=file]),.tw-judge .editor select,.tw-judge .editor textarea{background:#102641;color:#f6f9ff;border:1px solid #617e9d;box-shadow:none;color-scheme:dark}
.tw-judge .editor input::placeholder,.tw-judge .editor textarea::placeholder{color:#91abc9}
.tw-judge .editor .more-fields{background:#1a3454;border:1px solid #5e799c}
.tw-judge .more-fields summary,.tw-judge .editor-head .dismiss{color:#deebfc}
.tw-judge .editor-head .dismiss{background:#263f63;border:1px solid #7290b1}
.tw-judge .image-buttons button{background:#263f62;color:#eff5ff;border:1px solid #6b89ac}
.tw-judge .preview{background:#183351;border:1px dashed #7594b8;color:#c1d5ee}
.tw-judge .help,.tw-judge .edit-note,.tw-judge .order-controls span{color:#b1c6e1}
.tw-judge .editor-submit{background:linear-gradient(110deg,#355e8d,#25476e);color:#fff;border:1px solid #90b0d5;box-shadow:none}
.tw-judge .order-controls button{background:#2b4a73;color:#f1f7ff;border:1px solid #7695b6}
.tw-judge .editor-remove{background:#3d263d;color:#ffcfdd;border:1px solid #9b6981}
.tw-judge .filter-pills{margin-bottom:3px}
/* INCOME: dark blue panels, forms and tabs. Financial colors remain unambiguous. */
body.tw-income{--panel:#1a3455;--panel2:#243d5e;--line:#6683a5;--text:#f2f7ff;--muted:#b0c7e5;--brand:#b3cbed;--blue:#8db8ee;--red:#f3a6ad;--yellow:#b5cbe7;color:var(--mid-text)}
.tw-income .top{background:linear-gradient(120deg,#1c3657d9,#132c4ddd);border:1px solid #7792af66}
.tw-income .top h1{color:#f6f9ff}
.tw-income .brand{color:#c2d5f3}
.tw-income .sub{color:#bed0e8}
.tw-income .portal-link{background:#28456c;color:#f6f9ff;border:1px solid #7895b9;box-shadow:none}
.tw-income .card{color:#f2f7ff;background:linear-gradient(155deg,#233c5bF5,#182f4ef5);border:1px solid #7993ae68;box-shadow:0 7px 25px #07163150}
.tw-income .card h3{color:#eaf2ff}
.tw-income .section-head h2{color:#f4f8ff}
.tw-income .section-head .hint{color:#d4e3f8;border-color:#7794ad77;background:#244266c2}
.tw-income label{color:#d3e2f4}
.tw-income input,.tw-income select,.tw-income textarea{color:#f7faff;background:#112844;border:1px solid #637f9e;color-scheme:dark;box-shadow:none}
.tw-income input::placeholder,.tw-income textarea::placeholder{color:#90a9c5}
.tw-income input:focus,.tw-income select:focus,.tw-income textarea:focus{border-color:#a1c7f6;outline:2px solid #a1c7f64a}
.tw-income .btn,.tw-income .btn.ghost{background:#274366;color:#ebf4ff;border:1px solid #6987a9;box-shadow:none}
.tw-income .btn.primary,.tw-income .primary,.tw-income .selectgroup button[aria-pressed='true']{background:linear-gradient(110deg,#365a83,#284871);color:#fff;border:1px solid #91aed1;box-shadow:none}
.tw-income .btn.danger{background:#3f2e46;color:#ffd8e0;border:1px solid #a07990}
.tw-income .selectgroup button{background:#1e3858;color:#d6e5f7;border:1px solid #718aaa}
.tw-income .kpi,.tw-income .kpi:nth-child(2n),.tw-income .record{background:linear-gradient(130deg,#294466,#1e3859);color:#f1f7ff;border:1px solid #6886a682;box-shadow:none}
.tw-income .kpi span{color:#c6d7ed}
.tw-income .callout{background:linear-gradient(120deg,#28456a,#1c3858);color:#edf5ff;border:1px solid #6b8aaa}
.tw-income .callout .label{color:#c2d4ed}
.tw-income .callout .number{color:#f7faff;text-shadow:none}
.tw-income .callout small{color:#b4c7e2}
.tw-income .card .inline-help{color:#aabfda}
.tw-income .notice{background:#233d5d;border:1px solid #6f88a6;color:#e6f1ff}
.tw-income .tabs{background:linear-gradient(#142b49fa,#0c213bfa);border:1px solid #708ba853;box-shadow:0 -9px 26px #06172c78}
.tw-income .tabs button{color:#bcd0ed!important;background:transparent!important}
.tw-income .tabs button[aria-selected='true']{background:#33567e!important;color:#fff!important;border:1px solid #85a6ca!important;box-shadow:none!important}
.tw-income .flash{background:#264568;color:#e8f3ff;border:1px solid #7896b8;box-shadow:none}
.tw-income .flash.error{background:#493445;color:#ffdae0;border-color:#a8758c}
.tw-income .empty{background:#1b3656;border-color:#718fae;color:#d4e7fc}
.tw-income .track{background:#122943}
.tw-income .profit{color:#80e0c2}
.tw-income .loss{color:#f4a6b9}
.tw-income .barhead{color:#d9e8fa}
.tw-income .footer{color:#b2c6df}
@media(max-width:355px){
 .tw-portal .feature-body{padding:10px 12px;gap:10px}
 .tw-portal .feature-icon{width:56px;height:56px}
 .tw-portal .feature-title{font-size:19px}
 .tw-portal .feature.advisor .feature-title{font-size:16px}
 .tw-portal .feature.judge .feature-title{font-size:17px}
}
@media(prefers-reduced-motion:no-preference){
 .tw-portal .feature,.tw-judge .machine-link,.tw-income .btn{transition:background-color .15s ease,transform .15s ease,border-color .15s ease}
}
