/* Mumyeong unified dark theme
   Neutral surfaces, no blue decorative accents, semantic success/danger colors only. */
.monochrome-theme{
  --mono-bg:#090a0d;
  --mono-bg-deep:#050608;
  --mono-panel:#111318;
  --mono-panel-2:#17191f;
  --mono-panel-3:#20232b;
  --mono-field:#07090d;
  --mono-text:#f2f3f5;
  --mono-muted:#a9adb7;
  --mono-soft:#747b87;
  --mono-line:rgba(255,255,255,.10);
  --mono-line-strong:rgba(255,255,255,.17);
  --mono-shadow:0 18px 54px rgba(0,0,0,.30);
  --mono-radius:20px;
  color-scheme:dark;
  background:var(--mono-bg)!important;
  color:var(--mono-text)!important;
}

html:has(body.monochrome-theme){background:var(--mono-bg,#090a0d)!important;color-scheme:dark}
.monochrome-theme,
.monochrome-theme .app,
.monochrome-theme .m-shell{
  background:linear-gradient(180deg,#0a0b0f 0%,#07080b 70%,#050608 100%)!important;
  color:var(--mono-text)!important;
}
.monochrome-theme .app::before,
.monochrome-theme .m-shell::before,
.monochrome-theme .today-item::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Shared shell */
.monochrome-theme .side,
.monochrome-theme .m-top,
.monochrome-theme .m-tabs,
.monochrome-theme .bottom-nav,
.monochrome-theme .mobile-drawer-panel{
  background:rgba(12,13,17,.97)!important;
  border-color:var(--mono-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px)!important;
}
.monochrome-theme .side{border-right:1px solid var(--mono-line)!important}
.monochrome-theme .top,
.monochrome-theme .main,
.monochrome-theme .content{color:var(--mono-text)!important}
.monochrome-theme .brand,
.monochrome-theme .brand b,
.monochrome-theme .m-brand-text b,
.monochrome-theme .m-page-title,
.monochrome-theme .top h1,
.monochrome-theme h1,
.monochrome-theme h2,
.monochrome-theme h3,
.monochrome-theme h4,
.monochrome-theme label,
.monochrome-theme th,
.monochrome-theme .section-title,
.monochrome-theme .item-title{
  color:var(--mono-text)!important;
  text-shadow:none!important;
}
.monochrome-theme .brand small,
.monochrome-theme .m-brand-text small,
.monochrome-theme .muted,
.monochrome-theme .hint,
.monochrome-theme .section-desc,
.monochrome-theme .desc,
.monochrome-theme .sub,
.monochrome-theme .help,
.monochrome-theme .footer,
.monochrome-theme .amount-help,
.monochrome-theme .kicker{
  color:var(--mono-muted)!important;
  text-shadow:none!important;
}
.monochrome-theme .user,
.monochrome-theme .top-user,
.monochrome-theme .m-user-pill,
.monochrome-theme .profile-panel{
  background:rgba(255,255,255,.045)!important;
  border:1px solid var(--mono-line)!important;
  color:var(--mono-text)!important;
  box-shadow:none!important;
}
.monochrome-theme .user b,
.monochrome-theme .user span,
.monochrome-theme .top-user,
.monochrome-theme .m-user-pill *{color:inherit!important}

/* Navigation */
.monochrome-theme .nav a,
.monochrome-theme .bottom-nav a,
.monochrome-theme .m-tabs a{
  color:#c8ccd3!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.monochrome-theme .nav a:hover,
.monochrome-theme .nav a.active,
.monochrome-theme .bottom-nav a.active,
.monochrome-theme .m-tabs a.active{
  color:#fff!important;
  background:rgba(255,255,255,.085)!important;
  border-color:var(--mono-line)!important;
  box-shadow:none!important;
}
.monochrome-theme .bottom-nav a.active::after{
  background:#fff!important;
  box-shadow:none!important;
}

/* Panels and cards */
.monochrome-theme :is(
  .panel,.tablebox,.stat,.calendar-panel,.card,.box,.today-card,.today-item,
  .summary-card,.sale-item-row,.absence-card,.absence-box,.radio-card,.day,
  .list-card,.rp-member-box,.agree-box,.consent-box,.rule-box,.notice-box,
  .readonly-box,.rank-section,.rank-mini,.rank-card,.activity-card,.absence-group,
  .log-table-wrap,.pw-card,.rank-save-bar
){
  background:linear-gradient(145deg,rgba(23,25,31,.96),rgba(12,15,20,.94))!important;
  border-color:var(--mono-line)!important;
  color:var(--mono-text)!important;
  box-shadow:var(--mono-shadow)!important;
}
.monochrome-theme :is(.today-item,.stat,.summary-card,.list-card,.day,.radio-card,.sale-item-row,.rank-mini,.rank-card){
  background:rgba(17,19,24,.90)!important;
  box-shadow:none!important;
}
.monochrome-theme :is(.today-item,.card,.list-card,.stat,.summary-card,.day,.radio-card):hover{
  transform:none!important;
  border-color:var(--mono-line-strong)!important;
  filter:brightness(1.04)!important;
}
.monochrome-theme .today-icon{filter:grayscale(1) brightness(1.16)!important}
.monochrome-theme .today-label,
.monochrome-theme .today-head p,
.monochrome-theme .today-total,
.monochrome-theme .today-num small{color:var(--mono-muted)!important}
.monochrome-theme .today-num,
.monochrome-theme .today-work .today-num,
.monochrome-theme .today-off .today-num,
.monochrome-theme .today-vac .today-num,
.monochrome-theme .today-none .today-num{color:var(--mono-text)!important}

/* Forms */
.monochrome-theme input,
.monochrome-theme select,
.monochrome-theme textarea,
.monochrome-theme .readonly,
.monochrome-theme .rank-input,
.monochrome-theme .rank-add input{
  background:var(--mono-field)!important;
  border:1px solid var(--mono-line-strong)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.monochrome-theme input::placeholder,
.monochrome-theme textarea::placeholder{color:#737984!important;opacity:1!important}
.monochrome-theme input:focus,
.monochrome-theme select:focus,
.monochrome-theme textarea:focus{
  outline:none!important;
  border-color:rgba(255,255,255,.38)!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.07)!important;
}
.monochrome-theme select option{background:#0b0c10!important;color:#fff!important}

/* Buttons: white/charcoal. Success and destructive actions keep their meaning. */
.monochrome-theme :is(.btn,button,.rank-btn,.rank-icon,.rank-add button,.rank-save-all,.theme-toggle,.user-log-btn,.m-log-btn,.cal-month-btn,.date-picker-btn){
  background:#24272e!important;
  border:1px solid var(--mono-line)!important;
  color:#f4f5f7!important;
  box-shadow:none!important;
  text-shadow:none!important;
  transform:none!important;
}
.monochrome-theme :is(.btn.primary,button.primary,.btn.warning,button.warning,.rank-btn.primary,.rank-save-all,.rank-add button,.cal-month-btn,.date-picker-btn){
  background:#eceff3!important;
  border-color:#eceff3!important;
  color:#101217!important;
}
.monochrome-theme :is(.btn.edit,.btn.ghost,button.ghost,.ghost,.rank-btn.gold){
  background:rgba(255,255,255,.07)!important;
  border-color:var(--mono-line-strong)!important;
  color:#f2f3f5!important;
}
.monochrome-theme :is(.btn.success,button.success,.success,.btn-pass){
  background:#dfe5e1!important;
  border-color:#dfe5e1!important;
  color:#101612!important;
}
.monochrome-theme :is(.btn.danger,button.danger,.danger,.red,.rank-btn.warn,.btn-delete,.btn-reject){
  background:#8f1d23!important;
  border-color:#aa3036!important;
  color:#fff!important;
}
.monochrome-theme :is(.btn,button,.rank-btn,.rank-icon):hover{filter:brightness(1.08)!important;transform:none!important}

/* Tables and badges */
.monochrome-theme table,
.monochrome-theme th,
.monochrome-theme td{color:var(--mono-text)!important;border-color:var(--mono-line)!important}
.monochrome-theme th{background:rgba(255,255,255,.025)!important;color:#d4d7dc!important}
.monochrome-theme tr:hover td{background:rgba(255,255,255,.022)!important}
.monochrome-theme :is(.pill,.rank-status,.log-badge,.log-category,.absence-rank,.act-rank,.act-pill.blue){
  background:rgba(255,255,255,.075)!important;
  border-color:var(--mono-line-strong)!important;
  color:#e3e5e8!important;
  box-shadow:none!important;
}
.monochrome-theme :is(.pill.work,.pill.wait,.pill.blue,.log-action.edit){
  background:rgba(255,255,255,.075)!important;
  border-color:var(--mono-line-strong)!important;
  color:#e3e5e8!important;
}

/* Older page-specific blue components */
.monochrome-theme :is(
  .abs-card,.abs-person,.abs-empty,.app-detail-panel,.agree-box,.law-item,
  .rp-modal-card,.rp-check,.log-card,.notice-pretty-card
){
  background:rgba(17,19,24,.92)!important;
  border-color:var(--mono-line)!important;
  color:var(--mono-text)!important;
  box-shadow:none!important;
}
.monochrome-theme :is(
  .protected-pill,.rp-type-badge,.rp-view-btn,.rp-toggle-btn,.rp-selected-chip,
  .log-pill.edit,.notice-badge,.absence-date-badge
){
  background:rgba(255,255,255,.075)!important;
  border-color:var(--mono-line-strong)!important;
  color:#e3e5e8!important;
  box-shadow:none!important;
}
.monochrome-theme :is(
  .abs-count,.log-ip,.log-card-title b,.log-kv b,.law-count,.law-section h2,
  .agree-box-head,.act-detail-title,.act-line-status.vac,.act-line-status.off,
  .rp-count,.rp-log-table td::before
){color:var(--mono-text)!important}
.monochrome-theme .law-index a{
  background:rgba(255,255,255,.065)!important;
  border-color:var(--mono-line-strong)!important;
  color:var(--mono-text)!important;
}
.monochrome-theme .law-item{border-left-color:#60656f!important}
.monochrome-theme .notice-pretty-card::before{background:#70757e!important}
.monochrome-theme .attendance-admin-row .activity-gold-btn{
  background:#eceff3!important;
  border-color:#eceff3!important;
  color:#101217!important;
  box-shadow:none!important;
}
.monochrome-theme [style*="background:rgba(56,189,248"],
.monochrome-theme [style*="background: rgba(56,189,248"],
.monochrome-theme [style*="background:#38bdf8"],
.monochrome-theme [style*="background: #38bdf8"]{
  background:rgba(17,19,24,.92)!important;
}
.monochrome-theme [style*="border:1px solid rgba(56,189,248"],
.monochrome-theme [style*="border-left:8px solid #38bdf8"]{
  border-color:var(--mono-line-strong)!important;
}
.monochrome-theme :is(.pill.green,.pill.active,.rank-status.ok,.log-action.create){
  background:rgba(88,132,104,.18)!important;
  border-color:rgba(126,170,141,.30)!important;
  color:#c6dccd!important;
}
.monochrome-theme :is(.pill.orange,.pill.yellow,.act-pill.orange){
  background:rgba(156,132,82,.17)!important;
  border-color:rgba(185,158,99,.30)!important;
  color:#e2d3b4!important;
}
.monochrome-theme :is(.pill.red,.rank-status.off,.log-action.delete){
  background:rgba(143,29,35,.20)!important;
  border-color:rgba(170,48,54,.34)!important;
  color:#efc5c8!important;
}

/* Remove remaining blue-only inline accents used by older pages. */
.monochrome-theme [style*="#93c5fd"],
.monochrome-theme [style*="#7dd3fc"],
.monochrome-theme [style*="#bfdbfe"],
.monochrome-theme [style*="#e0f2fe"],
.monochrome-theme [style*="#38bdf8"],
.monochrome-theme [style*="#2563eb"]{color:var(--mono-text)!important}

/* Public login/register/application pages */
.monochrome-theme :is(.login-shell,.apply-wrap,.wrap,.page){color:var(--mono-text)!important}
.monochrome-theme :is(.visual,.login-card,.intro,.form-card,.apply-card,.done-card,.hero-card-panel,.apply-panel,.loader-card){
  background:linear-gradient(145deg,rgba(23,25,31,.97),rgba(10,11,15,.94))!important;
  border-color:var(--mono-line)!important;
  color:var(--mono-text)!important;
  box-shadow:var(--mono-shadow)!important;
}
.monochrome-theme :is(.topbar,.page-nav){background:rgba(9,10,13,.92)!important;border-color:var(--mono-line)!important;backdrop-filter:blur(15px)!important}
.monochrome-theme :is(.hero-bg,.noise){filter:grayscale(1) brightness(.48)!important;opacity:.55!important}

/* Phone-style support screens */
.monochrome-theme .phone{background:#0d0f13!important;border-color:var(--mono-line)!important;color:var(--mono-text)!important}
.monochrome-theme .phone :is(.top,.notch,.tabs,.form){background:#111318!important;border-color:var(--mono-line)!important;color:var(--mono-text)!important}
.monochrome-theme .phone :is(.card,.profile,.bubble,.notice){background:#191c22!important;border-color:var(--mono-line)!important;color:var(--mono-text)!important;box-shadow:none!important}
.monochrome-theme .phone .bubble.user{background:#eceff3!important;color:#101217!important}
.monochrome-theme .phone :is(.sub,.meta,.time,.empty){color:var(--mono-muted)!important}

@media(max-width:900px){
  .monochrome-theme .bottom-nav{background:rgba(10,11,14,.96)!important}
  .monochrome-theme .content{background:transparent!important}
}
