:root{
  --bg:#f4f7fb;
  --surface:#fff;
  --line:#dbe4ef;
  --ink:#101828;
  --muted:#667085;
  --nav:#071d34;
  --blue:#155eef;
  --green:#079455;
  --amber:#f79009;
  --red:#d92d20;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-panel{width:min(420px,100%);padding:32px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(16,24,40,.08)}
.brand-mark,.brand{font-size:28px;font-weight:900;letter-spacing:0}
.login-panel h1{margin:20px 0 6px;font-size:24px}
.login-panel p{margin:0 0 22px;color:var(--muted)}
label{display:block;font-weight:800;font-size:13px;color:#344054}
input,textarea{width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:var(--ink);outline:none}
input{height:44px;padding:0 12px}
textarea{padding:12px;resize:vertical}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,94,239,.12)}
.login-panel label+label,.form-panel label+label{margin-top:14px}
button{border:0;border-radius:7px;background:#08223f;color:#fff;font-weight:900;cursor:pointer}
.login-panel button,.form-panel button,.checklist button{width:100%;height:46px;margin-top:18px}
.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:14px}
.alert-error{background:#fff1f0;border:1px solid #fecdca;color:#b42318}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;background:linear-gradient(180deg,#071d34,#0b2d50);color:#fff}
.sidebar nav{display:grid;gap:8px;margin-top:28px}
.sidebar nav a{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:8px;color:#dbeafe;font-weight:800;font-size:14px}
.sidebar nav a.active,.sidebar nav a:hover{background:#1466c3;color:#fff}
.logout{position:absolute;left:18px;bottom:24px;color:#dbeafe;font-size:13px;font-weight:800}
.main{min-width:0;padding:22px 24px}
.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}
.topbar h1{margin:0;font-size:28px}
.topbar p{margin:6px 0 0;color:var(--muted)}
.status{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#eaf3ff;color:#0b5cad;font-weight:900;font-size:12px}
.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.left-pane{display:grid;gap:16px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px}
.form-panel,.recent,.empty-preview,.report-head,.signals{padding:20px}
.form-panel h2,.recent h2,.panel-head h2{margin:0;font-size:20px}
.form-panel p{margin:12px 0 0;color:var(--muted);font-size:12px}
.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.panel-head span{color:var(--muted);font-size:12px;font-weight:800}
.recent{max-height:620px;overflow:auto}
.report-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--line)}
.report-row.selected,.report-row:hover{background:#f0f7ff}
.report-row strong{display:block;font-size:14px}
.report-row em{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-style:normal;word-break:break-all}
.report-row form{margin:0}
.delete-report{height:28px;padding:0 8px;border:1px solid #fecdca;background:#fff1f0;color:#b42318;font-size:11px}
.status.queued{background:#eef4ff;color:#155eef}.status.running{background:#fff7e6;color:#b54708}.status.ready{background:#ecfdf3;color:#067647}.status.error{background:#fff1f0;color:#b42318}
.empty{padding:28px;border:1px dashed #cbd5e1;border-radius:8px;text-align:center;color:var(--muted)}
.empty-preview h2{margin:0;font-size:25px}.empty-preview p{color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.process-grid div{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.process-grid b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eaf3ff;color:#155eef}
.process-grid strong{display:block;margin-top:10px}.process-grid span{display:block;color:var(--muted);font-size:12px}
.report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.report-head h2{margin:0}.report-head p{margin:5px 0 0;color:var(--muted);word-break:break-all}
.status-block{text-align:right}.status-block em{display:block;margin-top:8px;color:var(--red);font-style:normal;font-size:12px}
.progress-panel{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:center;padding:14px 16px;margin-bottom:16px}
.progress-panel strong{display:block;font-size:14px}
.progress-panel span{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.progress-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:#e6edf5}
.progress-track i{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,#155eef,#12b76a);animation:progressSlide 1.25s ease-in-out infinite}
@keyframes progressSlide{0%{transform:translateX(-110%)}55%{transform:translateX(125%)}100%{transform:translateX(290%)}}
.insight-board{display:grid;gap:16px}
.insight-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px}
.insight-hero h2{margin:0;font-size:24px}.insight-hero p{margin:5px 0 0;color:var(--muted)}
.insight-total{display:grid;place-items:center;min-width:120px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}
.insight-total span{color:var(--muted);font-size:12px;font-weight:900}.insight-total strong{font-size:32px;line-height:1}
.insight-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.metric-card{padding:14px}
.metric-card div{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}
.metric-card span{color:var(--muted);font-size:12px;font-weight:900}.metric-card strong{font-size:28px}
.metric-card i{display:block;height:8px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e6edf5}
.metric-card b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#155eef,#12b76a)}
.metric-card ul{margin:12px 0 0;padding-left:16px;color:#475467;font-size:12px;line-height:1.55}
.metric-card li+li{margin-top:4px}
.diagnostic-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.diagnostic-card{display:flex;min-height:260px;overflow:hidden;flex-direction:column}
.diagnostic-card header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 16px}
.diagnostic-card header span{font-weight:900}
.diagnostic-card header b{font-size:22px}
.diagnostic-card header em{padding:4px 8px;border-radius:999px;background:#eef4ff;color:#155eef;font-size:11px;font-style:normal;font-weight:900}
.diagnostic-body{padding:0 16px 16px;border-top:1px solid var(--line)}
.diagnostic-body h3{margin:14px 0 6px;font-size:13px}
.diagnostic-body ul{margin:0;padding-left:18px;color:#475467;font-size:13px;line-height:1.55}
.diagnostic-body p{margin:0;color:#475467;font-size:13px;line-height:1.6}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.signal-card{padding:18px}.signal-card h2{margin:0;font-size:20px}
.signal-bars,.capture-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.signal-bars div,.capture-counts div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.signal-bars span,.capture-counts b{display:block;color:var(--muted);font-size:11px;font-weight:900}
.signal-bars strong,.capture-counts span{display:block;margin-top:5px;font-size:22px;font-weight:900}
.advisor-report{padding:22px}
.section-kicker{display:block;margin-bottom:12px;color:#155eef;font-size:12px;font-weight:900}
.advisor-report h2{margin:0 0 22px;font-size:26px}
.advisor-list{display:grid}
.advisor-row{display:grid;gap:12px;padding:18px 0;border-top:1px solid var(--line)}
.advisor-row:first-child{border-top:0;padding-top:0}
.advisor-title{display:flex;gap:10px;align-items:center}
.advisor-title em{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:#eaf3ff;color:#155eef;font-size:12px;font-style:normal;font-weight:900}
.advisor-title strong{font-size:18px}
.advisor-row dl{display:grid;gap:8px;margin:0}
.advisor-row dl div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px}
.advisor-row dt{color:#101828;font-size:13px;font-weight:900}
.advisor-row dd{margin:0;color:#475467;font-size:14px;line-height:1.6}
.analysis-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(420px,1fr) minmax(300px,360px);gap:16px;align-items:stretch;margin-bottom:16px}
.capture-column{display:grid;gap:16px}
.capture-card{padding:16px;overflow:hidden}
.capture-card img{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.capture-card.mobile img{max-height:720px;object-fit:contain}
.capture-empty{display:grid;place-items:center;min-height:260px;border:1px dashed #cbd5e1;border-radius:8px;color:var(--muted)}
.checklist,.result-panel{display:flex;flex-direction:column;min-height:100%;padding:20px}
.check-row{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdff;margin-bottom:10px;font-weight:700}
.check-row input{width:auto;height:auto;margin:4px 0 0}
.memo-label{display:flex;flex:1;flex-direction:column;margin-top:14px}
.memo-label textarea{flex:1}
.result-panel textarea{flex:1;min-height:620px;font-size:14px;line-height:1.75;background:#fbfdff}
.report-scope{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}
.report-scope div{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}
.report-scope span{color:var(--muted);font-size:11px;font-weight:900}
.report-scope strong{font-size:12px;text-align:right;word-break:keep-all}
.mail-label{display:flex;flex:1;flex-direction:column;margin-top:4px;font-size:12px;color:#344054}
.mail-label textarea{margin-top:8px}
.mail-tabs{display:flex;flex:1;flex-direction:column}
.tab-buttons{display:flex;gap:6px;margin-bottom:10px}
.tab-button{height:34px;padding:0 12px;border:1px solid var(--line);background:#fff;color:#344054;font-size:12px}
.tab-button.active{border-color:#155eef;background:#eaf3ff;color:#155eef}
.tab-panel{display:none;flex:1;min-height:0}
.tab-panel.active{display:flex;flex-direction:column}
.mail-empty{display:grid;align-content:center;min-height:220px;padding:18px;border:1px dashed #cbd5e1;border-radius:8px;background:#fbfdff;color:#667085}
.mail-empty strong{color:#101828}
.mail-empty p{margin:6px 0 0}
.copy-btn,.copy-small{height:40px;padding:0 14px;background:#08223f}
.report-actions{display:flex;gap:8px;align-items:center}
.source-badge{display:inline-flex;align-items:center;height:28px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:900}
.source-badge.ai{background:#ecfdf3;color:#067647}
.source-badge.fallback{background:#fff7e6;color:#b54708}
.source-badge.template{background:#eef4ff;color:#155eef}
.score-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
.score-list div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.score-list span{display:block;color:var(--muted);font-size:11px;font-weight:800}
.score-list strong{display:block;margin-top:4px;font-size:22px}
.score-list em{display:block;margin-top:5px;color:#667085;font-size:11px;font-style:normal;line-height:1.35}
.signals dl{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0}
.signals div{padding:11px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.signals dt{color:var(--muted);font-size:11px;font-weight:900}.signals dd{margin:4px 0 0;font-weight:800;word-break:break-all}
.subpage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.subpage-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.subpage-card img{width:118px;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#fff}
.subpage-card b{display:inline-flex;margin-bottom:5px;color:#155eef;font-size:11px}
.subpage-card strong{display:block;font-size:13px;line-height:1.35}
.subpage-card span{display:block;margin-top:4px;color:var(--muted);font-size:11px;word-break:break-all}
.subpage-card em{display:block;margin-top:8px;color:#344054;font-size:11px;font-style:normal;font-weight:800}
.back-link{display:inline-block;margin-bottom:8px;color:#155eef;font-weight:800;font-size:13px}
@media (max-width:1440px){.analysis-layout{grid-template-columns:minmax(260px,330px) minmax(380px,1fr) minmax(280px,330px)}}
@media (max-width:1180px){.workspace,.analysis-layout,.progress-panel,.insight-grid{grid-template-columns:1fr}.process-grid,.signals dl,.subpage-grid,.diagnostic-cards{grid-template-columns:1fr 1fr}.score-list,.insight-metrics{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.app-shell{display:block}.sidebar{position:static;height:auto}.logout{position:static;margin-top:18px;display:block}.main{padding:18px}.topbar,.report-head,.insight-hero{display:block}.workspace,.process-grid,.signals dl,.subpage-grid,.diagnostic-cards,.score-list,.insight-metrics,.signal-bars,.capture-counts{grid-template-columns:1fr}.advisor-row dl div{grid-template-columns:1fr}.copy-btn{width:100%;margin-top:12px}}
