:root{--wall:#faf6f1;--panel:#fffdfa;--ink:#2e2723;--ink-soft:#6b625b;--accent:#e8632c;--accent-ink:#b8481c;--ok:#4f7f5f;--hair:rgba(60,48,40,0.14);--hair-soft:rgba(60,48,40,0.08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:var(--wall);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}button{font:inherit;cursor:pointer}.topbar{display:flex;align-items:center;height:58px;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--hair);position:sticky;top:0;z-index:20}.topbar>*+*{margin-left:16px}.logo{font-size:.9rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}.logo small{font-weight:500;font-size:.6rem;letter-spacing:.2em;color:var(--ink-soft);margin-left:8px}.org-chip{font-size:.78rem;color:var(--ink-soft);border:1px solid var(--hair);padding:4px 12px;border-radius:99px;white-space:nowrap}.topbar .sp{flex:1 1}.layout{display:grid;grid-template-columns:216px 1fr;min-height:calc(100vh - 58px)}nav{background:var(--panel);border-right:1px solid var(--hair);padding:18px 12px}.nav-label{font-size:.64rem;letter-spacing:.14em;color:var(--ink-soft);padding:0 10px 8px}.nav-group+.nav-group{margin-top:10px}nav a{display:flex;align-items:center;min-height:44px;padding:0 10px;border-radius:8px;font-size:.86rem;color:var(--ink);text-decoration:none;cursor:pointer}nav a:hover{background:var(--hair-soft)}nav a.on{background:rgba(232,99,44,.07);color:var(--accent-ink);font-weight:700;box-shadow:inset 2px 0 0 var(--accent)}nav a .dot{width:6px;height:6px;margin-right:10px;border-radius:50%;background:currentColor;opacity:.55}.tabbar{display:none;position:relative;width:100%}.tabbar>a{flex:1 1;justify-content:center;min-height:44px;font-size:.78rem}.tabbar .more{flex:none}.tabbar .more>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:8px;font-size:.78rem;color:var(--ink);cursor:pointer}.tabbar .more-panel{position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;max-height:60vh;overflow-y:auto;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:12px}main{padding:26px 30px 60px;max-width:1060px}main.auth{max-width:560px;margin-inline:auto;padding-top:9vh}h1{font-size:1.3rem;font-weight:800;margin-top:4px}.sub{font-size:.82rem;color:var(--ink-soft);margin-top:2px}.card{background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:20px 22px;margin-bottom:18px}.card h2{font-size:.98rem;font-weight:800}.card .desc{font-size:.78rem;color:var(--ink-soft);margin-top:2px}.tabs{display:flex;margin-top:14px;margin-bottom:-8px;flex-wrap:wrap}.tabs>*{margin-right:8px;margin-bottom:8px}.tab{min-height:40px;padding:0 20px;border-radius:9px 9px 0 0;border:1px solid var(--hair);border-bottom:0;background:var(--wall);color:var(--ink-soft);font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center}.tab.on{background:#fffdf6;color:var(--accent-ink);border-color:rgba(232,99,44,.45);box-shadow:inset 0 2px 0 var(--accent)}.pane-wrap{border:1px solid var(--hair);border-radius:0 10px 10px 10px;background:#fffdf6;padding:16px 18px}.issue{display:flex;align-items:center;flex-wrap:wrap;margin-top:12px;border:1px solid var(--hair);border-radius:10px;padding:10px 14px;font-size:.82rem;transition:background .2s}.issue>*+*{margin-left:12px}@media (hover:hover){.issue:hover{background:var(--hair-soft)}}.issue .fn{font-weight:700}.issue .why{color:var(--ink-soft);font-size:.76rem}.issue .sp{flex:1 1}.row-main{min-width:0;flex:1 1}.row-side{display:flex;align-items:center;flex:none}.row-side>*+*{margin-left:10px}.stack{display:flex;flex-direction:column}.stack>*+*{margin-top:10px}.banner{display:flex;align-items:flex-start;border:1px solid rgba(232,99,44,.4);border-radius:12px;background:rgba(232,99,44,.05);padding:14px 18px;margin-top:12px;font-size:.82rem}.banner:before{content:"ⓘ";margin-right:12px;color:var(--accent-ink);font-weight:700}.banner b{font-weight:800}.banner .why{color:var(--ink-soft);font-size:.76rem;margin-top:2px}.confirm{display:flex;align-items:flex-start;border:2px solid var(--accent);border-radius:12px;background:var(--panel);padding:14px 18px;margin-top:12px;font-size:.82rem}.confirm:focus{outline:2px solid rgba(232,99,44,.45);outline-offset:2px}.actions>.confirm{flex:1 0 100%;margin-right:0}.issue>.confirm{flex:1 0 100%;margin-left:0}.chip{display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;border:1px solid var(--hair);border-radius:99px;padding:7px 14px;background:var(--wall);white-space:nowrap}.chip .d{width:8px;height:8px;margin-right:7px;border-radius:50%}.chip.ok{color:var(--ok)}.chip.ok .d{background:var(--ok)}.table-wrap{overflow-x:auto;margin-top:8px}.table-wrap table{border-collapse:collapse;width:100%;font-size:.78rem}.table-wrap td,.table-wrap th{border:1px solid var(--hair);padding:5px 8px;text-align:left;white-space:nowrap}.table-wrap th{background:var(--hair-soft);font-weight:700}.table-wrap tr.err td{background:rgba(232,99,44,.08);color:var(--accent-ink)}.table-wrap tr.warn td{background:rgba(232,99,44,.04)}.issue.err{background:rgba(232,99,44,.06)}.chip.warn,.issue.err{border-color:rgba(232,99,44,.45)}.chip.warn{color:var(--accent-ink)}.chip.warn .d{background:var(--accent)}.actions{display:flex;margin-top:22px;margin-bottom:-12px;flex-wrap:wrap}.actions>*{margin-right:12px;margin-bottom:12px}.actions:empty,.tabs:empty{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:9px;border:1px solid var(--accent);color:var(--accent-ink);background:transparent;text-decoration:none;font-size:.88rem;font-weight:700}.btn:hover{background:rgba(232,99,44,.06)}.btn:disabled{opacity:.5;cursor:default}.btn.quiet{border-color:var(--hair);color:var(--ink-soft);font-weight:600}.btn.quiet:hover{background:var(--hair-soft)}.btn.slim{min-height:38px;padding:0 16px;font-size:.8rem}.field{display:flex;flex-direction:column}.field>*+*{margin-top:6px}.field>label{font-size:.76rem;color:var(--ink-soft)}input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select,textarea{font:inherit;font-size:.86rem;color:var(--ink);background:var(--panel);border:1px solid var(--hair);border-radius:9px;padding:0 12px;min-height:46px;width:100%}textarea{padding:10px 12px;min-height:120px;line-height:1.6;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(232,99,44,.45);outline-offset:1px}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}input[type=color]{width:64px;min-height:46px;padding:4px;background:var(--panel);border:1px solid var(--hair);border-radius:9px}.value-input{max-width:320px}textarea.value-input{resize:none;overflow:hidden;min-height:0}.foot{margin-top:44px;margin-bottom:-16px;padding-top:18px;border-top:1px solid var(--hair);display:flex;align-items:center;flex-wrap:wrap;font-size:.72rem;color:var(--ink-soft)}.foot>*{margin-right:16px;margin-bottom:16px}.foot .sp{flex:1 1}.foot-brand{letter-spacing:.22em;font-size:.66rem}@media (max-width:900px){.layout{grid-template-columns:1fr}main{padding:20px 16px 48px}.issue{flex-wrap:wrap}.value-input{max-width:none}.tree-admin>nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--hair);padding:10px 12px;align-items:center}.tree-admin .nav-label{display:none}.tree-admin .nav-tree{display:flex;align-items:center}.tree-admin .nav-group+.nav-group{margin-top:0}.tree-admin .nav-group{display:flex}.tree-admin .nav-group>*+*,.tree-admin .nav-tree>*+*{margin-left:4px}.tree-admin nav a{white-space:nowrap}.tree-org>nav{position:fixed;left:0;right:0;bottom:0;z-index:30;border-right:0;border-top:1px solid var(--hair);padding:6px 8px}.tree-org .nav-tree,.tree-org>nav>.nav-label{display:none}.tree-org .tabbar{display:flex;align-items:center}.tree-org .tabbar>*+*{margin-left:4px}.tree-org main{padding-bottom:96px}}.msg-text{white-space:pre-line}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}.grid .card{margin-bottom:0}.arrange-panel .card .fn,.upload-panel .card .fn{font-weight:700}.arrange-panel .card .why,.arrange-panel .grid .why,.upload-panel .card .why{color:var(--ink-soft);font-size:.76rem}.dialog{position:fixed;inset:0;z-index:40;margin:auto;width:min(560px,calc(100% - 32px));height:fit-content;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:20px 22px}.dialog:before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(250,246,241,.72)}.dialog .why{font-size:.88rem;color:var(--ink)}.dialog>label{display:inline-flex;align-items:center;margin-top:14px;font-size:.82rem}.dialog>label>input{margin-right:7px}.dialog .actions{margin-top:18px;margin-bottom:0}.preview{margin-top:12px}.preview img{display:block;width:100%;height:auto;border:1px solid var(--hair);border-radius:10px}.form>*+*{margin-top:10px}.form label{display:block;font-size:.78rem}.form label,.tag{color:var(--ink-soft)}.tag{display:inline-flex;align-items:center;margin:2px 7px 2px 0;padding:7px 14px;border:1px solid var(--hair);border-radius:99px;background:var(--wall);font-size:.8rem;font-weight:700;white-space:normal}.tag-uploaded{color:var(--ink)}.tag-done{color:var(--ok)}.slot-status-panel td .issue.err{display:inline-flex;align-items:center;margin:2px 7px 2px 0;padding:7px 14px;border-color:rgba(232,99,44,.45);border-radius:99px;background:var(--wall);color:var(--accent-ink);font-size:.8rem;font-weight:700;white-space:normal}.slot-status-panel td.slots{white-space:normal;min-width:340px}.arrange-panel>.actions,.slot-status-panel>.actions,.upload-panel>.actions{align-items:center}.arrange-panel>.actions>label,.slot-status-panel>.actions>label,.upload-panel>.actions>label{display:inline-flex;align-items:center;font-size:.82rem}.arrange-panel>.actions>label>select,.slot-status-panel>.actions>label>select,.upload-panel>.actions>label>select{width:auto;min-width:220px;margin-left:8px}.slot-status-panel>.actions>label>input[type=checkbox],.upload-panel>.actions>label>input[type=checkbox]{margin-right:7px}.slot-status-panel>.actions>label>input[type=file],.upload-panel .card label>input[type=file]{margin-left:8px}