:root{color:#17212b;background:#f5f7fa;font-family:Inter,Pretendard,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Arial,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffffe6,#f5f7faf5 42%),#f5f7fa}button,input,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:22px;padding:24px;border-right:1px solid #dfe5ea;background:#fff}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:block;width:76px;height:44px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;background:#fff;flex:0 0 auto}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand h1,.brand p,.topbar h2,.topbar p,.stream-heading h3,.stream-heading p{margin:0}.brand h1{font-size:21px;line-height:1.2}.brand p{margin-top:4px;color:#65717d;font-size:13px;font-weight:800;letter-spacing:.18em;overflow-wrap:anywhere}.tab-list{display:grid;gap:8px}.tab-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border-radius:8px;color:#46525e;background:transparent;text-align:left}.tab-list button.active{color:#0f615c;background:#e8f5f3}.source-status,.keyword-strip{display:grid;gap:12px}.status-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}.status-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#edf0f3;color:#5f6f7d}.status-icon.good{background:#e2f6ef;color:#168154}.status-icon.watch{background:#fff0d7;color:#9a620e}.status-row strong,.status-row span{display:block;overflow-wrap:anywhere}.status-row strong{font-size:13px}.status-row span{margin-top:3px;color:#65717d;font-size:12px}.side-heading,.panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800}.keyword-list{display:flex;flex-wrap:wrap;gap:8px}.keyword-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:0 10px;border-radius:999px;color:#8b311f;background:#ffe8e0;font-size:12px;overflow-wrap:anywhere}.keyword-chip strong{color:#17212b}.muted{margin:0;color:#7a8792;font-size:13px}.workspace{min-width:0;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{color:#157f7a;font-size:12px;font-weight:800}.topbar h2{margin-top:4px;font-size:28px;line-height:1.15}.place-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:-8px 0 18px}.place-switcher button{min-height:42px;border:1px solid #dbe3e8;border-radius:8px;background:#fff;color:#46525e;font-weight:800;justify-content:center}.place-switcher button.active{border-color:#178f87;background:#e7f5f2;color:#0f6762}.topbar-actions,.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.switch{display:inline-flex;align-items:center;gap:8px;color:#46525e;font-size:14px;font-weight:700}.switch input{position:absolute;opacity:0;pointer-events:none}.switch span{position:relative;width:42px;height:24px;border-radius:999px;background:#cdd5dd}.switch span:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;content:"";transition:transform .16s ease}.switch input:checked+span{background:#157f7a}.switch input:checked+span:after{transform:translate(18px)}.primary-button,.secondary-button,.status-button,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:8px;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.primary-button{color:#fff;background:#157f7a}.secondary-button,.status-button,.link-button{color:#26323d;background:#e9eef2}.notice{display:flex;align-items:center;gap:10px;min-height:42px;margin-bottom:14px;padding:10px 12px;border:1px solid #d8e2e8;border-radius:8px;color:#43505c;background:#fff}.notice.error{border-color:#ffd2c9;color:#8f2a1e;background:#fff0ed}.loading-state,.empty-state{display:grid;min-height:280px;place-items:center;align-content:center;gap:10px;color:#65717d;text-align:center}.empty-state strong{color:#26323d}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{display:flex;align-items:center;gap:14px;min-height:94px;padding:18px;border:1px solid #e0e6eb;border-radius:8px;background:#fff}.metric-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;flex:0 0 auto}.metric-card strong{display:block;color:#15202b;font-size:26px;line-height:1}.metric-card p{margin:6px 0 0;color:#65717d;font-size:13px}.metric-card.danger>span{color:#bb3b2f;background:#ffe8e0}.metric-card.warning>span{color:#926313;background:#fff0d7}.metric-card.info>span{color:#2d6f9f;background:#e3f1ff}.metric-card.good>span{color:#137b53;background:#e1f6ee}.control-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.segmented-field{display:grid;gap:6px}.segmented-field>span{color:#65717d;font-size:12px;font-weight:800}.segmented-control{display:flex;min-height:40px;padding:4px;border:1px solid #dbe3e9;border-radius:8px;background:#fff}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:58px;min-height:30px;padding:0 10px;border-radius:6px;color:#51606d;background:transparent;font-size:13px;font-weight:800}.segmented-control button.active{color:#0f615c;background:#e8f5f3}.search-box{display:flex;align-items:center;gap:8px;min-width:min(320px,100%);min-height:40px;padding:0 12px;border:1px solid #dbe3e9;border-radius:8px;color:#65717d;background:#fff}.search-box input{width:100%;min-width:0;border:0;outline:0;color:#17212b;background:transparent}.review-stream{min-width:0}.stream-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.stream-heading h3{font-size:18px}.stream-heading p{margin-top:4px;color:#65717d;font-size:13px}.source-counts{display:flex;align-items:center;gap:8px}.source-counts span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:8px;color:#46525e;background:#fff;font-size:13px;font-weight:800}.review-list{display:grid;gap:12px}.review-card{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:18px;min-width:0;padding:18px;border:1px solid #e0e6eb;border-left-width:5px;border-radius:8px;background:#fff}.review-card.high{border-left-color:#c64032}.review-card.watch{border-left-color:#d39a21}.review-card.low{border-left-color:#198b67}.review-body{min-width:0}.review-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#6c7883;font-size:12px;font-weight:700}.source-pill,.sentiment{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 8px;border-radius:999px}.source-pill.receipt{color:#7b4d10;background:#fff0d7}.source-pill.blog{color:#165f6a;background:#dff5f7}.sentiment.negative{color:#a33226;background:#ffe8e0}.sentiment.neutral{color:#566675;background:#eef2f5}.sentiment.positive{color:#137b53;background:#e1f6ee}.review-card h4{margin:12px 0 8px;color:#16212b;font-size:17px;line-height:1.4;overflow-wrap:anywhere}.review-card p{margin:10px 0 0;color:#2e3b47;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.review-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tag{display:inline-flex;align-items:center;min-height:26px;max-width:100%;padding:0 8px;border-radius:999px;color:#5a6570;background:#edf1f4;font-size:12px;font-weight:800;overflow-wrap:anywhere}.tag.danger{color:#a33226;background:#ffe8e0}.tag.good{color:#14774f;background:#e1f6ee}.muted-tag{color:#5f6f7d}.locked-tag{color:#315d86;background:#e3f1ff}.ai-tag{color:#6d3e0f;background:#fff2d9}.review-ai{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid #eadfcb;border-radius:8px;background:#fffaf0}.review-ai strong{color:#4b3515;font-size:13px}.review-ai span{color:#67533a;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.review-side{display:grid;align-content:start;gap:10px}.risk-meter{display:grid;gap:6px}.risk-meter strong{font-size:26px;line-height:1}.risk-meter span{color:#6c7883;font-size:12px;font-weight:800}.risk-meter div{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#e8edf1}.risk-meter i{display:block;height:100%;border-radius:inherit;background:#e26955}.status-button,.link-button{width:100%}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-panel{min-width:0;padding:18px;border:1px solid #e0e6eb;border-radius:8px;background:#fff}.form-grid{display:grid;gap:16px;margin-top:16px}.form-grid label{display:grid;gap:8px;color:#4e5d69;font-size:13px;font-weight:800}.form-grid input[type=text],.form-grid input[type=url],.form-grid input:not([type]),.form-grid select{min-height:40px;padding:0 12px;border:1px solid #dbe3e9;border-radius:8px;outline:0;background:#fff}.form-grid input[type=range]{width:100%;accent-color:#157f7a}.range-value{color:#17212b;font-size:13px}.inline-check{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;min-height:40px;color:#17212b!important}.inline-check input{width:18px;height:18px;accent-color:#157f7a}.ai-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ai-status span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;color:#566675;background:#eef2f5;font-size:12px;font-weight:800}.ai-status .good{color:#137b53;background:#e1f6ee}.ai-status .watch{color:#8a560f;background:#fff0d7}.tag-form{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;margin-top:16px}.tag-form input{min-width:0;min-height:40px;padding:0 12px;border:1px solid #dbe3e9;border-radius:8px;outline:0}.tag-form button{display:grid;place-items:center;border-radius:8px;color:#fff;background:#157f7a}.editable-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.editable-tags button{display:inline-flex;align-items:center;gap:6px;min-height:30px;max-width:100%;padding:0 9px;border-radius:999px;color:#46525e;background:#edf1f4;font-size:12px;font-weight:800;overflow-wrap:anywhere}.editable-tags.danger button{color:#9d3428;background:#ffe8e0}.editable-tags.good button{color:#14774f;background:#e1f6ee}.import-panel textarea{width:100%;min-height:132px;margin-top:16px;padding:12px;border:1px solid #dbe3e9;border-radius:8px;outline:0;resize:vertical;color:#17212b}.panel-actions{justify-content:flex-end;margin-top:12px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid #dfe5ea}.metric-grid,.settings-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.place-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.workspace,.sidebar{padding:18px}.topbar,.stream-heading{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:space-between}.metric-grid,.settings-layout{grid-template-columns:1fr}.control-bar{align-items:stretch;flex-direction:column}.place-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control{overflow-x:auto}.review-card{grid-template-columns:1fr}.review-side{grid-template-columns:minmax(0,1fr)}}:root{color:#edf2ff;background:#07101d}body{background:linear-gradient(135deg,#070e1cfa,#0c1426f2 52%,#052c34eb),#07101d}.app-shell{background-image:linear-gradient(120deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.05),transparent 34%);background-size:64px 64px,100% 100%}.sidebar{border-right-color:#ffffff1a;background:#080c18d6;box-shadow:20px 0 70px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.primary-button,.tag-form button{background:linear-gradient(135deg,#4f8cff,#45d6a8)}.brand h1,.topbar h2,.metric-card strong,.review-card h4,.review-ai strong,.empty-state strong,.panel-title,.side-heading,.status-row strong{color:#fff}.brand h1{letter-spacing:.08em;text-transform:uppercase}.brand p,.muted,.status-row span,.metric-card p,.segmented-field>span,.stream-heading p,.review-meta,.risk-meter span{color:#97a7cd}.eyebrow{color:#45d6a8;letter-spacing:.22em}.tab-list button,.switch,.place-switcher button,.source-counts span,.segmented-control button,.secondary-button,.status-button,.link-button{color:#c6d1ea}.tab-list button.active,.place-switcher button.active,.segmented-control button.active{color:#fff;background:#4f8cff3d;box-shadow:inset 0 0 0 1px #edf2ff1f}.source-status.compact{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0b}.status-icon,.secondary-button,.status-button,.link-button,.source-counts span,.segmented-control,.search-box,.metric-card,.review-card,.settings-panel{border-color:#ffffff1a;background:#080c18b8}.metric-card,.review-card{box-shadow:0 18px 44px #00000038}.place-switcher button{border-color:#ffffff1f;background:#ffffff12}.switch span,.risk-meter div{background:#ffffff29}.switch input:checked+span{background:#4f8cff}.notice{border-color:#ffffff1f;color:#c6d1ea;background:#080c18b8}.notice.error{border-color:#ff6f8b6b;color:#ffdbe2;background:#501422b8}.metric-card.danger>span,.sentiment.negative,.tag.danger,.keyword-chip{color:#ffdbe2;background:#ff6f8b2e}.metric-card.warning>span,.source-pill.receipt,.ai-tag{color:#ffe1aa;background:#ffcd7029}.metric-card.info>span,.source-pill.blog{color:#b8d4ff;background:#4f8cff29}.metric-card.good>span,.status-icon.good,.sentiment.positive,.tag.good{color:#9cf1d1;background:#45d6a829}.status-icon.watch{color:#ffe1aa;background:#ffcd7029}.sentiment.neutral,.tag,.muted-tag{color:#c6d1ea;background:#ffffff1a}.review-card.high{border-left-color:#ff6f8b}.review-card.watch{border-left-color:#ffd072}.review-card.low{border-left-color:#45d6a8}.review-card p,.review-ai span{color:#d8e1f5}.review-ai{border-color:#ffffff17;background:#ffffff0f}.risk-meter i{background:linear-gradient(90deg,#45d6a8,#ffd072,#ff6f8b)}.search-box input{color:#fff}.search-box input::placeholder{color:#7384ad}
