:root{--bg:#0b0f16;--panel:#121925;--panel2:#182131;--line:#263247;--text:#eef3fb;--muted:#8e9aae;--accent:#6ea8fe;--gold:#d7b46a;--danger:#ff6b6b}
*{box-sizing:border-box}body{background:radial-gradient(circle at top,#111a28 0,#0b0f16 45%);color:var(--text);min-height:100vh;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif}.navbar{background:rgba(8,12,18,.88)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.panel,.force-card,.member-card{background:linear-gradient(180deg,rgba(24,33,49,.96),rgba(15,21,32,.96));border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.22)}.force-card{overflow:hidden}.force-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.force-title{font-weight:800;font-size:1.08rem}.member-card{padding:14px;margin:10px;cursor:default}.member-card.admin-draggable{cursor:grab}.member-name{font-weight:800}.char-row{display:grid;grid-template-columns:52px minmax(90px,1fr) 80px 105px;gap:8px;align-items:center;margin-top:9px;font-size:.92rem}.char-type{font-size:.76rem;padding:3px 7px;border:1px solid var(--line);border-radius:999px;text-align:center;color:#b8c4d8}.char-power{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;color:#f5d58c}.text-secondary{color:var(--muted)!important}.form-control,.form-select{background:#0d1420;border-color:#2a3850;color:#eef3fb}.form-control:focus,.form-select:focus{background:#0d1420;color:#fff;border-color:#5d8fe3;box-shadow:0 0 0 .2rem rgba(93,143,227,.16)}.form-control::placeholder{color:#647187}.modal-content{background:#111925;border:1px solid var(--line);color:var(--text)}.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line)}.btn-outline-secondary{border-color:#40506a;color:#b9c4d4}.badge-soft{background:#1b2940;color:#9dc1ff;border:1px solid #30486d}.login-bg{display:flex;align-items:center}.stat{font-size:.78rem;color:var(--muted)}.stat strong{color:#fff;font-size:.95rem}.nav-pills .nav-link{color:#aeb9c9}.nav-pills .nav-link.active{background:#284f89}.drop-zone{min-height:90px}.drag-ghost{opacity:.35}.toast-container{z-index:2000}.mini-btn{padding:.2rem .45rem;font-size:.75rem}.empty{padding:28px;text-align:center;color:#68758a}.search-result{border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;margin-top:8px}.search-result:hover{border-color:#5a85c5;background:#172238}.brand{font-weight:900;letter-spacing:.3px}.brand span{color:var(--gold)}@media(max-width:768px){.char-row{grid-template-columns:46px 1fr 76px}.char-power{grid-column:2/4;text-align:left}.force-grid{display:block!important}.force-card{margin-bottom:14px}}
.font-monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}.alert-secondary{background:#182131;border-color:#33425b;color:#cbd5e3}.alert-info{background:#102b3b;border-color:#20516d;color:#bce6ff}.alert-warning{background:#342a14;border-color:#69552a;color:#ffe6a8}.alert-success{background:#153124;border-color:#2d654a;color:#c9f7de}.alert-danger{background:#35191d;border-color:#6b3038;color:#ffd0d5}

/* 동일 포스원이 같은 포스에 복수 캐릭터로 편성된 경우 (다른 계정 캐릭터 허용 시) */
.same-person-warning{
    border-color:#f59e0b !important;
    box-shadow:0 0 0 1px rgba(245,158,11,.35),0 0 18px rgba(245,158,11,.08);
    background:rgba(245,158,11,.055) !important;
}

.content-tabs{position:relative}
.party-box{border:1px solid #263247;border-radius:13px;background:rgba(8,13,21,.36);overflow:hidden}
.party-head{padding:7px 14px !important;border-bottom:1px solid #263247;color:#cbd5e3;font-size:.84rem}
.party-drop-zone{padding:2px;min-height:88px}
.waiting-zone{padding:2px}
.content-unit .member-card{margin:7px}
.content-unit-grid .force-card{min-height:100%}
@media(max-width:768px){.content-tabs .btn{width:100%;text-align:left}.party-head{padding:7px 14px !important;font-size:.8rem}}


/* =========================================================
   AION2 NEXUS THEME SYSTEM
   html[data-theme="dark"|"light"]
   ========================================================= */
html{color-scheme:dark}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f6fa;
  --panel:#ffffff;
  --panel2:#f7f9fc;
  --line:#d5deea;
  --text:#1b2638;
  --muted:#6c7b90;
  --accent:#246fe5;
  --gold:#a56c00;
  --danger:#dc3545;
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,#eef3f9 0,#f7f9fc 42%,#f3f6fa 100%)!important;
  color:var(--text)!important;
}
html[data-theme="light"] .navbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom-color:#d9e1eb!important;
  box-shadow:0 2px 14px rgba(30,55,85,.06);
}
html[data-theme="light"] .navbar-brand,
html[data-theme="light"] .brand,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6,
html[data-theme="light"] .force-title,
html[data-theme="light"] .member-name{
  color:#172235!important;
}
html[data-theme="light"] .text-secondary,
html[data-theme="light"] .text-muted,
html[data-theme="light"] .stat,
html[data-theme="light"] .char-meta,
html[data-theme="light"] .assign-card-meta,
html[data-theme="light"] .assign-card-main{
  color:#697a91!important;
}
html[data-theme="light"] .panel,
html[data-theme="light"] .force-card,
html[data-theme="light"] .member-card,
html[data-theme="light"] .party-box,
html[data-theme="light"] .modal-content{
  background:#fff!important;
  border-color:#d7e0eb!important;
  box-shadow:0 10px 28px rgba(30,55,85,.07)!important;
  color:#1d2a3d!important;
}
html[data-theme="light"] .force-head,
html[data-theme="light"] .party-head,
html[data-theme="light"] .modal-header,
html[data-theme="light"] .modal-footer{
  border-color:#dbe3ed!important;
}
html[data-theme="light"] .force-head,
html[data-theme="light"] .party-head{
  background:#f8fafc!important;
}
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select{
  background-color:#fff!important;
  color:#1d2a3d!important;
  border-color:#cbd6e3!important;
}
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus,
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus{
  background-color:#fff!important;
  color:#142033!important;
  border-color:#6ea8fe!important;
  box-shadow:0 0 0 .16rem rgba(36,111,229,.13)!important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:#9aa8b9!important;
}
html[data-theme="light"] .btn-outline-secondary{
  color:#53657b!important;
  border-color:#aebbc9!important;
}
html[data-theme="light"] .btn-outline-secondary:hover{
  color:#fff!important;
  background:#65778d!important;
}
html[data-theme="light"] .btn-close{
  filter:none!important;
}
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .a2-context-menu{
  background:#fff!important;
  border-color:#ccd7e4!important;
  color:#1d2a3d!important;
  box-shadow:0 10px 26px rgba(30,55,85,.15)!important;
}
html[data-theme="light"] .a2-context-title{
  color:#6d7c90!important;
  border-color:#e0e6ee!important;
}
html[data-theme="light"] .a2-context-btn{
  color:#1f3047!important;
}
html[data-theme="light"] .a2-context-btn:hover:not(.disabled){
  background:#edf4ff!important;
}
html[data-theme="light"] .waiting-force-card{
  background:#eef6ff!important;
  border-color:#bcd1e8!important;
}
html[data-theme="light"] .waiting-force-card .force-head{
  background:#e3f0ff!important;
  border-color:#c4d8ed!important;
}
html[data-theme="light"] .waiting-tools{
  background:#f4f8fd!important;
  border-color:#d4e1ee!important;
}
html[data-theme="light"] .waiting-search-wrap .form-control{
  background:#fff!important;
  border-color:#bdcada!important;
  color:#1c2a3d!important;
}
html[data-theme="light"] .waiting-group{
  background:#f8fbff!important;
  border-color:#c9d9e9!important;
}
html[data-theme="light"] .waiting-group-head{
  background:#eaf3fc!important;
  color:#20314a!important;
}
html[data-theme="light"] .waiting-group-head:hover{
  background:#dfeefd!important;
}
html[data-theme="light"] .waiting-group-count,
html[data-theme="light"] .waiting-group-chevron,
html[data-theme="light"] .waiting-search-icon{
  color:#6b83a0!important;
}
html[data-theme="light"] .party-drop-zone,
html[data-theme="light"] .drop-zone{
  background:#fbfcfe!important;
  border-color:#d6e0eb!important;
}
html[data-theme="light"] .empty,
html[data-theme="light"] .party-empty,
html[data-theme="light"] .waiting-empty{
  color:#8191a5!important;
}
html[data-theme="light"] .assignment-role-input{
  background:#fff!important;
  border-color:#c7d4e2!important;
  color:#203047!important;
}
html[data-theme="light"] .view-role-text{
  background:#edf5ff!important;
  border-color:#c7dbf2!important;
  color:#24486e!important;
}
html[data-theme="light"] .sync-stat-box{
  background:#f7f9fc!important;
  border-color:#d5dfe9!important;
}
html[data-theme="light"] .progress{
  background:#e2e8f0!important;
}
html[data-theme="light"] .table{
  --bs-table-color:#1d2a3d;
  --bs-table-bg:transparent;
  --bs-table-border-color:#d8e1eb;
}
html[data-theme="light"] .alert-secondary{
  color:#40536b;
  background:#edf2f7;
  border-color:#d4dee9;
}
html[data-theme="light"] .modal-backdrop{--bs-backdrop-opacity:.25}

/* compact navbar theme toggle */
.theme-switch-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:31px;
  padding:0 9px;
  border:1px solid #49566a;
  border-radius:7px;
  user-select:none;
  white-space:nowrap;
}
.theme-switch-wrap .theme-switch-label{
  min-width:30px;
  color:#aab6c7;
  font-size:.73rem;
  line-height:1;
}
.theme-switch-wrap .form-check{
  min-height:0;
  margin:0;
  padding-left:2.25em;
}
.theme-switch-wrap .form-check-input{
  cursor:pointer;
  margin-top:0;
  width:1.9em;
  height:1.05em;
}
html[data-theme="light"] .theme-switch-wrap{
  background:#f7f9fc;
  border-color:#b9c6d5;
}
html[data-theme="light"] .theme-switch-wrap .theme-switch-label{
  color:#566a83;
}
