:root{--bg:#ffffff;--panel:#f9f9f9;--card:#ffffff;--line:#e5e5e5;--txt:#202123;--mut:#707070;--acc:#202123;--grn:#2e9e5b;--amber:#b7791f;--red:#b54343}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.6 -apple-system,"Segoe UI","Noto Sans KR",sans-serif}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center}.brand span{display:block;color:var(--mut);font-size:12px}
.logo{width:34px;height:34px;border-radius:9px;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
#userChip{display:flex;gap:8px;align-items:center;font-size:13px}#userChip img{width:28px;height:28px;border-radius:50%}
main{max-width:960px;margin:0 auto;padding:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 1px 2px rgba(60,45,25,.06)}
.center{text-align:center;padding:40px 16px}.hidden{display:none!important}.mut{color:var(--mut);font-size:12.5px}code{background:#f4f4f4;padding:2px 6px;border-radius:6px}
button{cursor:pointer}.primary{background:var(--acc);border:none;color:#fff;font-weight:700;border-radius:8px;padding:10px 18px}
#userChip button,.tab button.ghost{background:#f4f4f4;border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}
.tabs{display:flex;gap:8px;margin:6px 0 4px}.tabs button{background:var(--card);border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:8px 16px}
.tabs button.active{color:var(--acc);border-color:var(--acc);background:#f0f0f0;font-weight:700}
.row{display:flex;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{display:block;color:var(--mut);font-size:13px;margin:8px 0}
input,select{width:100%;background:var(--card);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:9px;margin-top:5px}
.row select{width:auto}
table{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}
th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.pill{font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px}
.p-pending{background:#f7ecd4;color:#8a6714}.p-active{background:#ddf0e2;color:#237244}.p-suspended{background:#f9e2dc;color:#a83a28}
.bar{height:8px;background:#f4f4f4;border-radius:99px;overflow:hidden;min-width:120px}.bar i{display:block;height:100%;background:var(--acc)}
.prov{border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0;background:var(--card)}
.prov.active{border-color:var(--grn)}.prov head,.prov .phead{display:flex;gap:10px;align-items:center;justify-content:space-between}
.prov .keywhere{font-size:12px;color:var(--mut);background:#f7f7f7;border-radius:8px;padding:8px;margin-top:8px}
.auto{display:flex;gap:8px;align-items:center;margin-left:auto}
.switch{width:44px;height:24px;border-radius:99px;border:1px solid var(--line);background:#d8d8d8;position:relative;padding:0}
.switch span{position:absolute;top:2px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}
.switch.on{background:var(--acc)}.switch.on span{left:21px;background:#fff}
.mini{font-size:12px;padding:5px 10px;margin:2px}
.danger{color:var(--red);border-color:var(--red)!important;background:var(--card)}
.bar.full i{background:#b42318}

/* Match the approved Nunchi monochrome workspace. */
:root { color-scheme:light; }
body { -webkit-font-smoothing:antialiased; }
.top { padding:20px 28px; background:var(--bg); border-color:#f0f0f0; gap:16px; }
.logo { border-radius:50%; flex:none; }
.brand b { font-size:16px; font-weight:600; letter-spacing:-.035em; }
.brand span { font-size:11px; margin-top:2px; }
main { max-width:1120px; padding:30px 28px 48px; }
h2,h3 { letter-spacing:-.035em; font-weight:600; }
.card,.prov { box-shadow:none; border-radius:16px; padding:22px; }
.center { padding:56px 24px; }
.tabs { padding:4px; gap:4px; background:var(--panel); width:fit-content; max-width:100%; border-radius:999px; margin:0 0 28px; overflow-x:auto; }
.tabs button { background:transparent; border-color:transparent; font-weight:500; white-space:nowrap; padding:9px 19px; }
.tabs button.active { color:var(--txt); background:#ebebeb; border-color:transparent; font-weight:600; }
button,input,select { font-family:inherit; }
button { transition:background-color .15s,border-color .15s; }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline:2px solid #737373; outline-offset:3px; }
button:disabled { opacity:.5; cursor:default; }
.primary,#userChip button,.tab button.ghost { border-radius:999px; font-weight:500; }
input,select { padding:10px 12px; border-radius:10px; }
th { color:var(--mut); font-size:11px; font-weight:500; background:var(--panel); }
th,td { padding:13px 10px; }
.prov .keywhere { line-height:1.8; }
@media(max-width:640px) {
  .top { padding:16px; flex-wrap:wrap; }
  main { padding:22px 16px; }
  .grid2 { grid-template-columns:1fr; }
  .tabs button { padding:8px 12px; font-size:12px; }
  .tab { overflow-x:auto; }
  #userChip { font-size:11px; flex-wrap:wrap; }
  .auto { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; } }
