/* WawClient / Plan/DESIGN_SYSTEM.md: Deep Forest Glass, desktop adaptation. */
:root {
    --waw-brand-700: #15482D;
    --waw-brand-800: #113A24;
    --waw-bg-ivory: #F6F4ED;
    --waw-text-primary: #22302A;
    --waw-text-secondary: #4E6155;
    --waw-border: #D9E2DA;
}
body._global_style_ {
    font-family: Pretendard, "Malgun Gothic", sans-serif;
    font-size: 14px;
    color: var(--waw-text-primary);
}
[data-base] { box-sizing: border-box; }
[data-base="AFlexLayout"] > div { min-width: 0; }
.admin-page { background: transparent !important; }
.admin-page > .admin-page-layout { padding: 24px !important; }
.admin-page-layout > div { flex-shrink: 0; }
.admin-card {
    background: rgba(255,255,255,.64) !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-radius: 20px !important;
    backdrop-filter: blur(14px);
}
.admin-shell, .admin-login {
    background: radial-gradient(ellipse at 92% 12%, #D5E7D9 0, transparent 45%),
        radial-gradient(ellipse at 30% 95%, #EFE1CF 0, transparent 50%), var(--waw-bg-ivory) !important;
}
.admin-shell-layout { display: flex; gap: 20px; padding: 20px; width: 100%; height: 100%; }
.admin-sidebar-item { flex: 0 0 200px; }
.admin-sidebar {
    position: relative; width: 100%; height: 100%; padding: 24px 16px;
    display: flex; flex-direction: column; gap: 10px; overflow-y: auto;
}
.admin-sidebar > div { flex-shrink: 0; width: 100%; }
.admin-sidebar [data-base="ALabel"] { position: relative; width: 100%; height: auto; }
.admin-brand { color: var(--waw-brand-700); font-size: 32px; font-weight: 700; letter-spacing: -1px; }
.admin-nav-caption { color: var(--waw-text-secondary); font-size: 12px; padding: 20px 12px 4px; }
.admin-sidebar [data-base="AButton"] {
    position: relative; width: 100%; height: 44px; text-align: left; padding: 0 14px;
    font-size: 15px; border: 0; border-radius: 12px;
}
.admin-sidebar .AButton-NavItem_select { background: var(--waw-brand-700); color: white; }
.admin-main-item { flex: 1 1 0; min-width: 0; min-height: 0; }
.admin-main { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; gap: 12px; }
.admin-topbar-item { flex: 0 0 60px; }
.admin-topbar { position: relative; width: 100%; height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; }
.admin-content-item { flex: 1 1 0; min-height: 0; }
.admin-tabs { position: relative; width: 100%; height: 100%; background: transparent; }
.admin-tabs > .tab_contents, [data-class="JobTitleTabView"] .tab_contents { background: transparent !important; }
.admin-login > [data-base="AView"] { background: transparent !important; padding: 32px; }
.admin-login-card { padding: 36px; width: 440px !important; max-width: 100%; gap: 16px !important; overflow: visible !important; }
.admin-login-card [data-base="ATextField"], .admin-login-card [id$="--loginBtn"] { height: 48px !important; }
.admin-login-card .ALabel-Title_default { color: var(--waw-brand-700); font-size: 36px; }
.ALabel-Title_default, .ALabel-Section_default { color: #1B3327; }
.ALabel-Body_default, .ALabel-Field_default { color: var(--waw-text-primary); }
.ALabel-Caption_default { color: var(--waw-text-secondary); }
.Pre-20-B { font-size: 20px; font-weight: 700; }
.Pre-16-M { font-size: 16px; font-weight: 500; }
.Pre-14-M { font-size: 14px; font-weight: 500; }
/* The legacy 20px button type overflows 100px actions; desktop actions use 14px. */
[data-base="AButton"][class*="AButton-Primary_"],
[data-base="AButton"][class*="AButton-Ghost_"],
[data-base="AButton"][class*="AButton-Destructive_"],
[data-base="AButton"][class*="AButton-Text_"] {
    font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2;
    border-radius: 12px; padding: 0 12px; white-space: nowrap;
}
.AButton-Text_default { color: var(--waw-brand-700); background: transparent; border: 0; }
.AButton-Text_over { color: var(--waw-brand-800); background: #E4EFE8; border: 0; }
.AButton-Ghost_default { border-color: #C6D5C9; color: var(--waw-brand-700); background: rgba(255,255,255,.8); }
.AButton-Primary_disable, .AButton-Destructive_disable { background: #D1D8D2; color: #4E6155; }
.AButton-Ghost_disable { background: #EBEEEA; border-color: #D1D8D2; color: #6D7A71; }
[data-base="ATextField"], [data-base="ATextArea"], [data-base="ADropBox"] {
    font-family: inherit; color: var(--waw-text-primary); border-radius: 12px;
}
[data-base="ATextField"] { padding: 0 12px !important; line-height: normal; }
[data-base="ATextField"]:focus, [data-base="ATextArea"]:focus { outline: 2px solid #6FB894; outline-offset: 1px; }
[data-base="AButton"]:focus-visible { outline: 2px solid #6FB894; outline-offset: 2px; }
.ADropBox-Default_default .dropbox_button {
    background: none; width: 8px; height: 8px; right: 14px; top: 50%;
    border-right: 2px solid #4E6155; border-bottom: 2px solid #4E6155; transform: translateY(-70%) rotate(45deg);
}
.admin-work-body-item { flex: 1 1 0 !important; min-height: 220px; }
.admin-work-body { min-height: 0; }
.admin-org-item { flex: 0 0 200px; min-height: 0; }
.admin-org-tree { width: 100% !important; }
.admin-members-item { min-width: 0; min-height: 0; overflow-x: auto; border-radius: 20px; }
.admin-members { min-width: 740px; }
.admin-member-header { background: #E4EFE8 !important; border-bottom: 1px solid var(--waw-border) !important; }
.admin-member-index { visibility: hidden; }
[data-class="WorkStatusMemberRow"] [id$="--rowContainer"] { background: rgba(255,255,255,.5) !important; border-bottom: 1px solid #E4EBE5 !important; }
[data-class="WorkStatusMemberRow"]:hover [id$="--rowContainer"] { background: #E4EFE8 !important; }
.admin-page [data-base="ATree"] { color: var(--waw-text-primary); }
[data-base="ATree"] .tree-item { border-radius: 8px; }
.admin-dialog { background: var(--waw-bg-ivory) !important; border-radius: 16px; }
.admin-dialog .admin-card { background: white !important; backdrop-filter: none; }
.admin-detail-body > div { flex-shrink: 0; }
[data-class="MemberDetailDialog"], [data-class="MemberMonthlyDialog"] { max-height: calc(100vh - 32px); }
[data-class="MemberDetailDialog"] > .admin-detail-body { height: auto !important; bottom: 72px; }
[data-class="MemberDetailDialog"] > [id$="--deleteBtn"] { top: auto !important; bottom: 16px; }
[data-class="MemberDetailDialog"] > [data-base="ALabel"]:not([id$="--titleLabel"]) { top: auto !important; bottom: 24px; }
[data-class="JobTitleTabView"] > [data-base="ATabView"] { background: transparent !important; }
[data-class="JobTitleTabView"] .tab_area { padding-left: 24px; }
.JobTitleTabView_subtab_active { font-size: 16px; font-weight: 700; }
.admin-page-layout.admin-form-layout { overflow-y: auto !important; }
.admin-form-layout > div { width: 100%; }
.admin-form-layout > div > .admin-card { max-width: 1040px; }
[data-class="JobTitleView"] .admin-catalog-list,
[data-class="JobTypeView"] .admin-catalog-list { height: clamp(180px, 32vh, 320px) !important; min-height: 180px !important; }
.admin-catalog-list > [data-base="AListView"] { height: 100% !important; }
.JobTitleTabView_subtab_active, .JobTitleTabView_subtab_inactive { border-top: 0; border-left: 0; border-right: 0; }
[data-class="MemberMonthlyDialog"] > [data-base="ADataGrid"] { height: auto !important; bottom: 72px; }
[data-class="MemberMonthlyDialog"] > [data-base="AFlexLayout"]:nth-of-type(2) {
    background: #E4EFE8 !important; border-radius: 12px !important;
}
[data-class="MemberMonthlyDialog"] [data-base="ADataGrid"] { box-shadow: none !important; border: 1px solid var(--waw-border); border-radius: 12px; overflow: hidden; }
[data-class="MemberMonthlyDialog"] .head-prop td { background: #E4EFE8; color: #1B3327; border-color: var(--waw-border); }
@media (max-width: 1150px) {
    .admin-shell-layout { padding: 12px; gap: 12px; }
    .admin-sidebar-item { flex-basis: 176px; }
    .admin-sidebar { padding: 20px 12px; }
    .admin-page > .admin-page-layout { padding: 16px !important; }
    .admin-work-body { flex-direction: column !important; gap: 12px !important; }
    .admin-org-item { flex: 0 0 100px; width: 100%; }
    .admin-members-item { width: 100%; flex: 1 1 0 !important; }
}
