/* =========================================================
   MUMYEONG CINEMATIC SKIN
   Visual-only layer. Existing layout and application behavior stay intact.
   ========================================================= */

.monochrome-theme{
  --cin-ink:#050608;
  --cin-panel:rgba(17,18,22,.93);
  --cin-panel-deep:rgba(8,9,12,.94);
  --cin-line:rgba(255,255,255,.105);
  --cin-line-hot:rgba(184,44,52,.38);
  --cin-red:#a7191f;
  --cin-red-hi:#d43b43;
  --cin-red-deep:#5d0d12;
  --cin-gold:#c6a15b;
  --cin-gold-soft:#e2ca98;
  --cin-text:#f5f2ee;
  --cin-muted:#aaa6a2;
  --cin-shadow:0 26px 70px rgba(0,0,0,.42);
  --cin-glow:0 0 30px rgba(167,25,31,.12);
  accent-color:var(--cin-red);
}

html:has(body.monochrome-theme){background:var(--cin-ink)!important}
body.monochrome-theme{
  background:#050608!important;
  color:var(--cin-text)!important;
}
body.monochrome-theme ::selection{background:rgba(185,39,47,.75);color:#fff}
body.monochrome-theme::-webkit-scrollbar,
body.monochrome-theme *::-webkit-scrollbar{width:10px;height:10px}
body.monochrome-theme::-webkit-scrollbar-track,
body.monochrome-theme *::-webkit-scrollbar-track{background:#08090c}
body.monochrome-theme::-webkit-scrollbar-thumb,
body.monochrome-theme *::-webkit-scrollbar-thumb{background:#3a3c43;border:2px solid #08090c;border-radius:999px}
body.monochrome-theme::-webkit-scrollbar-thumb:hover,
body.monochrome-theme *::-webkit-scrollbar-thumb:hover{background:#62656e}

/* ---------- Desktop application shell ---------- */
body.app-admin{
  background:
    linear-gradient(110deg,rgba(4,5,7,.96) 0%,rgba(5,6,8,.86) 42%,rgba(5,6,8,.94) 100%),
    url(asset.php?f=assets/mumyeong-scene-wide.png) center/cover fixed no-repeat!important;
}
body.app-admin .app{
  background:
    radial-gradient(900px 520px at 12% -12%,rgba(167,25,31,.18),transparent 66%),
    radial-gradient(760px 520px at 92% 110%,rgba(198,161,91,.07),transparent 65%),
    linear-gradient(135deg,rgba(5,6,8,.82),rgba(9,10,13,.90))!important;
}
body.app-admin .side{
  isolation:isolate!important;
  background:linear-gradient(180deg,rgba(13,14,18,.985),rgba(7,8,11,.98))!important;
  border-right:1px solid rgba(198,161,91,.16)!important;
  box-shadow:18px 0 58px rgba(0,0,0,.28)!important;
}
body.app-admin .side::after{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  left:-54px;
  right:-54px;
  bottom:22px;
  height:260px;
  pointer-events:none;
  background:url(asset.php?f=assets/mumyeong-seal.png) center/contain no-repeat!important;
  opacity:.105;
  mix-blend-mode:screen;
  filter:saturate(.72) contrast(1.12);
}
body.app-admin .brand-torii{
  border-color:rgba(198,161,91,.48)!important;
  box-shadow:0 0 0 1px rgba(167,25,31,.20),0 10px 28px rgba(0,0,0,.44),0 0 22px rgba(167,25,31,.18)!important;
  filter:saturate(.92) contrast(1.08);
}
body.app-admin .brand b{color:#fffaf3!important;letter-spacing:.02em}
body.app-admin .brand small{color:var(--cin-gold)!important}
body.app-admin .nav-section-title{color:#77736e!important;letter-spacing:.12em!important}
body.app-admin .nav a{
  color:#aaa8a6!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}
body.app-admin .nav a:hover{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;
  border-color:rgba(255,255,255,.10)!important;
}
body.app-admin .nav a.active{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(167,25,31,.30),rgba(167,25,31,.06))!important;
  border-color:rgba(196,59,66,.24)!important;
  box-shadow:inset 3px 0 0 var(--cin-red-hi),0 9px 24px rgba(0,0,0,.14)!important;
}
body.app-admin .nav a.active svg{color:#ff777d!important;filter:drop-shadow(0 0 8px rgba(211,47,54,.42))}
body.app-admin .top{
  background:linear-gradient(90deg,rgba(8,9,12,.91),rgba(15,15,19,.84))!important;
  border-bottom:1px solid rgba(198,161,91,.15)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.19)!important;
  backdrop-filter:blur(22px) saturate(1.15)!important;
}
body.app-admin .top::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(167,25,31,.58) 24%,rgba(198,161,91,.28) 55%,transparent 92%);
}
body.app-admin .top h1{color:#fffaf5!important;letter-spacing:-.035em!important}
body.app-admin .kicker{color:var(--cin-gold)!important}
body.app-admin .top-user,
body.app-admin .profile-panel,
body.app-admin .user-card{
  background:linear-gradient(145deg,rgba(35,36,42,.95),rgba(15,16,20,.94))!important;
  border-color:rgba(198,161,91,.18)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.app-admin .avatar{
  background:linear-gradient(145deg,var(--cin-red-hi),var(--cin-red-deep))!important;
  box-shadow:0 0 20px rgba(167,25,31,.28)!important;
}

/* ---------- Shared cards ---------- */
body.monochrome-theme :is(
  .panel,.tablebox,.calendar-panel,.today-card,.rank-section,.rank-hero,
  .pw-card,.log-table-wrap,.rank-save-bar,.app-detail-panel
){
  position:relative;
  isolation:isolate;
  background:linear-gradient(145deg,var(--cin-panel),var(--cin-panel-deep))!important;
  border:1px solid var(--cin-line)!important;
  box-shadow:var(--cin-shadow),inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(17px) saturate(1.08)!important;
}
body.monochrome-theme :is(
  .panel,.tablebox,.calendar-panel,.today-card,.rank-section,.rank-hero,
  .pw-card,.log-table-wrap,.rank-save-bar,.app-detail-panel
)::before{
  content:"";
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  top:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(211,47,54,.62),rgba(198,161,91,.34),transparent);
  opacity:.72;
}
body.monochrome-theme :is(
  .today-item,.stat,.summary-card,.list-card,.day,.radio-card,.sale-item-row,
  .rank-mini,.rank-card,.activity-card,.abs-card,.abs-person,.log-card,
  .rp-check,.law-item,.notice-pretty-card
){
  background:linear-gradient(145deg,rgba(23,24,29,.94),rgba(10,11,14,.93))!important;
  border-color:rgba(255,255,255,.095)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  transition:border-color .18s ease,box-shadow .18s ease,filter .18s ease,transform .18s ease!important;
}
body.monochrome-theme :is(.today-item,.stat,.summary-card,.list-card,.day,.radio-card,.rank-card):hover{
  border-color:rgba(198,161,91,.24)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.055)!important;
  filter:brightness(1.045)!important;
  transform:translateY(-2px)!important;
}
body.monochrome-theme :is(h1,h2,h3,.section-title,.item-title){color:#f8f4ef!important}
body.monochrome-theme :is(.muted,.hint,.section-desc,.desc,.sub,.help,.footer,.amount-help){color:var(--cin-muted)!important}

/* ---------- Inputs and buttons ---------- */
body.monochrome-theme :is(input,select,textarea,.readonly,.rank-input,.rank-add input){
  background:linear-gradient(180deg,rgba(5,6,9,.95),rgba(9,10,14,.94))!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 8px rgba(0,0,0,.28)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
body.monochrome-theme :is(input,select,textarea):focus{
  border-color:rgba(198,161,91,.56)!important;
  box-shadow:0 0 0 3px rgba(198,161,91,.09),0 0 24px rgba(167,25,31,.10),inset 0 1px 8px rgba(0,0,0,.26)!important;
}
body.monochrome-theme .radio-card input[type="radio"],
body.monochrome-theme .radio-card input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  flex:0 0 18px!important;
  padding:0!important;
  accent-color:var(--cin-red)!important;
}
body.monochrome-theme :is(.btn,button,.rank-btn,.rank-icon,.rank-add button,.rank-save-all){
  transition:filter .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
body.monochrome-theme :is(.btn.primary,button.primary,.rank-save-all,.rank-add button,.apply-submit){
  background:linear-gradient(135deg,#7b1016 0%,#b52028 55%,#d33a42 100%)!important;
  border-color:rgba(255,117,124,.28)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(107,10,16,.30),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
body.monochrome-theme :is(.btn.warning,button.warning,.rank-btn.gold,.cal-month-btn,.date-picker-btn){
  background:linear-gradient(135deg,#ead9ad 0%,#c6a15b 55%,#8e6b31 100%)!important;
  border-color:rgba(242,220,169,.32)!important;
  color:#17130c!important;
  box-shadow:0 12px 28px rgba(79,55,18,.22),inset 0 1px 0 rgba(255,255,255,.30)!important;
}
body.monochrome-theme :is(.btn.edit,.btn.ghost,button.ghost,.ghost,.rank-btn,.rank-icon){
  background:linear-gradient(145deg,#292b31,#17181d)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#f1efec!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.monochrome-theme :is(.btn.success,button.success,.success,.btn-pass){
  background:linear-gradient(135deg,#243b2b,#46644f)!important;
  border-color:rgba(154,196,165,.22)!important;
  color:#ecf7ef!important;
}
body.monochrome-theme :is(.btn.danger,button.danger,.danger,.rank-btn.warn,.btn-delete,.btn-reject){
  background:linear-gradient(135deg,#4f0b10,#8f1d23 58%,#b83239)!important;
  border-color:rgba(238,97,104,.25)!important;
  color:#fff!important;
}
body.monochrome-theme :is(.btn,button,.rank-btn,.rank-icon):hover{
  filter:brightness(1.11)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 13px 28px rgba(0,0,0,.25)!important;
}
body.monochrome-theme :is(.btn,button,input,select,textarea,a):focus-visible{
  outline:2px solid rgba(198,161,91,.72)!important;
  outline-offset:3px!important;
}

/* ---------- Tables, dashboard and rank pages ---------- */
body.monochrome-theme th{
  background:linear-gradient(180deg,rgba(167,25,31,.075),rgba(255,255,255,.018))!important;
  color:#ddd5cc!important;
  border-color:rgba(255,255,255,.09)!important;
}
body.monochrome-theme td{border-color:rgba(255,255,255,.075)!important}
body.monochrome-theme tr:hover td{background:rgba(167,25,31,.035)!important}
body.monochrome-theme .today-item::after{content:none!important;display:none!important}
body.monochrome-theme .today-icon{filter:grayscale(1) contrast(1.12) brightness(1.18)!important}
body.monochrome-theme .today-work{box-shadow:inset 3px 0 0 rgba(211,47,54,.74)!important}
body.monochrome-theme .today-off{box-shadow:inset 3px 0 0 rgba(230,230,230,.44)!important}
body.monochrome-theme .today-vac{box-shadow:inset 3px 0 0 rgba(198,161,91,.68)!important}
body.monochrome-theme .today-none{box-shadow:inset 3px 0 0 rgba(119,25,31,.88)!important}
body.monochrome-theme .today-work .today-num{color:#f0797f!important}
body.monochrome-theme .today-off .today-num{color:#eeeae5!important}
body.monochrome-theme .today-vac .today-num{color:#d9bc7d!important}
body.monochrome-theme .today-none .today-num{color:#cf777c!important}
body.monochrome-theme .rank-mark{
  background:linear-gradient(145deg,rgba(167,25,31,.16),rgba(198,161,91,.07))!important;
  border-color:rgba(198,161,91,.27)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 22px rgba(167,25,31,.12)!important;
}
body.monochrome-theme .law-item{border-left-color:var(--cin-red)!important}
body.monochrome-theme .notice-pretty-card::before{background:linear-gradient(180deg,var(--cin-red-hi),var(--cin-gold))!important}

/* ---------- Public login / registration / application ---------- */
body.page-login,
body.page-register,
body.page-apply{
  background:
    linear-gradient(110deg,rgba(4,5,7,.82),rgba(5,6,8,.94)),
    url(asset.php?f=assets/mumyeong-bg-16x9.png) center/cover fixed no-repeat!important;
}
body.page-login .visual{
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(5,6,8,.32),rgba(5,6,8,.80)),
    url(asset.php?f=assets/mumyeong-hero-wide.png) 64% center/cover no-repeat!important;
  border-color:rgba(198,161,91,.20)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.page-login .visual::after,
body.page-register .intro::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 85% 15%,rgba(211,47,54,.18),transparent 42%),linear-gradient(180deg,transparent,rgba(0,0,0,.38));
}
body.page-login .login-card,
body.page-register .form-card,
body.page-apply .apply-card,
body.page-apply .done-card{
  background:linear-gradient(145deg,rgba(19,20,25,.96),rgba(8,9,12,.94))!important;
  border-color:rgba(198,161,91,.18)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(20px)!important;
}
body.page-login :is(.tag,.eyebrow),
body.page-register :is(.tag,.eyebrow),
body.page-apply .apply-head p{color:var(--cin-gold-soft)!important}
body.page-register .intro{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(160deg,rgba(7,8,11,.46),rgba(7,8,11,.86)),
    url(asset.php?f=assets/mumyeong-scene-wide.png) center/cover no-repeat!important;
  border-color:rgba(198,161,91,.20)!important;
}
body.page-apply .apply-head img{
  border-color:rgba(198,161,91,.44)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 28px rgba(167,25,31,.17)!important;
}
body.page-apply .apply-section{border-color:rgba(198,161,91,.12)!important}
body.page-apply .radio-card:has(input:checked){
  background:linear-gradient(145deg,rgba(167,25,31,.24),rgba(198,161,91,.08))!important;
  border-color:rgba(211,73,80,.44)!important;
  box-shadow:0 0 0 3px rgba(167,25,31,.08)!important;
}

/* ---------- Public landing page ---------- */
body.page-public{background:#050608!important}
body.page-public .hero-bg{
  filter:saturate(.92) contrast(1.12) brightness(.62)!important;
  opacity:.88!important;
}
body.page-public .noise{
  filter:none!important;
  opacity:.48!important;
  background:
    radial-gradient(700px 420px at 16% 8%,rgba(167,25,31,.18),transparent 68%),
    radial-gradient(560px 420px at 86% 80%,rgba(198,161,91,.07),transparent 70%)!important;
}
body.page-public .topbar{
  background:rgba(7,8,11,.76)!important;
  border-color:rgba(198,161,91,.13)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.24)!important;
}
body.page-public :is(.hero-card-panel,.card,.apply-panel,.faq article){
  background:linear-gradient(145deg,rgba(21,22,27,.89),rgba(8,9,12,.90))!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:0 24px 66px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(15px)!important;
}
body.page-public :is(.eyebrow,.section-kicker){color:var(--cin-gold)!important}
body.page-public .nav .apply-link,
body.page-public .btn.primary{
  background:linear-gradient(135deg,#7b1016,#b52028 58%,#d33a42)!important;
  border-color:rgba(255,117,124,.24)!important;
  color:#fff!important;
}
body.page-public .visual-band{
  background:
    linear-gradient(90deg,rgba(5,6,8,.25),rgba(5,6,8,.62)),
    url(asset.php?f=assets/mumyeong-scene-wide.png) center/cover no-repeat!important;
  border-color:rgba(198,161,91,.16)!important;
}

/* ---------- Support phone and room ---------- */
body.page-support,
body.page-support-room{
  background:
    linear-gradient(rgba(4,5,7,.68),rgba(4,5,7,.88)),
    url(asset.php?f=assets/mumyeong-bg-16x9.png) center/cover fixed no-repeat!important;
}
body.page-support .phone,
body.page-support-room .phone{
  background:linear-gradient(180deg,#111318,#090a0d)!important;
  border-color:rgba(198,161,91,.20)!important;
  box-shadow:0 42px 130px rgba(0,0,0,.66),0 0 60px rgba(167,25,31,.10)!important;
}
body.page-support :is(.card,.profile,.room,.hours-panel),
body.page-support-room :is(.top,.form,.notice,.bubble.admin){
  background:linear-gradient(145deg,rgba(27,28,34,.96),rgba(13,14,18,.96))!important;
  border-color:rgba(255,255,255,.10)!important;
  color:var(--cin-text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body.page-support :is(.nav a.on,.btn),
body.page-support-room .form button{
  background:linear-gradient(135deg,#7b1016,#b52028 58%,#d33a42)!important;
  border-color:rgba(255,117,124,.24)!important;
  color:#fff!important;
}
body.page-support-room .bubble.user{
  background:linear-gradient(135deg,#671016,#971d24)!important;
  color:#fff!important;
}
body.page-support-room :is(.back,.home){color:var(--cin-gold-soft)!important}

/* ---------- Dedicated mobile shell ---------- */
body.app-mobile,
body.app-mobile .m-shell{
  background:
    linear-gradient(180deg,rgba(4,5,7,.70),rgba(5,6,8,.91) 52%,rgba(5,6,8,.98)),
    url(asset.php?f=assets/mumyeong-bg-16x9.png) center top/cover no-repeat,
    #050608!important;
}
body.app-mobile .m-top,
body.app-mobile .m-tabs,
body.app-mobile .bottom-nav{
  background:rgba(8,9,12,.91)!important;
  border-color:rgba(198,161,91,.14)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(19px) saturate(1.08)!important;
}
body.app-mobile .m-logo-wolf{
  border-color:rgba(198,161,91,.42)!important;
  box-shadow:0 0 0 1px rgba(167,25,31,.22),0 10px 26px rgba(0,0,0,.42),0 0 22px rgba(167,25,31,.20)!important;
  filter:saturate(.92) contrast(1.08)!important;
}
body.app-mobile .m-brand-text b{color:#fff8ef!important}
body.app-mobile .m-brand-text small{color:var(--cin-gold)!important}
body.app-mobile .m-tabs a.active{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(167,25,31,.26),rgba(167,25,31,.06))!important;
  box-shadow:inset 0 -2px 0 var(--cin-red-hi)!important;
}
body.app-mobile :is(.panel,.tablebox,.calendar-panel,.list-card,.stat,.card,.notice-pretty-card){
  background:linear-gradient(145deg,rgba(20,21,26,.94),rgba(8,9,12,.93))!important;
  border-color:rgba(255,255,255,.105)!important;
  box-shadow:0 20px 52px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(15px)!important;
}
body.app-mobile .notice-pretty-card::before{background:linear-gradient(180deg,var(--cin-red-hi),var(--cin-gold))!important}
body.app-mobile .bottom-nav a.active{color:#fff!important}
body.app-mobile .bottom-nav a.active::after{background:linear-gradient(90deg,var(--cin-red-hi),var(--cin-gold))!important}

@media(max-width:900px){
  body.app-admin{
    background:
      linear-gradient(180deg,rgba(5,6,8,.84),rgba(5,6,8,.96)),
      url(asset.php?f=assets/mumyeong-bg-16x9.png) center top/cover no-repeat!important;
  }
  body.app-admin .app{background:transparent!important}
  body.app-admin .bottom-nav{
    background:rgba(8,9,12,.94)!important;
    border-color:rgba(198,161,91,.15)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.40)!important;
  }
}

@media(max-width:680px){
  body.page-login,
  body.page-register,
  body.page-apply,
  body.page-support,
  body.page-support-room{background:#050608!important}
  body.page-public .hero-bg{filter:saturate(.82) contrast(1.10) brightness(.50)!important}
}

@media(prefers-reduced-motion:reduce){
  body.monochrome-theme *,
  body.monochrome-theme *::before,
  body.monochrome-theme *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
