:root{--bg:#fff;--paper:#fff;--surface:#f7f9fb;--ink:#17211f;--muted:#6b7471;--line:#e2e7e5;--sub:#eaf4f1;--sub-line:#cfe6de;--sub-strong:#0f6b55;--point:#1f6feb;--point-soft:#edf5ff;--point-line:#c9dcff;--warning:#b76a1f;--warning-soft:#fff7e8;--danger:#b64036;--danger-soft:#fff1f0;--green:var(--sub-strong);--green-strong:var(--sub-strong);--blue:var(--point);--amber:var(--warning);--red:var(--danger);--shadow:0 16px 42px #17211f12}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Wanted Sans,SUIT,Pretendard,Malgun Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 56px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.brand{align-items:center;display:flex}.brand h1{margin:0;font-size:22px;line-height:1.1}.actions{align-items:center;gap:10px;display:flex}.button,.icon-button{border:1px solid var(--point);background:var(--point);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:700;line-height:1;transition:transform .14s,box-shadow .14s;display:inline-flex;box-shadow:0 8px 18px #1f6feb2e}.button{padding:0 14px}.icon-button{width:40px}.button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1f6feb38}.button:disabled,.icon-button:disabled,.button[aria-disabled=true],.icon-button[aria-disabled=true]{cursor:wait;opacity:.78;transform:none;box-shadow:0 6px 14px #1f6feb1a}.button.secondary,.icon-button.secondary{background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:none}.compact-button{min-height:36px;box-shadow:none;padding:0 12px}.compact-icon-button{width:34px;min-height:34px;box-shadow:none}.compact-icon-button.danger{color:var(--red)}.settings-entry{width:100%;margin-top:10px}.sync-action{width:100%;display:block}.sync-progress{gap:8px;width:100%;display:grid}.sync-progress-detail{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:12px;font-weight:700;display:flex}.sync-error{background:var(--danger-soft);color:var(--red);border:1px solid #e6b0aa;border-radius:8px;align-items:flex-start;gap:5px;margin:0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.45;display:flex}.sync-button{width:100%}.status-strip{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-height:94px;padding:16px}.metric span{color:var(--muted);font-size:12px;font-weight:700;display:block}.metric strong{margin-top:8px;font-size:28px;line-height:1;display:block}.workspace{grid-template-columns:300px minmax(0,1fr);gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px}.side-panel{align-self:start;padding:18px;position:sticky;top:18px}.side-panel h2,.content-panel h2{margin:0 0 12px;font-size:16px}.content-panel{overflow:hidden}.content-header{justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 12px;display:flex}.content-header h2{margin-bottom:0}.search-form{gap:8px;display:flex}.filter-form{border-top:1px solid var(--line);gap:8px;margin-top:20px;padding-top:18px;display:grid}.field-label{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.search-control{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.search-input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:40px;padding:0 12px}.select-input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px}.filter-actions{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8px;margin-top:8px;display:grid}.filter-actions .button{width:100%;padding:0 10px}.notice-list{background:var(--surface);gap:10px;padding:12px;display:grid}.notice-column-header{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);grid-template-columns:86px minmax(0,1fr) 164px;gap:16px;margin:0 12px;padding:10px 18px;font-size:12px;font-weight:900;display:grid}.notice-column-header span:last-child{text-align:right}.notice-column-header span:nth-child(2){text-align:center}.notice-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:86px minmax(0,1fr) 164px;gap:16px;min-height:128px;padding:18px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid;box-shadow:0 8px 24px #17211f0a}.notice-item:hover{border-color:var(--sub-line);transform:translateY(-1px);box-shadow:0 12px 30px #17211f14}.score-badge{--score-color:var(--green-strong);--score-bg:var(--sub);--score-border:var(--sub-line);border:1px solid var(--score-border);background:var(--score-bg);min-height:34px;color:var(--score-color);border-radius:8px;justify-content:center;align-self:start;align-items:center;padding:6px 9px;font-size:18px;font-weight:900;line-height:1.2;display:inline-flex}.score-badge strong{font:inherit}.score-tone-low{--score-color:#b64036;--score-bg:#fff1f0;--score-border:#e6b0aa}.score-tone-mediumLow{--score-color:#b76a1f;--score-bg:#fff7e8;--score-border:#e5b26d}.score-tone-mediumHigh{--score-color:#1f6feb;--score-bg:#edf5ff;--score-border:#c9dcff}.score-tone-high{--score-color:#0f6b55;--score-bg:#eaf4f1;--score-border:#cfe6de}.notice-main h3{margin:0;font-size:18px;line-height:1.35}.notice-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:13px;display:flex}.status-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.status-chip{border:1px solid var(--line);min-height:26px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.status-chip.urgent{background:var(--warning-soft);color:var(--amber);border-color:#e5b26d}.status-chip.high{border-color:var(--point-line);background:var(--point-soft);color:var(--blue)}.status-chip.sent,.status-chip.memo{border-color:var(--sub-line);background:var(--sub);color:var(--green-strong)}.status-chip.waiting,.status-chip.muted{background:var(--surface);color:var(--muted)}.keyword-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{border:1px solid var(--line);min-height:26px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.notice-side{color:var(--muted);text-align:right;align-content:space-between;justify-items:end;gap:12px;font-size:13px;display:grid}.notice-side strong{color:var(--ink);display:block}.empty{color:var(--muted);text-align:center;padding:42px 18px}.empty.compact{border:1px dashed var(--line);background:var(--surface);border-radius:8px;padding:18px 12px}.notice-detail{grid-template-columns:minmax(0,1fr) 340px;gap:18px;display:grid}.detail-main,.detail-aside{padding:20px}.detail-main h2{margin:0 0 14px;font-size:28px;line-height:1.25}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.setup-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.data-point{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:78px;padding:14px}.data-point span{color:var(--muted);font-size:12px;font-weight:700;display:block}.data-point strong{overflow-wrap:anywhere;margin-top:6px;font-size:16px;display:block}.score-data-point{border-color:var(--score-border);background:linear-gradient(180deg, var(--score-bg), #fff 82%)}.score-data-point span,.score-data-point strong{color:var(--score-color)}.bid-detail-panel{gap:14px;display:grid}.attachment-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.attachment-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.attachment-header strong{font-size:15px}.attachment-header span{color:var(--muted);font-size:12px;font-weight:700}.attachment-list{gap:8px;display:grid}.attachment-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.attachment-item{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:700;display:grid}.attachment-item span{overflow-wrap:anywhere}.attachment-analysis-form{display:flex}.attachment-analysis-form .analysis-submit-state{width:100%;min-width:92px}.attachment-analysis-button{white-space:nowrap;min-height:42px}.attachment-analysis-form .analysis-estimate{text-align:center;max-width:132px}.attachment-analysis-complete{border:1px solid var(--sub-line);background:var(--sub);min-height:42px;color:var(--sub-strong);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.analysis-submit-state{align-content:start;gap:6px;display:grid}.analysis-estimate{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}.spinner{animation:.76s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-box{border:1px dashed var(--sub-line);background:var(--sub);border-radius:8px;gap:12px;padding:16px;display:grid}.file-input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:12px}.report-list{gap:12px;margin-top:16px;display:grid}.report{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.report-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-header .notice-meta{margin-top:0}.proposal-entry{gap:8px;margin-top:14px;display:grid}.proposal-entry .button{width:100%}.proposal-entry p{color:var(--muted);align-items:center;gap:5px;margin:0;font-size:12px;font-weight:700;line-height:1.4;display:flex}.proposal-modal-overlay{z-index:50;background:#121816b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.proposal-modal{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);max-height:calc(100vh - 40px);display:grid;overflow:hidden;box-shadow:0 28px 90px #00000057}.proposal-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.proposal-modal-header h2{margin:4px 0 0;font-size:22px;line-height:1.25}.proposal-kicker{color:var(--sub-strong);font-size:12px;font-weight:900}.proposal-modal-body{grid-template-columns:240px minmax(0,1fr) 300px;min-height:0;display:grid}.proposal-source-panel,.proposal-chat-panel{background:var(--surface);flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex}.proposal-source-panel{border-right:1px solid var(--line)}.proposal-chat-panel{border-left:1px solid var(--line)}.proposal-source-meta{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;gap:5px;padding:10px;font-size:12px;font-weight:700;display:grid}.proposal-source-meta strong{color:var(--sub-strong)}.proposal-estimate{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.4}.proposal-error{background:var(--danger-soft);color:var(--red);border:1px solid #e6b0aa;border-radius:8px;padding:10px;font-size:12px;font-weight:800;line-height:1.45}.proposal-draft-panel{background:var(--paper);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid}.proposal-draft-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.proposal-draft-header strong,.proposal-chat-header strong{font-size:14px;display:block}.proposal-draft-header span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.proposal-markdown{border:1px solid var(--line);min-height:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;border-radius:8px;margin:12px 0 0;padding:14px;font-family:Cascadia Code,Consolas,Malgun Gothic,monospace;font-size:13px;line-height:1.72;overflow:auto}.proposal-empty{border:1px dashed var(--line);background:var(--surface);min-height:360px;color:var(--muted);text-align:center;border-radius:8px;place-content:center;justify-items:center;gap:8px;display:grid}.proposal-empty strong{color:var(--ink)}.proposal-empty span{max-width:320px;font-size:13px;line-height:1.5}.proposal-chat-header{align-items:center;gap:7px;display:flex}.proposal-message-list{align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.proposal-message{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px}.proposal-message.user{border-color:var(--point-line);background:var(--point-soft)}.proposal-message span{color:var(--muted);font-size:11px;font-weight:900;display:block}.proposal-message p{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-size:13px;line-height:1.5}.proposal-message-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:8px;padding:16px 10px;font-size:13px;font-weight:700;line-height:1.5}.proposal-chat-form{gap:8px;margin-top:auto;display:grid}.proposal-chat-form textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:96px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;line-height:1.5}.copy-button{white-space:nowrap;flex:none;min-height:34px}.markdown-body{color:var(--ink);margin-top:16px;font-size:15px;line-height:1.78}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--sub-strong);margin:26px 0 10px;line-height:1.32}.markdown-body h1{font-size:23px}.markdown-body h2{border-bottom:1px solid var(--line);padding-bottom:7px;font-size:20px}.markdown-body h3{font-size:17px}.markdown-body h4{font-size:15px}.markdown-body p{margin:8px 0}.markdown-body ul,.markdown-body ol{margin:8px 0 14px;padding-left:24px}.markdown-body li{margin:5px 0;padding-left:2px}.markdown-body li::marker{color:var(--sub-strong);font-weight:800}.markdown-body blockquote{border-left:4px solid var(--sub-strong);background:var(--sub);color:var(--muted);border-radius:0 8px 8px 0;margin:14px 0;padding:10px 14px}.markdown-body code{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:2px 5px;font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.markdown-body pre{border:1px solid var(--line);color:#fff;background:#17211f;border-radius:8px;margin:14px 0;padding:14px;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;border:0;padding:0}.markdown-body table{border-collapse:collapse;width:100%;margin:14px 0;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}.markdown-body th{background:var(--sub);color:var(--sub-strong);font-weight:800}.markdown-body a{color:var(--blue);text-underline-offset:3px;font-weight:800;text-decoration:underline}.markdown-body hr{background:var(--line);border:0;height:1px;margin:22px 0}.notice-alert{border:1px solid var(--line);background:var(--warning-soft);color:var(--amber);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-weight:700}.notice-alert.error{background:var(--danger-soft);color:var(--red)}.settings-page{overflow:hidden}.settings-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;display:flex}.settings-header h2{margin:12px 0 0;font-size:26px;line-height:1.2}.back-link{color:var(--sub-strong);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.settings-mark{border:1px solid var(--sub-line);background:var(--sub);width:44px;height:44px;color:var(--sub-strong);border-radius:8px;flex:none;place-items:center;display:grid}.settings-summary{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px;display:grid}.rule-metric{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:78px;padding:13px}.rule-metric span{color:var(--muted);font-size:12px;font-weight:800;display:block}.rule-metric strong{margin-top:8px;font-size:24px;line-height:1;display:block}.rule-metric small{color:var(--muted);font-size:13px}.filter-impact{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:.88fr 1.12fr;gap:14px;padding:16px 20px;display:grid}.impact-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.impact-metric{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:74px;padding:12px}.impact-metric span{color:var(--muted);font-size:12px;font-weight:800;display:block}.impact-metric strong{margin-top:8px;font-size:22px;line-height:1;display:block}.recent-excluded{gap:8px;min-width:0;display:grid}.recent-excluded-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recent-excluded-header strong{font-size:14px}.recent-excluded-header span{color:var(--muted);font-size:12px;font-weight:800}.recent-excluded-list{gap:6px;display:grid}.recent-excluded-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:4px 8px;min-height:44px;padding:8px 10px;display:grid}.recent-excluded-item span{color:var(--red);font-size:12px;font-weight:900}.recent-excluded-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recent-excluded-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:12px;font-weight:700;overflow:hidden}.rule-sections{display:grid}.rule-section{border-bottom:1px solid var(--line);padding:20px}.rule-section:last-child{border-bottom:0}.rule-section-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.rule-section-header h3{margin:0;font-size:18px;line-height:1.25}.rule-section-header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.rule-count{color:var(--sub-strong);flex:none;font-size:12px;font-weight:900}.keyword-add-form{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.rule-list{gap:8px;margin-top:12px;display:grid}.rule-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:grid}.rule-row.disabled{background:var(--surface)}.rule-row-main{align-items:center;gap:8px;min-width:0;display:flex}.rule-keyword{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:800}.rule-state{border:1px solid var(--sub-line);background:var(--sub);color:var(--sub-strong);border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:900}.rule-state.muted{border-color:var(--line);color:var(--muted);background:#fff}.rule-row-actions{gap:6px;display:flex}@media (max-width:900px){.topbar,.content-header{flex-direction:column;align-items:stretch}.actions,.search-form,.filter-actions,.button{width:100%}.status-strip,.workspace,.notice-detail{grid-template-columns:1fr}.side-panel{position:static}.notice-item{grid-template-columns:1fr}.notice-column-header{display:none}.score-badge,.notice-side span{align-items:center;gap:8px;display:inline-flex}.score-badge:before,.notice-side span:before{color:var(--muted);font-size:12px;font-weight:900}.score-badge:before{content:"적합도"}.notice-side span:before{content:"마감일"}.notice-side{text-align:left;justify-content:space-between;place-items:center start;width:100%;display:flex}.notice-side strong{display:inline}.report-header{flex-direction:column;align-items:stretch}.copy-button{width:100%}.attachment-row{grid-template-columns:1fr}.attachment-analysis-form,.attachment-analysis-button,.attachment-analysis-complete{width:100%}.filter-actions{grid-template-columns:1fr}.proposal-modal-overlay{align-items:start;padding:12px;overflow-y:auto}.proposal-modal{max-height:none}.proposal-modal-body{grid-template-columns:1fr;overflow:visible}.proposal-source-panel,.proposal-chat-panel{border-left:0;border-right:0}.proposal-source-panel,.proposal-draft-panel{border-bottom:1px solid var(--line)}.proposal-empty{min-height:240px}.proposal-message-list{max-height:260px}.settings-summary,.filter-impact,.impact-metrics,.settings-header,.rule-section-header,.rule-row{grid-template-columns:1fr}.rule-section-header,.settings-header{flex-direction:column;align-items:stretch}.rule-row-actions{justify-content:flex-start}}@media (max-width:640px){.setup-grid{grid-template-columns:1fr}}
