:root{
  --k-bg:#060b08;
  --k-bg2:#09120d;
  --k-panel:#0d1711;
  --k-panel2:#122019;
  --k-panel3:#17291f;
  --k-text:#d8ffe1;
  --k-text2:#a6d9b1;
  --k-muted:#76a982;
  --k-brand:#43ff6b;
  --k-brand2:#18c947;
  --k-line:#244b31;
  --k-soft:rgba(67,255,107,.09);
  --k-soft2:rgba(67,255,107,.16);
  --k-shadow:0 16px 45px rgba(0,0,0,.32);
  --k-radius:14px;
  color-scheme:dark;
}
html[data-kushty-theme="light"]{
  --k-bg:#eef9f1;
  --k-bg2:#f7fff8;
  --k-panel:#ffffff;
  --k-panel2:#f3fbf5;
  --k-panel3:#e7f6eb;
  --k-text:#12351c;
  --k-text2:#315f3c;
  --k-muted:#61826a;
  --k-brand:#108a32;
  --k-brand2:#087125;
  --k-line:#bfdfc7;
  --k-soft:rgba(16,138,50,.07);
  --k-soft2:rgba(16,138,50,.13);
  --k-shadow:0 15px 40px rgba(18,53,28,.10);
  color-scheme:light;
}

html,body{background:var(--k-bg)!important;color:var(--k-text)!important}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body{letter-spacing:.005em}
a{color:var(--k-brand)!important}
a:hover{color:var(--k-text)!important}

/* Keep Roundcube Elastic's layout, but make every major surface feel like Kushty. */
#layout-menu,#layout-sidebar,#layout-list,#layout-content,
.frame-content,.popup,.popover,.menu,.box,.listbox{
  background-color:var(--k-panel)!important;
  color:var(--k-text)!important;
}
#layout-menu{background:linear-gradient(180deg,var(--k-bg2),var(--k-panel))!important;border-color:var(--k-line)!important}
#layout-sidebar,#layout-list{border-color:var(--k-line)!important}
#layout-list .header,#layout-content .header,#layout-sidebar .header,.toolbar,.footer,.searchbar{
  background:var(--k-panel2)!important;
  border-color:var(--k-line)!important;
  color:var(--k-text)!important;
}
.header-title,.boxtitle,.listing .subject,.message-partheaders,.message-partheaders a{color:var(--k-text)!important}

/* Main task rail / app controls */
#taskmenu a,.toolbar a,.menu a,.button,.btn{
  color:var(--k-text2)!important;
  transition:background-color .15s ease,color .15s ease,transform .15s ease,border-color .15s ease;
}
#taskmenu a:hover,.toolbar a:hover,.menu a:hover,.button:hover{background:var(--k-soft)!important;color:var(--k-brand)!important}
#taskmenu a.selected,.toolbar a.selected,.menu a.selected{background:var(--k-soft2)!important;color:var(--k-brand)!important}
#taskmenu .button:before,.toolbar .button:before{color:var(--k-brand)!important}

/* Mailbox/folder list */
.folderlist li,.listing li,.listing tr td{border-color:rgba(118,169,130,.14)!important;color:var(--k-text2)!important}
.folderlist li a,.listing li a,.listing tr td a{color:var(--k-text2)!important}
.folderlist li.selected>a,.listing li.selected,.listing tr.selected td{
  background:linear-gradient(90deg,var(--k-soft2),var(--k-soft))!important;
  color:var(--k-text)!important;
}
.folderlist li.selected>a,.listing li.selected a,.listing tr.selected td a{color:var(--k-text)!important}
.listing li:hover,.listing tr:hover td{background:var(--k-soft)!important}
.unread .subject,.unread td,.unread a{font-weight:800!important;color:var(--k-text)!important}

/* Message list readability */
#messagelist{background:var(--k-panel)!important}
#messagelist tr td{padding-top:.62rem!important;padding-bottom:.62rem!important}
#messagelist .subject a{color:var(--k-text)!important}
#messagelist .fromto,#messagelist .date,#messagelist .size{color:var(--k-muted)!important}
#message-header{background:var(--k-panel2)!important;border:1px solid var(--k-line)!important;border-radius:var(--k-radius)!important;padding:14px 16px!important;margin:10px!important}
#message-header>.subject{color:var(--k-text)!important;font-weight:850!important}
.message-part{background:var(--k-panel)!important;color:var(--k-text)!important}

