:root{--color-bg:#f3f5f1;--color-surface:#fff;--color-surface-muted:#f8faf7;--color-text:#1f2a24;--color-text-muted:#6b766f;--color-text-subtle:#9aa39d;--color-primary:#2f6b4f;--color-primary-strong:#245740;--color-primary-soft:#e6f0ea;--color-accent:#d9822b;--color-accent-soft:#fbeedf;--color-border:#e2e7e1;--color-danger:#c4452f;--color-danger-soft:#fbe9e5;--shadow-sm:0 1px 2px #1018140a, 0 2px 8px #1018140a;--shadow-md:0 4px 16px #10181414;--radius:14px;--radius-sm:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--header-height:60px;--safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--content-max:760px}*,:after,:before{box-sizing:border-box}body,html{background:var(--color-bg);color:var(--color-text);letter-spacing:-.01em;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5}a{color:inherit}a,button,input,select{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.page-head h1.page-title{margin-bottom:var(--space-2)}h1.page-title{margin:var(--space-2) 0 var(--space-2);letter-spacing:-.02em;font-size:24px;font-weight:800}.page-desc{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:14px}.section-title{margin:0;font-size:17px;font-weight:700}.card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:14px;font-weight:600}.field-error{margin:var(--space-1) 0 0;color:var(--color-danger);font-size:13px}.input{width:100%;min-height:46px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.input::placeholder{color:var(--color-text-subtle)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:46px;padding:0 var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;white-space:nowrap;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.btn-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.btn.btn-primary:hover:not(:disabled){border-color:var(--color-primary-strong);background:var(--color-primary-strong)}.btn.btn-text{min-height:36px;padding:0 var(--space-2);color:var(--color-text-muted);background:0 0;border-color:#0000;font-weight:500}.btn.btn-text:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.btn.btn-danger{color:var(--color-danger)}.btn.btn-danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.page-actions{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-8);display:flex}.page-actions .btn-primary{margin-left:auto}.chip{align-items:center;gap:var(--space-1);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px;display:inline-flex}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip small{color:var(--color-text-muted)}.avatar{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.empty{padding:var(--space-8) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);text-align:center;font-size:14px}.notice{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:14px}.notice a{font-weight:600}
