:root{font-family:Inter,'Segoe UI','Malgun Gothic',sans-serif;color:#e1d1aa;background:#1a1815;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:244px;background:#ecdebb;color:#7b6634;inset:0 auto 0 0;padding:34px 20px}.brand{color:#0d0c0a;font-size:24px;font-weight:800;text-decoration:none;letter-spacing:1px}.brand span{color:#3cb792}.brand small{display:block;font-size:9px;color:#ae9356;margin-top:12px;letter-spacing:2px}.nav-label{font-size:11px;margin:50px 14px 18px;color:#ae9457}nav button{display:block;background:none;border:none;color:#7b6634;width:100%;text-align:left;padding:15px 14px;border-radius:8px;margin:7px 0;font-size:14px;cursor:pointer}nav button.selected{background:#decca2;color:#32937b}.aside-bottom{position:absolute;bottom:32px;font-size:12px;line-height:2}.aside-bottom small{color:#ae9457}i{display:inline-block;background:#3db188;width:7px;height:7px;border-radius:50%;margin-right:6px}main{margin-left:244px;padding:0 46px 50px;max-width:1700px}header{height:80px;border-bottom:1px solid #2f2c26;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#af9558}.tag,.pill{font-size:10px;letter-spacing:1px;border:1px solid #3a362f;background:#23211d;color:#8cd2bf;padding:7px 11px;border-radius:5px}.heading{display:flex;justify-content:space-between;align-items:center;margin:37px 0 25px}h1{font-size:30px;margin:8px 0 12px;letter-spacing:-1px}.eyebrow{color:#7dc2b2;font-size:10px;letter-spacing:2px;font-weight:800}.heading p:not(.eyebrow){color:#ab9153}.step{font-size:12px;color:#af9558}.step span{padding:0 13px;color:#6e5d35}.notice{padding:16px 20px;background:#1b1916;border:1px solid #41320f;border-radius:8px;color:#c1a86f;font-size:12px;margin-bottom:26px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.card,.panel{background:#0d0c0a;border:1px solid #2e2b26;border-radius:10px;padding:23px}.card small{color:#ab9153}.card strong{display:block;font-size:26px;margin-top:12px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.tabs button{border:1px solid #312e28;background:#0d0c0a;color:#b59c64;padding:10px 17px;border-radius:7px;cursor:pointer}.tabs button.active{background:#e1d3b3;color:#0d0c0a;border-color:#e1d3b3}.panel-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #22201c;padding-bottom:18px;margin-bottom:24px}h2{font-size:17px;margin:0}h3{font-size:14px}p{line-height:1.7}.muted{color:#a38a4f;font-size:12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 30px}label{font-size:12px;color:#bfaa7a;display:flex;flex-direction:column;gap:10px}input,select{font:inherit;color:#dfcea7;width:100%;padding:12px;border:1px solid #322f29;border-radius:6px;background:#0d0c0a}input:focus,select:focus{outline:2px solid #50a58f}input[type=checkbox]{width:18px;height:18px}label:has([type=checkbox]){flex-direction:row;align-items:center}.help{margin-top:24px;padding:15px;background:#161512;border-left:3px solid #4d9f8b;color:#b0975b;font-size:12px}.actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:24px}button.primary,button.secondary{border:0;border-radius:6px;padding:12px 22px;font:inherit;cursor:pointer}.primary{background:#8cd2c1;color:#0d0c0a}.secondary{background:#25231e;color:#c8b382}button:disabled{opacity:.45;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:16px 12px;border-bottom:1px solid #22201c}th{color:#a38a4f;font-weight:500}.pending{color:#cda446}.results{background:#211f1b;padding:20px;margin-top:20px;border-radius:7px;line-height:1.8}#message{white-space:pre-line;margin-top:18px;color:#97d4c5}.module{padding:16px;border-bottom:1px solid #25231f}.module span{float:right;color:#9f874d;font-size:12px}@media(max-width:1000px){aside{width:200px}main{margin-left:200px;padding:0 24px 35px}.step{display:none}}@media(max-width:700px){aside{position:static;width:100%;padding:18px}nav{display:flex;overflow:auto}nav button{min-width:130px;font-size:12px}.nav-label,.aside-bottom,.brand small{display:none}main{margin:0;padding:0 16px 30px}.heading{margin-top:24px}.cards{gap:7px}.card{padding:15px}.card strong{font-size:20px}.fields{grid-template-columns:1fr}header .tag{display:none}.panel{padding:18px}table{display:block;overflow-x:auto}.actions{flex-wrap:wrap}}

[hidden]{display:none!important}.locked aside,.locked main{display:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#eddebb,#dbcba7)}.auth-card{background:#0d0c0a;border-radius:14px;padding:38px;width:min(460px,100%);box-shadow:0 20px 70px #00000099}.auth-card form{display:grid;gap:18px;margin-top:26px}.auth-card h1{font-size:25px}.auth-card .primary{width:100%}#auth-error,#user-error{color:#c05a5a;font-size:12px;white-space:pre-line}.account{display:flex;gap:14px;align-items:center;font-size:11px}.account button{padding:8px 12px}.simulation{margin-top:22px}@media(max-width:900px){header{height:auto;min-height:80px;gap:12px;flex-wrap:wrap;padding:14px 0}.account{flex-wrap:wrap}}


.security-panel{margin-bottom:22px}.security-panel [role=alert]{color:#c25e5e;white-space:pre-line}#enrollment label{margin-top:22px}#enrollment-key{background:#22201c;padding:16px;letter-spacing:2px;overflow-wrap:anywhere;user-select:all;font-size:15px}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.recovery-codes code{padding:12px;background:#1c1a17;user-select:all;overflow-wrap:anywhere}@media(max-width:700px){.recovery-codes{grid-template-columns:1fr}}


.workflow-panel{margin-bottom:22px}.review-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.review-meta small{display:block;color:#a38a4f;margin-bottom:8px}.review-meta b{font-size:13px}.blocker-list{color:#d2b267;font-size:12px;line-height:1.9;padding-left:20px}textarea{font:inherit;padding:12px;border:1px solid #322f29;border-radius:6px;resize:vertical;min-height:88px}.review-entry{border-bottom:1px solid #22201c;padding:12px 0;font-size:12px}.review-entry p{margin:5px 0}#workflow-error{color:#c25e5e;white-space:pre-line}details{margin-top:20px;font-size:12px;color:#b69f68}details pre{max-height:340px;overflow:auto;background:#191714;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.review-meta{grid-template-columns:1fr;gap:12px}}


.member-panel{margin-bottom:22px}.member-panel summary{font-size:15px;font-weight:600;cursor:pointer}.member-panel form{margin-top:20px}.member-panel [role=alert]{color:#c25e5e;white-space:pre-line}.member-panel details{margin:20px 0}.member-search{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end;margin-bottom:20px}.member-search button{height:43px}.tree-scroll{max-width:100%;overflow:auto;padding:24px 0 34px;background:#151412;border-radius:8px}.org-tree,.org-tree ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0;gap:20px}.org-tree{width:max-content;min-width:100%;padding:0 20px}.org-tree li{display:flex;flex-direction:column;align-items:center;position:relative}.org-tree ul{margin-top:28px;position:relative}.org-tree ul:before{content:"";position:absolute;top:-28px;height:28px;border-left:1px solid #604f29;left:50%}.org-tree ul>li:before{content:"";height:18px;border-left:1px solid #604f29;position:absolute;top:-18px}.org-node{font:inherit;text-align:left;display:flex;flex-direction:column;gap:8px;min-width:190px;max-width:230px;padding:17px;background:#0d0c0a;border:1px solid #4f401f;border-top:3px solid #b09451;border-radius:8px;cursor:pointer;color:#dfcda3;box-shadow:0 3px 8px #00000018;overflow-wrap:anywhere}.org-node b{font-size:13px}.org-node small,.org-node span{font-size:11px;color:#ab9153}.org-node.left-node{border-top-color:#75c9b2}.org-node.right-node{border-top-color:#bd9436}.org-node:hover{box-shadow:0 3px 12px #00000066}.org-empty{min-width:190px;padding:35px 20px;border:1px dashed #423e36;border-radius:8px;color:#947d47;text-align:center;font-size:12px}@media(max-width:700px){.member-search{grid-template-columns:1fr}.member-panel table{max-width:100%;overflow:auto}.org-node,.org-empty{min-width:170px}.member-panel .actions{justify-content:flex-start}}


.org-tree ul{gap:0}.org-tree ul>li{padding:0 10px}.org-tree ul:before{top:-28px;height:14px;border-left:1px solid #604f29}.org-tree ul>li:before,.org-tree ul>li:after{content:"";position:absolute;top:-14px;width:50%;height:14px;border-top:1px solid #604f29}.org-tree ul>li:before{left:0;border-left:0}.org-tree ul>li:after{left:50%;border-left:1px solid #604f29}.org-tree ul>li:first-child:before{border-top:0}.org-tree ul>li:last-child:after{border-top:0}


.member-profile-panel b{overflow-wrap:anywhere}.tabs button.primary{background:#8cd2c1;color:#0d0c0a;border-color:#8cd2c1}


.commerce-panel{margin-bottom:22px}.commerce-panel form{margin-top:20px}.commerce-panel [role=alert]{color:#c25e5e;white-space:pre-line}.commerce-panel h3{margin-top:24px}.card strong{overflow-wrap:anywhere}.commerce-panel table{max-width:100%;overflow:auto}@media(min-width:701px){aside{overflow-y:auto}.aside-bottom{position:static;margin-top:36px}}


.commerce-panel table{display:block;overflow-x:auto;max-width:100%}.commerce-panel th,.commerce-panel td{white-space:nowrap}@media(max-width:700px){.commerce-cards{grid-template-columns:1fr}.commerce-cards .card strong{font-size:20px}}

:root #reward-result{min-width:0}
#reward-result .muted{overflow-wrap:anywhere}
#reward-result td small{display:block}
.reward-table{overflow-x:auto;max-width:100%}
.reward-table th,.reward-table td{white-space:nowrap}
.reward-table input{min-width:140px;width:100%}
#weekly-rules{margin:24px 0}
#weekly-rules summary{font-weight:700;cursor:pointer;padding:12px 0}
.settlement-hash{overflow-wrap:anywhere}
.settlement-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:12px}
.report-proof{overflow-wrap:anywhere;white-space:normal;min-width:180px;max-width:440px}
.report-policy{white-space:normal!important;min-width:150px;max-width:280px}
@media(max-width:700px){.report-cards{grid-template-columns:1fr}.report-cards .card{padding:16px}.report-cards .card strong{font-size:22px}.report-cards .card strong small{font-size:14px}}
.member-portal{margin:36px auto;padding:20px;max-width:820px}.member-portal .panel{margin-top:20px}.member-portal button{margin-top:20px}.member-account-panel{margin-top:24px}.member-account-panel form{margin:20px 0}.member-account-panel [role=alert]{color:#c25e5e}.member-account-panel p{overflow-wrap:anywhere}

.lu-gaps{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px}.lu-gaps .ok{color:#8dd8a6}.lu-gaps .todo{color:#d8665f;font-weight:600}

/* Level Up 휴일 달력 */
.lu-cal-head{display:flex;align-items:center;gap:12px;margin:8px 0}
.lu-cal{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px}
.lu-cal th{text-align:center;font-size:13px}
.lu-cal td{padding:0;border:0}
.lu-day{width:100%;min-height:56px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px;border:1px solid #403c34;border-radius:8px;background:#0d0c0a;color:#d8d5cf;text-align:left;cursor:pointer}
.lu-day small{font-size:11px;line-height:1.2;color:#9b9385;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lu-day.weekend{background:#201e1a;color:#6e685a;cursor:default}
.lu-day.holiday{background:#320606;border-color:#ae2c2c;color:#ee647d}
.lu-day.holiday small{color:#ee647d}
.lu-day.done{background:#201e1b;cursor:not-allowed}
.lu-day.today{outline:2px solid #d0b880}
.lu-rules li{margin:4px 0}
@media (max-width:600px){.lu-day{min-height:44px;padding:3px}.lu-day small{display:none}}
/* 부관리자 승인 */
button.approval-pending{background:#ca4545!important;border-color:#ca4545!important;color:#0d0c0a!important}
button.approval-ok{background:#8cca8f!important;border-color:#8cca8f!important;color:#0d0c0a!important}
#approval-dock{position:fixed;right:16px;bottom:16px;z-index:50;width:min(320px,calc(100vw - 32px));max-height:50vh;overflow:auto;background:#0d0c0a;border:1px solid #4c473e;border-radius:10px;box-shadow:0 6px 24px #00000073;padding:10px 12px;font-size:14px}
#approval-dock .ap-item{display:flex;flex-direction:column;border-left:4px solid #7f7768;padding:4px 8px;margin-top:6px}
#approval-dock .ap-pending{border-color:#ca4545}
#approval-dock .ap-approved{border-color:#8cca8f}
#approval-dock .ap-rejected{border-color:#9b9385;opacity:.8}
#approval-badge{position:fixed;right:16px;bottom:16px;z-index:50;background:#ca4545;color:#0d0c0a;border:0;border-radius:999px;padding:10px 16px;box-shadow:0 4px 14px #00000099}
#approval-modal{position:fixed;inset:0;z-index:60;background:#efeeeb73;display:flex;align-items:center;justify-content:center;padding:16px}
#approval-modal .ap-box{background:#0d0c0a;color:#d8d5cf;border-radius:12px;max-width:560px;width:100%;max-height:85vh;overflow:auto;padding:18px}
#approval-modal .ap-req{border:1px solid #37332d;border-radius:8px;padding:10px;margin:10px 0;display:flex;flex-direction:column;gap:4px}
#approval-modal pre{white-space:pre-wrap;word-break:break-all;font-size:12px;max-height:160px;overflow:auto}

/* 센터 관리: 이달의 우수센터 */
.ct-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.ct-rank{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line,#36332c);border-radius:12px;background:var(--panel,#0d0c0a)}
.ct-rank-1{border-color:#dba936;box-shadow:0 0 0 2px #dba93640}
.ct-medal{font-size:28px;line-height:1}
.ct-rank strong{font-size:20px}
.ct-rank small{color:var(--muted,#b7a06a)}