/* Forms */
input,textarea,select,.form-control,.custom-select{
  background:var(--k-bg2)!important;
  color:var(--k-text)!important;
  border:1px solid var(--k-line)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
input:focus,textarea:focus,select:focus,.form-control:focus{
  border-color:var(--k-brand2)!important;
  box-shadow:0 0 0 3px var(--k-soft)!important;
}
.button.mainaction,.btn-primary,button.mainaction,input.button.mainaction{
  background:linear-gradient(135deg,var(--k-brand),#7dff95)!important;
  color:#031008!important;
  border:0!important;
  border-radius:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 24px rgba(67,255,107,.14)!important;
}
.button.mainaction:hover,.btn-primary:hover,button.mainaction:hover{transform:translateY(-1px)!important;filter:brightness(1.03)}

/* Login */
body.task-login #layout-content{background:radial-gradient(circle at 50% 10%,rgba(67,255,107,.10),transparent 35%),var(--k-bg)!important}
#login-form{
  background:linear-gradient(180deg,var(--k-panel),var(--k-panel2))!important;
  border:1px solid var(--k-line)!important;
  border-radius:20px!important;
  padding:22px!important;
  box-shadow:var(--k-shadow)!important;
}
#login-form .formbuttons{margin-top:18px!important}
#logo{display:none!important}
.kushty-mail-hero{max-width:430px;margin:2.5vh auto 16px;text-align:center;color:var(--k-text)}
.kushty-mail-hero img{width:min(300px,78vw);max-height:200px;object-fit:cover;border-radius:20px;border:1px solid var(--k-line);box-shadow:0 0 40px rgba(67,255,107,.12);animation:kushtyBob 3s ease-in-out infinite}
.kushty-mail-hero h1{margin:12px 0 4px;color:var(--k-text)!important;font-weight:950;letter-spacing:-.035em}
.kushty-mail-hero p{margin:0;color:var(--k-muted)!important}
.kushty-mail-quote{margin-top:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--k-brand);min-height:1.4em}

/* Small in-app brand mark. */
.kushty-mail-brand{display:none!important}

/* Theme toggle */
.kushty-theme-toggle{position:fixed;right:14px;top:12px;z-index:9998;border:1px solid var(--k-line);background:var(--k-panel2);color:var(--k-text);border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.kushty-theme-toggle:hover{border-color:var(--k-brand);color:var(--k-brand)}

/* Login loader */
#kushty-mail-loader{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(2,7,4,.96);text-align:center;padding:22px;overflow:hidden}
#kushty-mail-loader.show{display:flex}
#kushty-mail-loader .card{max-width:480px;width:100%;padding:24px;border:1px solid var(--k-line);border-radius:22px;background:var(--k-panel);box-shadow:0 0 65px rgba(67,255,107,.18)}
#kushty-mail-loader img{width:min(320px,86%);border-radius:18px;animation:kushtyBob 1.7s ease-in-out infinite}
.kushty-load-quote{margin:15px 0;color:var(--k-brand);font-size:1.05rem;font-weight:950;letter-spacing:.075em;text-transform:uppercase}
.kushty-loadbar{height:9px;background:var(--k-soft);border:1px solid var(--k-line);border-radius:999px;overflow:hidden}
.kushty-loadbar span{display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--k-brand),transparent);animation:kushtySweep 1.05s linear infinite}
.kushty-money{position:absolute;color:var(--k-brand);font-weight:950;font-size:1.7rem;animation:kushtyCash 2.4s linear infinite}

/* Accessible/voice-only Roundcube labels must remain visually hidden after our overrides. */
.voice,.voice-only,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@keyframes kushtyBob{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-6px) rotate(.4deg)}}
@keyframes kushtySweep{0%{transform:translateX(-130%)}100%{transform:translateX(350%)}}
@keyframes kushtyCash{0%{transform:translateY(120px) rotate(0);opacity:0}20%{opacity:.8}100%{transform:translateY(-230px) rotate(28deg);opacity:0}}

@media(max-width:768px){
  .kushty-theme-toggle{top:8px;right:8px;padding:7px 9px}
  .kushty-mail-hero{margin-top:52px}
  .kushty-mail-hero img{max-height:170px;width:min(250px,78vw)}
  .kushty-mail-brand span{display:none}
  #message-header{margin:6px!important}
}

/* V8 mail-structure cleanup */
#layout-sidebar .listing li a,#mailboxlist li a{min-height:38px!important;display:flex!important;align-items:center!important}
#mailboxlist li.selected>a{border-left:3px solid var(--k-brand)!important}
#layout-list{min-width:320px}
#layout-content{min-width:0}
.statusbar,.quota-widget{color:var(--k-muted)!important}
@media(min-width:1200px){#layout-list{width:31%!important;max-width:520px!important}}
