:root{--bg: #f4f6f9;--panel: #ffffff;--soft: #eef1f6;--soft-2: #f7f9fc;--soft-3: #fbfcfe;--line: #e4e7ee;--line-2: #d6dbe6;--line-3: #eef0f5;--ink: #141720;--ink-2: #394052;--mute: #5a6278;--mute-2: #7b8399;--mute-3: #a6adbf;--red: #c93b3b;--red-bg: #fdf0f0;--red-line: #f3d2d2;--gold: #a67306;--gold-bg: #fef7e6;--gold-line: #efe0b8;--green: #228b59;--green-bg: #ebf7f1;--green-line: #c7e6d6;--blue: #3b639b;--blue-bg: #eef3fa;--blue-line: #d1def0;--rail: 72px;--side: 236px;--tabbar: 70px;--r-s: 8px;--r-m: 12px;--r-l: 16px;--safe-b: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Noto Sans KR,Malgun Gothic,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;word-break:keep-all}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--soft);padding:2px 6px;border-radius:6px}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.app{min-height:100vh;display:flex}.sidebar{display:none;width:var(--side);flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);flex-direction:column;padding:18px 0;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 18px 16px;border-bottom:1px solid var(--line);margin-bottom:12px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.brand-text .bt1{font-size:15px;font-weight:700;letter-spacing:-.3px}.brand-text .bt2{font-size:11.5px;color:var(--mute-2);margin-top:2px}.nav{display:flex;flex-direction:column;gap:3px;padding:0 10px}.nav-item{display:flex;align-items:center;gap:11px;position:relative;padding:10px 12px;border-radius:var(--r-s);font-size:14px;color:var(--mute);transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--soft-2);color:var(--ink)}.nav-item.is-active{background:var(--soft);color:var(--ink);font-weight:700}.nav-ico{font-size:17px;width:22px;text-align:center;flex-shrink:0}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-count{background:var(--ink);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.side-foot{margin-top:auto;padding:14px 16px 0;border-top:1px solid var(--line)}.side-card{background:var(--soft-2);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 13px}.side-card .sc1{font-size:12.5px;font-weight:700;color:var(--ink)}.side-card .sc2{font-size:11.5px;color:var(--mute);margin-top:3px;line-height:1.5}.main{flex:1;min-width:0;display:flex;flex-direction:column;padding-bottom:calc(var(--tabbar) + var(--safe-b))}.topbar{position:sticky;top:0;z-index:30;background:#fffffff0;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px;display:flex;align-items:center;gap:12px}.back{width:34px;height:34px;border-radius:var(--r-s);flex-shrink:0;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink-2)}.topbar-t{flex:1;min-width:0}.topbar h1{font-size:19px;font-weight:700;letter-spacing:-.4px;line-height:1.3}.topbar p{font-size:12.5px;color:var(--mute);margin-top:2px}.icon-btn{width:36px;height:36px;border-radius:var(--r-s);flex-shrink:0;background:var(--soft);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:15px;position:relative}.icon-btn .pip{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--red)}.view{flex:1;padding:20px 16px;max-width:1120px;width:100%;margin:0 auto}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fffffff7;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);display:flex;padding:8px 0 calc(8px + var(--safe-b))}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--mute-2);position:relative;padding:2px 0}.tab.is-active{color:var(--ink);font-weight:700}.tab-ico{font-size:19px;line-height:1}.tab .pip{position:absolute;top:0;right:50%;margin-right:-16px;width:6px;height:6px;border-radius:50%;background:var(--red)}.sec{margin-bottom:28px}.sec:last-child{margin-bottom:0}.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sec-head h2{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--ink)}.sec-head .more{margin-left:auto;font-size:13px;color:var(--blue);font-weight:600}.eyebrow{font-size:11.5px;font-weight:700;color:var(--mute);letter-spacing:.4px;margin-bottom:10px;text-transform:uppercase}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;box-shadow:0 1px 3px #14172008}.card+.card{margin-top:12px}.list{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:0 1px 3px #14172008}.row{display:flex;align-items:center;gap:13px;padding:15px 18px;border-bottom:1px solid var(--line-3);transition:background .12s ease}.row:last-child{border-bottom:none}a.row:hover,button.row:hover{background:var(--soft-2)}.row-body{flex:1;min-width:0}.row-t1{font-size:14.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.45}.row-t2{font-size:13px;color:var(--mute);margin-top:4px;line-height:1.5}.row-val{font-size:13px;color:var(--mute);font-weight:600;flex-shrink:0;text-align:right}.chev{font-size:16px;color:var(--mute-3);flex-shrink:0}.ico-box{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:var(--soft-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:17px}.avatar{width:42px;height:42px;border-radius:11px;flex-shrink:0;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.avatar.muted{background:var(--soft);color:var(--mute);border:1px solid var(--line-2)}.chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid transparent;white-space:nowrap;line-height:1.25}.chip.red{color:var(--red);background:var(--red-bg);border-color:var(--red-line)}.chip.gold{color:var(--gold);background:var(--gold-bg);border-color:var(--gold-line)}.chip.green{color:var(--green);background:var(--green-bg);border-color:var(--green-line)}.chip.blue{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-line)}.chip.gray{color:var(--mute);background:var(--soft);border-color:var(--line-2)}.chip.solid{color:#fff;background:var(--ink);border-color:var(--ink)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.red{background:var(--red)}.dot.gold{background:var(--gold)}.dot.green{background:var(--green)}.dot.gray{background:var(--mute-3)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;box-shadow:0 1px 3px #14172008}.stat-n{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.1;color:var(--ink)}.stat-l{font-size:13px;color:var(--mute);margin-top:6px;font-weight:500}.quote{background:var(--soft-2);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:var(--r-m);padding:14px 16px;font-size:14.5px;line-height:1.65;color:var(--ink)}.quote.red{border-left-color:var(--red);background:var(--red-bg)}.quote.gold{border-left-color:var(--gold);background:var(--gold-bg)}.note{background:var(--soft-2);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px;font-size:13.5px;line-height:1.65;color:var(--ink-2)}.note.blue{background:var(--blue-bg);border-color:var(--blue-line);color:var(--ink)}.note.gold{background:var(--gold-bg);border-color:var(--gold-line);color:var(--ink)}.note.red{background:var(--red-bg);border-color:var(--red-line);color:var(--red)}.detail-block{background:var(--soft-2);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;margin-top:14px}.detail-block-title{font-size:12px;font-weight:700;color:var(--mute);margin-bottom:8px}.fact-grid{display:grid;grid-template-columns:1fr;gap:10px}.fact-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px}.fact-label{font-size:11.5px;font-weight:700;color:var(--mute);margin-bottom:4px}.fact-val{font-size:14px;color:var(--ink);line-height:1.6}.rec-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.rec-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--panel);border:1px solid var(--line-2);transition:all .15s ease}.rec-tab:hover{background:var(--soft);color:var(--ink)}.rec-tab.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.rec-panel{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-m);padding:16px 18px}.rec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line-3)}.rec-draft{font-size:14.5px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.label{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:6px}.field{margin-bottom:14px}.input,.textarea,.select{width:100%;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-m);padding:11px 14px;font-size:14.5px;line-height:1.55;color:var(--ink);transition:border-color .15s ease}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--ink)}.textarea{resize:vertical;min-height:92px}.hint{font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.5}.btn-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:var(--r-m);font-size:14px;font-weight:600;background:var(--ink);color:#fff;transition:opacity .15s ease,background .15s ease}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--panel);color:var(--ink);border:1px solid var(--line-2)}.btn.ghost:hover:not(:disabled){background:var(--soft-2)}.btn.danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-line)}.btn.sm{padding:7px 12px;font-size:13px;border-radius:var(--r-s)}.btn.block{width:100%}.sw-wrap{position:relative;display:inline-flex;align-items:center;cursor:pointer}.sw-input{position:absolute;opacity:0;width:0;height:0}.sw-track{width:44px;height:25px;border-radius:13px;background:var(--line-2);position:relative;transition:background .2s ease}.sw-track:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.sw-input:checked+.sw-track{background:var(--ink)}.sw-input:checked+.sw-track:after{transform:translate(19px)}.seg{display:inline-flex;background:var(--soft);padding:4px;border-radius:var(--r-m);gap:4px}.seg-btn{padding:8px 16px;border-radius:var(--r-s);font-size:13.5px;font-weight:600;color:var(--mute)}.seg-btn.is-active{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #00000014}.th-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}.th-label{font-size:14.5px;font-weight:600}.range{flex:1;accent-color:var(--ink)}.tape{display:flex;flex-direction:column;gap:12px;max-height:440px;overflow-y:auto;padding:14px;background:var(--soft-2);border:1px solid var(--line);border-radius:var(--r-m)}.msg{display:flex;align-items:flex-end;gap:9px}.msg.cust{flex-direction:row-reverse}.msg-av{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.msg.cust .msg-av{background:var(--soft);color:var(--ink-2);border:1px solid var(--line-2)}.bubble{max-width:78%;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px 15px;font-size:14.5px;line-height:1.6;color:var(--ink)}.msg.cust .bubble{background:var(--ink);color:#fff;border-color:var(--ink)}.live-alert-stack{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:16px;z-index:120;width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;pointer-events:none}.live-alert-card{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-l);padding:13px 15px;box-shadow:0 12px 32px #11182724}.live-alert-card.is-urgent{border-left-color:var(--red)}.live-alert-card.is-high{border-left-color:var(--gold)}.live-alert-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.live-alert-close{border:none;background:transparent;color:var(--ink-3);font-size:18px;line-height:1;padding:2px 6px;cursor:pointer;border-radius:6px}.live-alert-close:hover{background:var(--bg);color:var(--ink)}.live-alert-title{font-size:14px;font-weight:700;color:var(--ink);line-height:1.35}.live-alert-msg{margin-top:4px;font-size:13px;color:var(--ink-2);line-height:1.45;word-break:break-word}.live-alert-actions{margin-top:10px;display:flex;justify-content:flex-end}.toast{position:fixed;left:50%;bottom:calc(84px + var(--safe-b));transform:translate(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:999px;font-size:13.5px;font-weight:600;z-index:100;box-shadow:0 6px 20px #0003;max-width:90vw;text-align:center}.empty{background:var(--panel);border:1px dashed var(--line-2);border-radius:var(--r-l);padding:36px 20px;text-align:center}.empty-ico{font-size:32px;margin-bottom:10px}.empty-t{font-size:15.5px;font-weight:700;color:var(--ink)}.empty-d{font-size:13.5px;color:var(--mute);margin-top:6px;line-height:1.6}.split{display:grid;grid-template-columns:1fr;gap:16px}.set-row{display:grid;grid-template-columns:1fr;gap:12px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg)}.auth-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px 24px;box-shadow:0 8px 30px #1417200f}@media(min-width:768px){.tabbar{display:none}.sidebar{display:flex;width:var(--rail)}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-count,.sidebar .side-foot{display:none}.sidebar .brand{justify-content:center;padding:0 0 16px}.sidebar .nav-item{justify-content:center;padding:12px}.main{padding-bottom:32px}.view{padding:24px 28px}.stats{grid-template-columns:repeat(4,1fr)}.set-row,.fact-grid{grid-template-columns:repeat(2,1fr)}.toast{bottom:28px}}@media(min-width:1024px){.sidebar{width:var(--side)}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-count,.sidebar .side-foot{display:block}.sidebar .nav-count{display:flex}.sidebar .brand{justify-content:flex-start;padding:0 18px 16px}.sidebar .nav-item{justify-content:flex-start;padding:10px 12px}.split{grid-template-columns:340px 1fr;align-items:start}}
