/* RJA dark matte visual identity — presentation only. No accounting or database logic. */
:root{
  --rja-page:#202124;
  --rja-page-deep:#1b1c1f;
  --rja-surface:#292b2f;
  --rja-surface-soft:#25272b;
  --rja-surface-raised:#303238;
  --rja-text:#f4f1ec;
  --rja-text-soft:#d8d4ce;
  --rja-muted:#aaa9ae;
  --rja-line:#44464d;
  --rja-line-soft:#393b41;
  --rja-silver:#c7c9ce;
  --rja-rose:#d6a0aa;
  --rja-rose-dark:#b87884;
  --rja-rose-deep:#945966;
  --rja-rose-soft:rgba(214,160,170,.14);
  --rja-sidebar-text:#2e3035;
  --rja-shadow:0 14px 34px rgba(0,0,0,.22);

  --blue:var(--rja-rose)!important;
  --blue2:var(--rja-rose-dark)!important;
  --ink:var(--rja-text)!important;
  --muted:var(--rja-muted)!important;
  --line:var(--rja-line)!important;
  --bg:var(--rja-page)!important;
  --card:var(--rja-surface)!important;
  --purple:#927596!important;
}

html{background:var(--rja-page);color-scheme:dark}
body.rja-app-page,
body.rja-login-page{
  background-color:var(--rja-page)!important;
  background-image:linear-gradient(180deg,#222326 0%,#1e1f22 100%)!important;
  color:var(--rja-text)!important;
  font-weight:600;
}
body.rja-app-page *,body.rja-login-page *{font-weight:inherit}

/* Splash screen: login page only; markup is emitted only before authentication. */
.rja-splash{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;
  background:#202124;
  opacity:1;visibility:visible;pointer-events:auto;
  animation:rjaSplashLayer 1.9s ease both;
}
.rja-splash.rja-splash-leaving{animation:none;opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s ease}
.rja-splash-logo{
  width:clamp(170px,27vw,255px);height:auto;display:block;border-radius:50%;
  object-fit:contain;box-shadow:0 18px 52px rgba(0,0,0,.34);
  animation:rjaSplashLogo 1.65s cubic-bezier(.22,.72,.25,1) both;
}
@keyframes rjaSplashLogo{
  0%{opacity:0;transform:scale(.975)}
  28%{opacity:1;transform:scale(1)}
  72%{opacity:1;transform:scale(1.018)}
  100%{opacity:0;transform:scale(1.026)}
}
@keyframes rjaSplashLayer{
  0%,78%{opacity:1;visibility:visible}
  100%{opacity:0;visibility:hidden}
}

/* Login */
body.rja-login-page{
  position:relative;overflow:hidden;padding:22px!important;min-height:100vh;
  background:#202124!important;
}
body.rja-login-page::before{
  content:"";position:fixed;z-index:0;inset:auto auto 50% 7%;transform:translateY(50%);
  width:min(48vw,620px);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:url('rja_logo.png') center/contain no-repeat;opacity:.026;filter:grayscale(1);
}
body.rja-login-page::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(32,33,36,.12),rgba(32,33,36,.68) 50%,rgba(32,33,36,.90));
}
body.rja-login-page .box{
  position:relative;z-index:1;margin-inline:auto!important;width:min(500px,95vw)!important;
  padding:34px 36px 30px!important;text-align:center;
  background:rgba(42,44,49,.96)!important;border:1px solid #45474e!important;
  border-radius:25px!important;box-shadow:0 26px 72px rgba(0,0,0,.36)!important;
}
body.rja-login-page .box::before{display:none!important}
body.rja-login-page .logo{
  width:116px!important;height:116px!important;margin:0 auto 22px!important;padding:0!important;
  border-radius:50%!important;overflow:hidden;background:#151619!important;
  border:1px solid #4a4c52!important;box-shadow:0 15px 34px rgba(0,0,0,.32)!important;
}
body.rja-login-page .logo img{
  display:block;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:50%!important
}
body.rja-login-page .box h1{
  margin:0 0 11px!important;color:var(--rja-text)!important;font-size:clamp(22px,4vw,28px)!important;
  line-height:1.65!important;font-weight:800!important
}
body.rja-login-page .login-subtitle{
  margin:0 0 25px!important;color:var(--rja-text-soft)!important;line-height:1.8!important;
  font-size:14px!important;font-weight:700!important
}
body.rja-login-page .login-subtitle span{color:#e7c2c9!important;letter-spacing:.035em}
body.rja-login-page .field{text-align:right!important;gap:8px!important;margin-bottom:15px!important}
body.rja-login-page .field label{color:#e3dfda!important;font-size:12px!important;font-weight:750!important}
body.rja-login-page input{
  background:#232428!important;color:var(--rja-text)!important;border:1px solid #55575e!important;
  box-shadow:none!important;font-weight:650!important
}
body.rja-login-page input:focus{
  border-color:var(--rja-rose)!important;box-shadow:0 0 0 3px rgba(214,160,170,.14)!important
}
body.rja-login-page input::placeholder{color:#888a91!important}
.password-field{position:relative}
.password-field input{padding-left:74px!important}
body.rja-login-page .password-toggle{
  position:absolute!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;
  width:auto!important;min-width:58px!important;margin:0!important;padding:7px 10px!important;
  border:0!important;border-radius:9px!important;background:#35373d!important;color:#e8c7cd!important;
  box-shadow:none!important;font-size:11px!important;font-weight:800!important;cursor:pointer
}
body.rja-login-page .password-toggle:hover{background:#3d3f45!important;color:#fff!important;transform:translateY(-50%)!important}
body.rja-login-page .login-button{
  width:100%!important;margin-top:5px!important;padding:14px!important;border:0!important;border-radius:12px!important;
  background:linear-gradient(135deg,var(--rja-rose-deep),var(--rja-rose-dark))!important;color:#fff!important;
  box-shadow:0 12px 28px rgba(148,89,102,.25)!important;font-size:15px!important;font-weight:800!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease
}
body.rja-login-page .login-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 15px 31px rgba(148,89,102,.32)!important}
body.rja-login-page .error{
  background:#4a252c!important;color:#ffdfe4!important;border:1px solid #7d3f4a!important;
  font-weight:750!important;text-align:right
}
body.rja-login-page .secure{margin-top:17px!important;color:#92939a!important;font-size:11px!important;font-weight:650!important}

/* Light matte sidebar with the single company's own logo. */
.sidebar{
  background:
    radial-gradient(115% 26% at 8% 0%,rgba(255,255,255,.60),transparent 62%),
    linear-gradient(158deg,#efd9de 0%,#d8d9dd 52%,#e5cbd1 100%)!important;
  color:var(--rja-sidebar-text)!important;border-left:1px solid rgba(63,64,69,.20)!important;
  box-shadow:-9px 0 28px rgba(0,0,0,.20)!important
}
.brand{border-bottom:1px solid rgba(52,53,58,.16)!important;text-align:center!important}
.company-logo-frame{
  width:82px;height:82px;margin:0 auto 11px;display:grid;place-items:center;overflow:hidden;
  border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(53,54,60,.16);
  box-shadow:0 9px 22px rgba(50,49,54,.12);padding:7px
}
.company-logo{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center}
.company-logo-placeholder{color:#585a60;font-size:31px;background:rgba(255,255,255,.44)}
.brand>strong{display:block!important;color:#2d2f34!important;font-size:19px!important;font-weight:850!important}
.brand>span{display:block!important;margin-top:5px;color:#5c5e65!important;font-size:10.5px!important;font-weight:700!important;line-height:1.55}
.nav a{
  color:#34363b!important;font-weight:800!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease
}
.nav a .icon{color:#4c4e54!important}
.nav a:hover{background:rgba(255,255,255,.38)!important;color:#26282c!important;transform:translateX(-2px)}
.nav a.active{
  background:rgba(185,112,126,.34)!important;color:#25262a!important;
  box-shadow:inset -4px 0 0 #a35f6d,0 5px 14px rgba(113,75,83,.10)!important
}
.nav a.active .icon{color:#8e5260!important}
.nav .count{background:#fff!important;color:#753f4a!important;border:1px solid rgba(117,63,74,.16)!important;font-weight:850!important}

/* Dark matte application shell and watermark. */
.main{position:relative;isolation:isolate;background:var(--rja-page)!important;color:var(--rja-text)!important}
.main::before{
  content:"";position:fixed;z-index:0;right:calc(260px + 7vw);top:52%;transform:translateY(-50%);
  width:min(45vw,650px);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:url('rja_logo.png') center/contain no-repeat;opacity:.018;filter:grayscale(1)
}
.content{position:relative;z-index:1}
.top{
  background:#26272b!important;border-bottom-color:var(--rja-line)!important;
  box-shadow:0 6px 19px rgba(0,0,0,.16)!important;backdrop-filter:none!important
}
.top h1{color:var(--rja-text)!important;font-weight:850!important}
.top .date,.mobile-subtitle{color:var(--rja-muted)!important;font-weight:650!important}
.mobile-menu-btn,.logout-link{
  background:#303238!important;color:#e8e5e0!important;border:1px solid #4a4c52!important;font-weight:800!important
}
.logout-link:hover,.mobile-menu-btn:hover{border-color:var(--rja-rose)!important;color:#f2cdd4!important;background:#36383e!important}

.card,.kpi,.dashboard-panel,.dashboard-summary-strip article,.dashboard-quick-actions a,.quick-links a,.report-filter{
  background:rgba(42,44,49,.96)!important;color:var(--rja-text)!important;
  border-color:var(--rja-line)!important;box-shadow:var(--rja-shadow)!important
}
.card h2,.card h3,.kpi .value,.dashboard-panel h3,.dashboard-summary-strip strong,.metric-content strong{
  color:var(--rja-text)!important;font-weight:850!important
}
.kpi .label,.kpi .sub,.muted,.dashboard-panel-head p,.dashboard-quick-actions small,.metric-content>span,.metric-content small{
  color:var(--rja-muted)!important;font-weight:650!important
}

input,select,textarea,.readonly-box{
  background:#232428!important;color:var(--rja-text)!important;border-color:#50525a!important;font-weight:650!important
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--rja-rose)!important;box-shadow:0 0 0 3px rgba(214,160,170,.13)!important
}
input::placeholder,textarea::placeholder{color:#85878e!important}
option{background:#25262a!important;color:var(--rja-text)!important}
.field label{color:#cecbc5!important;font-weight:750!important}

.btn{
  background:#36383e!important;color:#efebe5!important;border:1px solid #4e5058!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;font-weight:800!important
}
.btn:hover{transform:translateY(-1px);border-color:rgba(214,160,170,.72)!important;background:#3d3f45!important}
.btn.primary,.tabs a.active,.operation-tabs a.active{
  background:linear-gradient(135deg,var(--rja-rose-deep),var(--rja-rose-dark))!important;
  color:#fff!important;border-color:transparent!important
}
.btn.light{background:#33353a!important;color:#eeeae4!important;border-color:#4b4d54!important}
.btn.success{background:#2e7255!important;color:#fff!important;border-color:#2e7255!important}
.btn.danger{background:#9d4654!important;color:#fff!important;border-color:#9d4654!important}
.btn.warn{background:#8f692c!important;color:#fff!important;border-color:#8f692c!important}
.btn.purple{background:#765f7b!important;color:#fff!important;border-color:#765f7b!important}

.table-wrap{border-color:var(--rja-line)!important;background:#292b2f!important}
table{color:var(--rja-text)!important;background:#292b2f!important;font-weight:650!important}
th,.dashboard-period-table th,.dashboard-page th{
  background:#33353a!important;color:#f0ece6!important;border-bottom-color:#50525a!important;font-weight:850!important
}
td{background:#292b2f!important;border-bottom-color:#3b3d43!important;color:var(--rja-text)!important}
tr:hover td{background:#303136!important}
.responsive-sales-table tr{background:#292b2f!important;border-color:var(--rja-line)!important;box-shadow:none!important}
.responsive-sales-table td{border-bottom-color:#3b3d43!important}

.tabs a,.operation-tabs a{
  background:#292b2f!important;color:var(--rja-text)!important;border-color:var(--rja-line)!important;font-weight:800!important
}
.line-row,.return-row,.linked-return-row,.summary-box>div{
  background:#25272b!important;border-color:var(--rja-line)!important;color:var(--rja-text)!important
}
.notice{background:#26363c!important;border-color:#3c5964!important;color:#cce5ee!important}
.warning{background:#3e3422!important;border-color:#695733!important;color:#f2d99f!important}
.danger-box{background:#46262d!important;border-color:#75404a!important;color:#ffd5dc!important}
.flash.success{background:#253d32!important;color:#cdebdc!important;border-color:#3a6450!important}
.flash.error{background:#47262d!important;color:#ffd6dd!important;border-color:#75404a!important}
.flash.info{background:#27373e!important;color:#cfe6ef!important;border-color:#3d5965!important}

.badge.info{background:#3b3d43!important;color:#ece8e2!important}
.badge.ok{background:#294435!important;color:#d3ecde!important}
.badge.warn{background:#493c25!important;color:#f1d79d!important}
.badge.bad{background:#4c2931!important;color:#ffd4dc!important}

.dashboard-hero{
  background:linear-gradient(135deg,#2c2e33,#25262a)!important;
  border:1px solid #474950!important;box-shadow:var(--rja-shadow)!important
}
.dashboard-hero:before,.dashboard-hero:after{background:rgba(214,160,170,.07)!important}
.dashboard-eyebrow,.dashboard-period-chip span{color:#e1afb8!important}
.dashboard-hero h1,.dashboard-hero h2,.dashboard-hero h3{color:var(--rja-text)!important}
.dashboard-hero p{color:var(--rja-text-soft)!important}
.dashboard-action{background:#34363b!important;border-color:#4f5158!important;color:var(--rja-text)!important}
.dashboard-action.primary{background:var(--rja-rose-deep)!important;color:#fff!important;border-color:var(--rja-rose-deep)!important}
.metric-card{background:#2a2c31!important;border-color:var(--rja-line)!important;--metric-color:var(--rja-rose);--metric-soft:rgba(214,160,170,.12)}
.metric-card:after{background:rgba(214,160,170,.06)!important}
.metric-icon,.quick-action-icon,.panel-badge,.rank-number{background:var(--rja-rose-soft)!important;color:#edbbc4!important}
.dashboard-trend-panel .trend-chart{background:linear-gradient(180deg,#292b2f,#25272b)!important}
.performance-track,.category-track,.rank-track,.bar-track{background:#484a50!important}
.performance-track i,.category-track i,.rank-track i,.bar-fill{background:linear-gradient(90deg,var(--rja-rose-deep),var(--rja-rose))!important}
.ranking-row,.recent-sale-row,.returns-ranking>div{border-bottom-color:#3b3d43!important}
.recent-sale-row:hover{background:#303136!important}
.stock-donut{background:conic-gradient(var(--rja-rose) calc(var(--stock-pct)*1%),#484a50 0)!important}
.stock-warning-link{background:#47272e!important;color:#ffd2da!important}

.ops-menu-box{background:#2d2f34!important;border-color:var(--rja-line)!important;box-shadow:0 18px 45px rgba(0,0,0,.34)!important}
.ops-menu-box a,.ops-menu-box button{background:#2d2f34!important;color:var(--rja-text)!important}
.ops-menu-box a:hover,.ops-menu-box button:hover{background:#383a40!important}
.trace-link,.amount-link{color:#e4aeb8!important;text-decoration-color:rgba(228,174,184,.55)!important}
.quick-links span{color:var(--rja-muted)!important;font-weight:650!important}

/* Print remains neutral and accounting-data friendly. */
@media print{
  html,body.rja-app-page{background:#fff!important;color:#111!important;color-scheme:light}
  .rja-splash,.main::before{display:none!important}
  .card,.kpi,.dashboard-panel,.dashboard-summary-strip article,.table-wrap{background:#fff!important;color:#111!important;box-shadow:none!important;border-color:#ccc!important}
  table,th,td{color:#111!important;background:#fff!important;border-color:#ccc!important}
}

@media(max-width:1100px){
  body.rja-login-page::before{left:-26vw;width:min(88vw,620px);opacity:.022}
  body.rja-login-page::after{background:rgba(32,33,36,.70)}
  body.rja-login-page .box{margin-inline:auto!important}
  .sidebar{box-shadow:-14px 0 42px rgba(0,0,0,.30)!important}
  .main::before{right:8vw;width:min(70vw,560px)}
}
@media(max-width:600px){
  body.rja-login-page{padding:12px!important}
  body.rja-login-page::before{left:50%;top:13%;bottom:auto;transform:translateX(-50%);width:92vw;opacity:.018}
  body.rja-login-page .box{padding:27px 20px!important;border-radius:21px!important}
  body.rja-login-page .logo{width:98px!important;height:98px!important}
  body.rja-login-page .box h1{font-size:21px!important}
  .rja-splash-logo{width:175px}
  .company-logo-frame{width:74px;height:74px}
  .main::before{right:6vw;width:88vw;opacity:.014}
}
@media(prefers-reduced-motion:reduce){
  .rja-splash-logo{animation:rjaSplashLogo 1.65s linear both}
  .btn,.nav a{transition:none!important}
}
