:root{--navy:#122a40;--blue:#2468bc;--line:#dfe7ef;--muted:#63748a;--green:#087e6f;font-family:system-ui,'Malgun Gothic',sans-serif;color:#243449;background:#f2f5f8}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:206px;background:var(--navy);color:#e9f1f9;padding:28px 18px;display:flex;flex-direction:column}.brand{font-size:29px;letter-spacing:2px;font-weight:800;padding:0 12px 28px}.brand span{display:block;font-size:9px;letter-spacing:1.5px;color:#a4bdd5;margin-top:7px}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;color:#aac0d5;text-align:left;padding:13px}.nav button.active{color:white;background:#234664}.aside-note{font-size:11px;color:#98b0c7;line-height:1.8;margin-top:auto;padding:12px}main{margin-left:206px;max-width:1620px;padding:28px 32px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}header small{font-size:12px;color:var(--muted)}h1{font-size:26px;margin:5px 0 0;letter-spacing:-1px}.header-tools{display:flex;gap:8px;align-items:center}#saveState{font-size:11px;color:var(--muted);margin-right:4px}h2{font-size:18px;margin:0 0 17px}h3{font-size:15px;margin:20px 0 12px}button,.button{border:1px solid #cbd7e4;background:white;padding:9px 13px;border-radius:7px;color:#23405d;font:inherit;font-size:12px;cursor:pointer;display:inline-block;text-decoration:none}button:hover{filter:brightness(.97)}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.danger{color:#b63838}button:disabled{opacity:.45;cursor:default}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:21px;margin:0 0 18px;box-shadow:0 2px 6px #25374b03}.section-head,.actions,.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-head{justify-content:space-between;margin-bottom:18px}.section-head h2{margin:0}.actions{margin-top:18px}.toolbar{margin-bottom:16px}.toolbar input{min-width:230px}.toolbar select{max-width:180px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.two{grid-template-columns:1fr 1fr}.wide{grid-column:1/-1}label{display:block;font-size:12px;font-weight:650;color:#4c6076}input,select,textarea{width:100%;display:block;margin-top:6px;padding:10px;border:1px solid #ccd7e4;border-radius:6px;background:#fff;font:inherit;font-size:13px;color:#18334f}input:focus,select:focus,textarea:focus{outline:2px solid #d6e7fa;border-color:#7dabdf}input[readonly]{background:#f5f7fa}input[type=checkbox]{width:auto;display:inline;margin:0 8px 0 0}input[type=file]{font-size:12px}textarea{min-height:82px;resize:vertical}.checkbox{display:flex;align-items:center;min-height:42px}.note{color:var(--muted);font-size:12px;line-height:1.7;margin:10px 0}.notice{border-left:3px solid #6a9ed6;background:#f0f6fe;padding:13px 16px;font-size:12px;line-height:1.7;margin-bottom:17px}.warn{border-left-color:#d69631;background:#fff8ed}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat{background:white;padding:19px;border:1px solid var(--line);border-radius:10px;border-top:3px solid #91b3d9}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:23px;letter-spacing:-.5px;margin:11px 0 5px}.stat small{font-size:11px;color:var(--muted)}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#f0f4f9;color:#52677e;font-weight:650;white-space:nowrap}th,td{padding:11px 10px;border-bottom:1px solid #e6ecf2;text-align:left}td{vertical-align:middle;white-space:pre-line;line-height:1.55}td small{color:var(--muted);display:block;margin-top:4px}td button{padding:5px 8px}td.num{text-align:right;font-variant-numeric:tabular-nums}table.compact input{min-width:75px;width:100%;padding:7px;font-size:12px}table.compact td{padding:5px;min-width:85px}.empty{padding:25px;color:#8390a0;text-align:center}.pill{display:inline-block;font-size:11px;border-radius:5px;padding:5px 7px;background:#eaf2fc;color:#27639f;white-space:nowrap}.pill.green{background:#e1f4ee;color:#137a60}.pill.gray{background:#eef0f3;color:#7b8594}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.tabs button.active{background:#e5effb;border-color:#9fc1e4;color:#15589c}.timeline{display:flex;gap:6px;margin:16px 0 0;flex-wrap:wrap}.step{background:#eef2f7;color:#8290a0;font-size:12px;padding:9px 12px;border-radius:5px}.step.done{background:#e5f3ef;color:#17755d}.step b{font-size:10px;margin-right:5px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-grid .card{margin:0}.report-meta{display:flex;justify-content:space-between;margin-bottom:18px;border-bottom:2px solid var(--navy);padding-bottom:14px}.report-meta b{font-size:20px}.report-meta small{color:var(--muted)}.memo-text{white-space:pre-wrap;line-height:1.8;font-size:13px}.summary-line{background:#f3f7fb;border-radius:6px;padding:13px;font-size:13px;margin-bottom:10px}.negative{color:#b03838}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#17374f;color:white;padding:12px 22px;border-radius:8px;display:none;font-size:13px;z-index:100}.mono{font-variant-numeric:tabular-nums}.filelist a{color:#1e64a4}.print-only{display:none}@media(max-width:1000px){aside{width:170px}main{margin-left:170px;padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:auto;padding:14px}.brand,.aside-note{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;padding:8px}main{margin:0;padding:14px}header{align-items:flex-start}.header-tools{flex-wrap:wrap;max-width:150px}.grid{grid-template-columns:1fr}.stat strong{font-size:19px}.report-meta{display:block}.report-meta small{display:block;margin-top:6px}}@media print{body{background:white;color:black}aside,header,.tabs,.no-print,.actions,button,#toast{display:none!important}main{margin:0;padding:0;max-width:none}.card{box-shadow:none;border-color:#ccc;break-inside:avoid;padding:14px}.stats{grid-template-columns:repeat(4,1fr)}.stat{padding:12px;break-inside:avoid}.stat strong{font-size:18px}.report-grid{display:block}.report-grid .card{margin-bottom:14px}.print-only{display:block}.scroll{overflow:visible}table{font-size:10px}th,td{padding:7px}.report-meta b{font-size:18px}a{color:black;text-decoration:none}@page{size:A4;margin:12mm}}

/* v3 · 영업 Pipeline / 보고 */
.linkbtn{border:0;background:transparent;padding:0;color:#1d5f9d;font-weight:700;text-align:left}
.overdue td{background:#fff6f6}.overdue td:first-child{box-shadow:inset 3px 0 #c94a4a}.negative{color:#b03838!important;font-weight:700}
.sales-stage{font-weight:700}.sales-stage.s7,.sales-stage.s8,.sales-stage.s9{background:#e1f4ee;color:#137a60}.sales-stage.s10,.sales-stage.s11{background:#eef0f3;color:#6f7885}
.project-head{padding-bottom:16px}.pipeline-line{display:flex;gap:4px;flex-wrap:wrap;margin-top:15px}.pipe-step{font-size:10px;color:#8290a0;background:#f0f3f6;padding:7px 8px;border-radius:5px}.pipe-step b{margin-right:4px}.pipe-step.done{background:#e8f1fb;color:#326a9f}.pipe-step.current{outline:2px solid #79a8d5;font-weight:700}
.folder-preview{display:flex;gap:12px;align-items:center;background:#f4f7fb;border:1px solid #dfe8f1;border-radius:7px;padding:12px 14px;margin-top:15px;overflow:auto}.folder-preview b{white-space:nowrap;color:#415971}.folder-preview span{font-family:Consolas,'Malgun Gothic',sans-serif;font-size:12px;white-space:nowrap;color:#17374f}
.pipeline-value{background:#f2f7fd;border-radius:7px;padding:13px 15px;margin-top:15px;font-size:13px}.pipeline-value strong{color:#165f9e;font-size:16px;margin-left:5px}
.inner-card{box-shadow:none;background:#fafcff;margin-bottom:12px}.inner-card:last-child{margin-bottom:0}
.report-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-notes>div{border:1px solid #e0e7ef;border-radius:7px;padding:14px;background:#fbfcfe}.report-notes b{font-size:12px;color:#50667c}.report-notes p{white-space:pre-wrap;line-height:1.7;font-size:13px;margin:8px 0 0}
@media(max-width:850px){.report-notes{grid-template-columns:1fr}.pipeline-line{display:none}}
@media print{.pipeline-line{display:none}.report-notes{grid-template-columns:1fr 1fr}.overdue td{background:white}.folder-preview{border-color:#bbb}}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;align-items:end}.goal-grid>b{font-size:12px;color:#4c6076;border-bottom:1px solid #dfe7ef;padding:0 0 8px}.goal-grid label{margin:0}@media(max-width:650px){.goal-grid{grid-template-columns:1fr}.goal-grid>b:nth-of-type(2){display:none}}

/* v4 · 영업관리 / Pipeline / 완료관리 */
.stats.six{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.dashboard-grid .card{margin:0}.dashboard-grid .span2{grid-row:span 1}.pill.orange{background:#fff1dc;color:#9a5f00}.stale-row td{background:#fff9ee}.stale-row td:first-child{box-shadow:inset 3px 0 #d28a24}.warning-text{color:#a76600!important;font-weight:700}.pipe-step.fail{background:#f1f1f2;color:#7a4350}.money-input{text-align:right;font-variant-numeric:tabular-nums}.completion-checks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.completion-item{border:1px solid #dfe7ef;border-radius:8px;background:#f7f9fb;padding:13px;display:flex;gap:9px;align-items:center;color:#7d8997;font-size:12px}.completion-item b{font-size:16px}.completion-item.done{background:#e9f5f1;border-color:#b9ddd1;color:#14745d}.invoice-plan-row{border:1px solid #dfe7ef;border-radius:9px;background:#fbfcfe;padding:16px;margin:12px 0}.invoice-plan-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.invoice-plan-head span:last-child{margin-left:auto;font-size:12px;font-weight:700;color:#264763}.report-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-group-grid>div{border:1px solid #e0e8f0;border-radius:9px;padding:14px;background:#fbfcfe}.report-group-grid h3{margin:0 0 12px;font-size:13px;color:#415a72}.report-metrics{display:grid;gap:8px}.report-metric{border-radius:7px;background:#f1f5fa;padding:11px 12px}.report-metric span{display:block;color:#63748a;font-size:11px}.report-metric b{display:block;font-size:17px;margin-top:4px}.report-metric small{display:block;font-size:11px;color:#63748a;margin-top:3px}.next-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.goal-sections{display:grid;grid-template-columns:1fr 1fr;gap:18px}.goal-sections>div{border:1px solid #e0e7ef;border-radius:8px;padding:14px}.goal-sections h3{margin:0 0 12px}.sales-stage.stage-FAIL{background:#eef0f3;color:#707986}
@media(max-width:1100px){.stats.six{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.report-group-grid{grid-template-columns:1fr}.completion-checks{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.stats.six{grid-template-columns:1fr}.completion-checks{grid-template-columns:1fr 1fr}.goal-sections,.next-goal-grid{grid-template-columns:1fr}}
@media print{.stats.six{grid-template-columns:repeat(3,1fr)}.dashboard-grid{display:block}.report-group-grid{grid-template-columns:repeat(3,1fr)}.completion-checks{grid-template-columns:repeat(5,1fr)}}

/* v4.2 · 영업현황 한눈에 보기 */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#173a5b,#245f91);color:#fff;border-radius:12px;padding:22px 24px;margin-bottom:14px}.dashboard-hero h2{margin:4px 0 5px;font-size:22px}.dashboard-hero p{margin:0;color:#dce9f5;font-size:12px}.dashboard-hero .eyebrow{font-size:10px;letter-spacing:.08em;color:#b9d6ee;font-weight:700}.dashboard-hero button.primary{background:#fff;color:#205988;border-color:#fff;white-space:nowrap}.dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.dash-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 17px 15px;min-height:96px}.dash-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#5c8fc0}.dash-kpi span{display:block;font-size:11px;color:#61748a}.dash-kpi strong{display:block;margin:9px 0 4px;font-size:21px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.dash-kpi small{display:block;color:#8593a2;font-size:10px}.dash-kpi.green:before{background:#2b9a78}.dash-kpi.navy:before{background:#234563}.dash-kpi.purple:before{background:#7769b1}.dash-kpi.orange:before{background:#d88c31}.dash-kpi.red:before{background:#c75a5a}.overview-charts{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.overview-charts .card{margin:0}.compact-head{margin-bottom:12px}.compact-head h2{font-size:15px}.chart-total{font-size:18px;color:#1d4e78}.hbar-list{display:grid;gap:12px}.hbar-row{min-width:0}.hbar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px}.hbar-head b{font-size:12px;color:#2d455e}.hbar-head span{font-size:10px;color:#77889a;text-align:right;font-variant-numeric:tabular-nums}.hbar-track{height:11px;border-radius:20px;background:#edf2f7;overflow:hidden}.hbar-track i{height:100%;display:block;border-radius:20px;background:#4f89bd;min-width:0}.hbar-track i.green{background:#3a9b7c}.hbar-track i.orange{background:#d49747}.hbar-track i.gray{background:#9aa6b2}.hbar-track i.red{background:#c86161}.chart-foot{display:flex;justify-content:flex-end;gap:18px;margin-top:13px;padding-top:11px;border-top:1px solid #e7edf3;color:#61748a;font-size:11px}.chart-foot b{color:#203d58}.trend-legend{display:flex;justify-content:flex-end;gap:12px;font-size:10px;color:#718298;margin:2px 0 8px}.trend-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}.trend-legend i.quote,.trend-bars i.quote{background:#7ca8d1}.trend-legend i.order,.trend-bars i.order{background:#45a182}.trend-chart{height:178px;display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-items:end;border-bottom:1px solid #dfe7ef;padding:8px 3px 0}.trend-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.trend-bars{height:142px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.trend-bars i{display:block;width:min(19px,34%);min-height:0;border-radius:4px 4px 0 0}.trend-col>span{font-size:9px;color:#8290a0;margin:6px 0 4px}.action-grid{grid-template-columns:2fr .8fr}.alert-card{display:flex;flex-direction:column;gap:9px}.alert-card h2{margin-bottom:4px}.alert-summary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:8px;padding:12px 13px;text-align:left;background:#f3f6fa}.alert-summary span{font-size:11px;color:#52677e}.alert-summary b{font-size:17px}.alert-summary.warning{background:#fff6e8}.alert-summary.warning b{color:#a26709}.alert-summary.red{background:#fff0f0}.alert-summary.red b{color:#b84747}.alert-summary.blue{background:#edf5fc}.alert-summary.blue b{color:#27689f}.mini-stage-list{display:grid;gap:8px;margin-top:5px;border-top:1px solid #e6ecf2;padding-top:12px}.mini-stage-list .hbar-head b{font-size:10px}.mini-stage-list .hbar-track{height:7px}.dashboard-bottom{margin-top:18px}
@media(max-width:1100px){.overview-charts{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr}.dash-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dash-kpis{grid-template-columns:1fr}.hbar-head{align-items:flex-start;flex-direction:column;gap:2px}.hbar-head span{text-align:left}.trend-chart{height:150px}.trend-bars{height:115px}}
@media print{.dashboard-hero{background:#fff;color:#111;border:1px solid #bbb}.dashboard-hero p,.dashboard-hero .eyebrow{color:#555}.dash-kpis{grid-template-columns:repeat(3,1fr)}.overview-charts{grid-template-columns:1.15fr .85fr}.action-grid{grid-template-columns:2fr .8fr}.trend-bars i.quote{background:#aaa}.trend-bars i.order{background:#555}}

/* v4.3 · 임원 매출현황 / 보고 / 계산서 정산 */
.executive-sales{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px;margin:0 0 18px}.exec-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:13px}.exec-title span{display:block;font-size:10px;letter-spacing:.08em;color:#71849a;font-weight:700}.exec-title h2{font-size:17px;margin:4px 0 0}.exec-title small{font-size:10px;color:#7a8999;text-align:right}.exec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.executive-sales .dash-kpi{margin:0;min-height:88px}.exec-visuals{display:grid;grid-template-columns:220px 220px minmax(300px,1fr);gap:14px;align-items:stretch;margin-top:14px}.donut-card{border:1px solid #e3e9f0;border-radius:9px;background:#fbfcfe;padding:13px;display:flex;gap:12px;align-items:center}.donut{--pct:0;width:86px;height:86px;border-radius:50%;background:conic-gradient(#4683ba calc(var(--pct)*1%),#e8eef4 0);position:relative;flex:0 0 auto}.donut:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.donut>div{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut b{font-size:17px}.donut span{font-size:8px;color:#7d8d9c}.donut-card.green .donut{background:conic-gradient(#38997a calc(var(--pct)*1%),#e8eef4 0)}.donut-card.purple .donut{background:conic-gradient(#7468ad calc(var(--pct)*1%),#e8eef4 0)}.donut-copy{min-width:0}.donut-copy>span{display:block;font-size:10px;color:#63748a}.donut-copy strong{display:block;font-size:16px;margin:5px 0 3px;white-space:nowrap}.donut-copy small{font-size:9px;color:#8391a0}.sales-bars{border:1px solid #e3e9f0;border-radius:9px;padding:13px 15px;display:grid;gap:9px;background:#fbfcfe}.sales-bars .hbar-track i.navy{background:#234563}.sales-bars .hbar-track i.purple{background:#7769b1}.secondary-kpis{margin-top:0}.executive-sales.compact{padding:15px}.executive-sales.compact .exec-kpis{grid-template-columns:repeat(4,1fr)}.executive-sales.compact .exec-visuals{grid-template-columns:190px 190px 1fr}.report-risk-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.report-risk-strip .report-metric{border:1px solid #e0e7ef;background:#fff}.monthly-target-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;background:#f4f7fb;border-radius:7px;padding:11px 12px}.monthly-target-form>div{min-width:230px}.monthly-target-form>span{font-size:10px;color:#6f8092}.accounting-kpis .stat:last-child{border-top-color:#c65353}.settlement-cell{min-width:200px}.settlement-badge{display:inline-block;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:700;white-space:nowrap;margin:2px}.settlement-badge.red{background:#fdecec;color:#b13d3d}.settlement-badge.orange{background:#fff1dd;color:#9b6106}.settlement-badge.green{background:#e5f4ee;color:#15755e}.receivable-row td:last-child{box-shadow:inset -3px 0 #c95050}.billing-pending-row td:last-child{box-shadow:inset -3px 0 #d09131}.report-break-before{break-before:auto}
@media(max-width:1200px){.exec-visuals{grid-template-columns:1fr 1fr}.sales-bars{grid-column:1/-1}.exec-kpis{grid-template-columns:repeat(2,1fr)}.report-risk-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.exec-title{align-items:flex-start;flex-direction:column}.exec-title small{text-align:left}.exec-kpis,.executive-sales.compact .exec-kpis{grid-template-columns:1fr}.exec-visuals,.executive-sales.compact .exec-visuals{grid-template-columns:1fr}.sales-bars{grid-column:auto}.donut-card{justify-content:flex-start}.report-risk-strip{grid-template-columns:1fr}}
@media print{
  body{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.report-print-mode main{font-size:9px}
  body.report-print-mode #reportPrint{display:block}
  body.report-print-mode #reportPrint .executive-sales{padding:8px;margin-bottom:8px;break-inside:avoid}
  body.report-print-mode #reportPrint .exec-title{margin-bottom:6px}
  body.report-print-mode #reportPrint .exec-title h2{font-size:13px}
  body.report-print-mode #reportPrint .exec-kpis{grid-template-columns:repeat(4,1fr);gap:5px}
  body.report-print-mode #reportPrint .dash-kpi{min-height:56px;padding:8px}
  body.report-print-mode #reportPrint .dash-kpi strong{font-size:14px;margin:4px 0 2px}
  body.report-print-mode #reportPrint .exec-visuals{grid-template-columns:150px 150px 1fr;gap:6px;margin-top:6px}
  body.report-print-mode #reportPrint .donut-card{padding:6px;gap:5px}
  body.report-print-mode #reportPrint .donut{width:58px;height:58px}.donut:after{inset:9px}
  body.report-print-mode #reportPrint .donut b{font-size:12px}.donut-copy strong{font-size:11px}
  body.report-print-mode #reportPrint .sales-bars{padding:6px;gap:4px}.sales-bars .hbar-track{height:6px}
  body.report-print-mode .report-risk-strip{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}
  body.report-print-mode .report-risk-strip .report-metric{padding:6px}
  body.report-print-mode #reportPrint>.card,body.report-print-mode #reportPrint>.report-grid{margin-bottom:8px}
  body.report-print-mode #reportPrint .card{padding:9px}
  body.report-print-mode #reportPrint h2{font-size:12px;margin-bottom:7px}
  body.report-print-mode #reportPrint h3{font-size:10px;margin:6px 0}
  body.report-print-mode #reportPrint table{font-size:8px}
  body.report-print-mode #reportPrint th,body.report-print-mode #reportPrint td{padding:4px 5px}
  body.report-print-mode #reportPrint .report-group-grid{grid-template-columns:repeat(3,1fr);gap:5px}
  body.report-print-mode #reportPrint .report-group-grid>div{padding:6px}
  body.report-print-mode #reportPrint .report-metric{padding:5px}.report-metric b{font-size:12px}
  body.report-print-mode #reportPrint .report-notes{grid-template-columns:repeat(2,1fr);gap:5px}.report-notes>div{padding:7px}
  body.report-print-mode #reportPrint .report-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  body.report-print-mode #reportPrint .report-break-before{break-before:page}
}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions .danger{border-color:#e2b9b9;background:#fffafa}.project-head .row-actions{justify-content:flex-end}

/* v4.5 · 유입경로 분석 */
.source-pill{background:#edf4fb;color:#244f78}.source-pill b{margin-right:4px;color:#173a5b}.hero-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.hero-actions label{min-width:220px;color:#dce9f5}.hero-actions select{margin-top:4px;background:#fff;color:#18334f}.source-summary-card{margin-bottom:18px}.source-summary-card .scroll{max-height:320px}.toolbar select[name=filterSource],.toolbar select[name=reportSource]{min-width:190px}@media(max-width:700px){.hero-actions{width:100%}.hero-actions label{min-width:0;flex:1}.hero-actions button{width:100%}}

/* v4.6 · 임원 보고서 보안 / Report Builder / Mission Tracker */
.secure-gate{min-height:62vh;display:flex;align-items:center;justify-content:center}.secure-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:0 16px 45px rgba(28,49,70,.08);text-align:center}.secure-icon{font-size:34px;margin-bottom:8px}.secure-card h2{font-size:20px;margin:4px 0 8px}.secure-card p{font-size:12px;color:#6b7d8f;line-height:1.7}.secure-card form{display:grid;gap:10px;text-align:left;margin:20px 0 14px}.secure-card small{font-size:9px;color:#8795a3}
.snapshot-bar{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:16px}.snapshot-bar label{min-width:330px}.layout-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.layout-list>div{display:grid;grid-template-columns:1fr auto auto auto auto;gap:6px;align-items:center;border:1px solid #e4eaf0;border-radius:7px;padding:7px 9px;background:#fafbfd}.layout-list span{font-size:9px;color:#78899a}.report-section{margin-bottom:16px}.mission-summary-badges{display:flex;gap:6px;flex-wrap:wrap}.mission-summary-badges span{font-size:10px;font-weight:700;padding:5px 8px;border-radius:999px}.mission-summary-badges .green{background:#e5f4ee;color:#17755d}.mission-summary-badges .orange{background:#fff1dd;color:#9b6106}.mission-summary-badges .red{background:#fdecec;color:#ad3d3d}.report-entry-editor{display:grid;gap:10px}.report-entry-edit{display:grid;grid-template-columns:38px 150px minmax(180px,1fr) minmax(260px,2fr) 170px auto;gap:8px;align-items:start;border:1px solid #e1e8ef;border-radius:9px;padding:10px;background:#fbfcfe}.entry-no{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#173a5b;color:#fff;font-weight:700;margin-top:18px}.report-entry-edit label{min-width:0}.report-entry-edit textarea{min-height:76px}.entry-photo-preview{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}.entry-photo-preview img,.report-photo-row img{width:110px;height:76px;object-fit:cover;border:1px solid #dce4ec;border-radius:6px}.photo-loading{font-size:9px;color:#789}.entry-group{margin:8px 0 16px}.entry-group h3{border-bottom:2px solid #203f5b;padding-bottom:5px;margin-bottom:8px}.report-entry{border-left:3px solid #7b95ad;background:#f8fafc;padding:9px 11px;margin:7px 0;border-radius:0 7px 7px 0}.report-entry b{font-size:11px}.report-entry p{font-size:10px;line-height:1.6;margin:5px 0;color:#455a70}.report-photo-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.mission-hero{margin-bottom:18px}.mission-task-list{display:grid;gap:8px}.mission-task-row{display:grid;grid-template-columns:34px 1.2fr 1.3fr .7fr .6fr .8fr .8fr 1.2fr 1.2fr auto;gap:6px;align-items:end;border:1px solid #e2e8ef;border-radius:8px;padding:8px;background:#fbfcfd}.mission-task-row .task-no{align-self:center;text-align:center;font-weight:700;color:#60758b}.mission-task-row label{min-width:0}.mission-task-row input,.mission-task-row select{min-width:0}.block-add{display:flex;gap:7px;align-items:flex-end}.block-add label{min-width:180px}.mission-block-list{display:grid;gap:14px}.mission-block{border:1px solid #dfe7ee;border-radius:9px;padding:10px;background:#fcfdfe}.block-head{display:flex;gap:7px;align-items:center;margin-bottom:8px}.block-title{font-size:13px;font-weight:700;flex:1;border:0;border-bottom:1px solid #ccd7e1;background:transparent;border-radius:0}.mission-matrix th input{font-size:9px;font-weight:700;border:0;background:transparent;padding:2px;min-width:100px}.mission-matrix td{vertical-align:top;min-width:150px}.mission-matrix textarea.block-cell{min-height:64px;width:100%;font-size:9px;padding:6px}.mission-block>textarea{min-height:150px;width:100%}
@media(max-width:1300px){.report-entry-edit{grid-template-columns:38px 140px 1fr 1.7fr}.report-entry-edit>label:nth-of-type(4),.report-entry-edit>button{grid-column:auto}.mission-task-row{grid-template-columns:34px repeat(4,1fr)}.mission-task-row>button{grid-column:5}}
@media(max-width:800px){.layout-list{grid-template-columns:1fr}.report-entry-edit{grid-template-columns:34px 1fr}.report-entry-edit>*{grid-column:2}.report-entry-edit .entry-no{grid-column:1;grid-row:1/5}.snapshot-bar label{min-width:0;width:100%}.mission-task-row{grid-template-columns:30px 1fr}.mission-task-row>*{grid-column:2}.mission-task-row .task-no{grid-column:1;grid-row:1/5}.block-head{flex-wrap:wrap}}
@media print{body.report-print-mode .secure-gate,body.report-print-mode .snapshot-bar,body.report-print-mode .layout-list{display:none!important}body.report-print-mode #reportPrint .report-entry{break-inside:avoid}body.report-print-mode #reportPrint .report-photo-row img{width:95px;height:65px}}

/* v4.7 · 가독성 / Pipeline 안내 / 보고서 작성 안정화 / 현장이슈 */
.dashboard-hero h2{font-size:26px}.dashboard-hero p{font-size:14px;line-height:1.6}.dashboard-hero .eyebrow{font-size:11px}
.dash-kpi{min-height:106px;padding:18px 19px}.dash-kpi span{font-size:13px;font-weight:650}.dash-kpi strong{font-size:26px;margin:10px 0 5px}.dash-kpi small{font-size:12px;line-height:1.45}
.compact-head h2{font-size:18px}.chart-total{font-size:22px}.hbar-head b{font-size:13px}.hbar-head span{font-size:11px}.hbar-track{height:13px}.chart-foot{font-size:12px}.note{font-size:13px}
.executive-sales{padding:21px}.exec-title h2{font-size:21px}.exec-title span{font-size:11px}.exec-title small{font-size:12px}.donut-copy>span{font-size:12px}.donut-copy strong{font-size:19px}.donut-copy small{font-size:11px}.donut b{font-size:19px}.donut span{font-size:9px}
.report-meta b{font-size:23px}.report-section h2{font-size:19px}.report-group-grid h3{font-size:15px}.report-metric span{font-size:12px}.report-metric b{font-size:20px}.report-metric small{font-size:11px}.report-entry b{font-size:13px}.report-entry p{font-size:12px}.mission-summary-badges span{font-size:11px}
.pipeline-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.pipeline-guide>div{background:#f5f8fc;border:1px solid #dce6ef;border-left:5px solid #4f7fa8;border-radius:8px;padding:13px 15px}.pipeline-guide b{display:block;font-size:14px;color:#203e5b}.pipeline-guide p{font-size:12px;line-height:1.65;margin:5px 0 0;color:#53687c}.pipeline-guide strong{color:#1c5f98}.pipeline-guide small{display:block;margin-top:5px;color:#78899a;font-size:10px}.report-pipeline-chart{margin-top:14px;border-top:1px solid #e1e8ef;padding-top:13px}.report-pipeline-chart h3{margin:0 0 10px}
.report-entry-edit{grid-template-columns:38px 150px minmax(180px,1fr) minmax(260px,2fr) 170px 68px;align-items:start}.entry-delete{min-width:62px;width:62px;height:36px;white-space:nowrap;padding:7px 9px;align-self:end}.entry-photo-preview{grid-column:2/-1}.draft-save-note{font-size:11px;color:#718397;align-self:center}
.site-issue-list{display:grid;gap:10px}.site-issue-row{display:grid;grid-template-columns:34px 130px 120px 150px 105px minmax(170px,1fr) 70px;gap:8px;align-items:end;border:1px solid #e1e8ef;border-left:4px solid #d28a24;border-radius:9px;padding:11px;background:#fffaf2}.site-issue-row.done{background:#f5faf8;border-left-color:#349779}.site-issue-no{grid-row:1/3;align-self:start;margin-top:20px;width:28px;height:28px;border-radius:50%;background:#173a5b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.site-issue-title{grid-column:6/7}.site-issue-detail{grid-column:2/5}.site-issue-action{grid-column:5/7}.site-issue-row textarea{min-height:70px}.site-issue-delete{grid-column:7;grid-row:1;min-width:62px;white-space:nowrap}.site-issue-row label{min-width:0}.site-issue-row input,.site-issue-row select,.site-issue-row textarea{font-size:12px}
@media(max-width:1350px){.pipeline-guide{grid-template-columns:1fr}.site-issue-row{grid-template-columns:34px repeat(4,minmax(120px,1fr))}.site-issue-no{grid-row:1/4}.site-issue-title,.site-issue-detail,.site-issue-action,.site-issue-delete{grid-column:auto;grid-row:auto}.report-entry-edit{grid-template-columns:38px 140px 1fr 1.7fr 150px 68px}}
@media(max-width:800px){.site-issue-row{grid-template-columns:34px 1fr}.site-issue-row>*{grid-column:2}.site-issue-row .site-issue-no{grid-column:1;grid-row:1/5}.site-issue-delete{width:auto}.report-entry-edit{grid-template-columns:34px 1fr}.report-entry-edit>*{grid-column:2}.report-entry-edit .entry-no{grid-column:1;grid-row:1/5}.entry-delete{width:auto}.pipeline-guide{grid-template-columns:1fr}}


/* v4.8 · 임원보고 가독성 / 그래프 개선 */
#reportPrint{max-width:1380px;margin:0 auto}.report-document{background:#f7f9fc;border:1px solid #dbe5ee;border-radius:14px;padding:22px;margin-bottom:20px}.executive-meta{background:#122f49;color:white;border:0;border-radius:12px;padding:20px 22px;align-items:center}.executive-meta b{display:block;color:white;font-size:25px;margin-top:4px}.executive-meta p{margin:7px 0 0;color:#c7d7e6;font-size:13px}.executive-meta .section-kicker{color:#94bad9}.report-meta-mark{font-size:26px;font-weight:900;letter-spacing:2px;text-align:right}.report-meta-mark small{display:block;font-size:8px;letter-spacing:1.6px;color:#9fb8cf;margin-top:5px}.section-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;color:#567c9e;margin-bottom:5px}.report-section{border-radius:12px}.report-section-head h2{font-size:22px}.executive-section{margin-bottom:20px}.exec-kpis{gap:12px}.executive-sales .dash-kpi{min-width:0;overflow:hidden}.executive-sales .dash-kpi strong{font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exec-visuals.modern{grid-template-columns:minmax(220px,.85fr) minmax(220px,.85fr) minmax(380px,1.7fr);align-items:stretch}.donut-card{min-width:0}.donut-copy{min-width:0}.donut-copy strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-column-card{border:1px solid #dce5ed;border-radius:10px;padding:14px 16px;background:#fff;min-width:0}.sales-column-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sales-column-title b{font-size:14px;color:#25445f}.sales-column-title span{font-size:10px;color:#7b8998}.sales-columns{height:152px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.sales-column{text-align:center;display:grid;grid-template-rows:26px 100px 22px;min-width:0}.sales-column strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-column-track{height:100px;background:#f0f3f7;border-radius:7px;overflow:hidden;display:flex;align-items:flex-end}.sales-column-track i{width:100%;display:block;background:#3778ad}.sales-column-track i.green{background:#278d70}.sales-column-track i.orange{background:#d38b33}.sales-column-track i.purple{background:#7464ac}.sales-column span{font-size:11px;font-weight:750;color:#53677a;align-self:end}.performance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.performance-group{border:1px solid #dfe7ef;border-radius:10px;padding:14px;background:#fbfcfe}.performance-group h3{margin:0 0 10px;font-size:14px;color:#294b68}.performance-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.perf-kpi{border-radius:8px;background:#f1f5f9;padding:11px;min-width:0;border-top:3px solid #7da3c7}.perf-kpi.green{border-top-color:#2f9476}.perf-kpi.orange{border-top-color:#d28a33}.perf-kpi.purple{border-top-color:#7767ad}.perf-kpi.red{border-top-color:#c45b5b}.perf-kpi.navy{border-top-color:#254d70}.perf-kpi span{font-size:11px;color:#687b8d}.perf-kpi b{display:block;font-size:18px;margin:6px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-kpi small{display:block;font-size:10px;color:#7c8c9b;line-height:1.35}.pipeline-stage-panel{border:1px solid #dfe7ef;border-radius:10px;padding:15px 16px;background:#fff;margin-top:12px}.pipeline-panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.pipeline-panel-head h3{margin:0;font-size:16px}.pipeline-panel-head p{margin:3px 0 0;font-size:11px;color:#718397}.pipeline-panel-head strong{font-size:20px;color:#294d6c}.pipeline-stage-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.pipeline-stage-bars .hbar-row{margin:0}.pipeline-stage-bars .hbar-head{min-width:0}.pipeline-stage-bars .hbar-head span{max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-stage-bars .hbar-track{height:18px;border-radius:6px}.pipeline-guide{grid-template-columns:minmax(180px,.9fr) repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 0;border:1px solid #dbe6ef;border-radius:10px;padding:10px;background:#f8fbfd}.pipeline-guide-title{border-left:0!important;background:transparent!important;padding:5px 8px!important}.pipeline-guide-title span{font-size:9px;font-weight:800;letter-spacing:.1em;color:#6887a1}.pipeline-guide-title b{font-size:15px;margin-top:2px}.pipeline-guide-title p{font-size:10px!important;line-height:1.45!important}.pipeline-guide>div:not(.pipeline-guide-title){background:white;border:1px solid #e2e9ef;border-left:4px solid #527fa8;border-radius:7px;padding:10px 12px}.pipeline-guide b{font-size:13px}.pipeline-guide p{font-size:11px;line-height:1.55}.report-risk-strip .report-metric b{font-size:18px}.report-risk-strip .report-metric span{font-size:11px}.report-section table{font-size:12px}.report-section th,.report-section td{padding:10px 9px}.decision-section{border-left:5px solid #c35f52}.report-entry{padding:11px 13px}.report-entry b{font-size:14px}.report-entry p{font-size:12px;line-height:1.7}
@media(max-width:1250px){.exec-visuals.modern{grid-template-columns:1fr 1fr}.sales-column-card{grid-column:1/-1}.performance-kpi-grid{grid-template-columns:1fr}.pipeline-guide{grid-template-columns:1fr 1fr}.pipeline-guide-title{grid-column:1/-1}.pipeline-stage-bars{grid-template-columns:1fr}}
@media(max-width:760px){#reportPrint{max-width:none}.report-document{padding:10px}.executive-meta{align-items:flex-start;display:block}.report-meta-mark{text-align:left;margin-top:12px}.exec-visuals.modern{grid-template-columns:1fr}.sales-column-card{grid-column:auto}.performance-items{grid-template-columns:1fr}.pipeline-guide{grid-template-columns:1fr}.pipeline-guide-title{grid-column:auto}}

/* v4.9 · 실사용 Dashboard / 거래형태 / 실행관리 */
.simple-guide{grid-template-columns:1fr 1fr!important;margin-top:16px!important}.priority-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr)}
.truncate-cell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-alerts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.project-alerts span{background:#fff2e2;border:1px solid #f0d3a5;color:#855713;border-radius:7px;padding:8px 10px;font-size:12px}
.item-group-label{margin-top:16px}.item-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.item-check{display:flex;align-items:center;gap:7px;border:1px solid #dce5ee;background:#f8fafc;border-radius:7px;padding:9px 10px;font-weight:600}.item-check input{margin:0;width:auto}.deal-summary{margin-top:14px;background:#f2f7fd;border:1px solid #d8e5f1;border-radius:8px;padding:13px 15px;font-size:13px}.deal-summary strong{color:#b16c0f}.row-actions{display:flex;gap:5px;flex-wrap:wrap}
.work-overview{border-top:4px solid #2d6ea4}.work-step-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.work-step{display:flex;align-items:center;gap:8px;background:#f0f3f6;color:#778899;border-radius:8px;padding:10px}.work-step b{width:24px;height:24px;border-radius:50%;background:#dce4ec;display:flex;align-items:center;justify-content:center}.work-step.done{background:#e7f4ef;color:#1c735d}.work-step.done b{background:#2f9476;color:white}.schedule-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.schedule-strip>div{border:1px solid #e0e7ef;border-radius:7px;padding:9px 11px}.schedule-strip span,.schedule-strip small{display:block;font-size:10px;color:#728396}.schedule-strip b{display:block;margin-top:3px;font-size:13px}.schedule-strip .overdue{background:#fff1ef;border-color:#e7b2aa}.schedule-strip .overdue b,.schedule-strip .overdue small{color:#b34539}.install-checks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}.install-checks label{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #dfe7ef;border-radius:7px;padding:9px}.install-checks input{margin:0;width:auto}.device-table input,.device-table select{min-width:80px}.device-table td:nth-child(2) input{min-width:110px}
.accounting-kpis .stat:nth-child(4){border-top-color:#cf5b5b}.settlement-cell{min-width:180px}.invoice-plan-row{border-left:4px solid #5e8db5}.invoice-plan-row:has(.pill.green){border-left-color:#2f9476}
.alert-summary.orange{background:#fff6e8;border-color:#efd3a7;color:#925c0f}
@media(max-width:1200px){.item-check-grid{grid-template-columns:repeat(2,1fr)}.work-step-board{grid-template-columns:repeat(3,1fr)}.schedule-strip{grid-template-columns:repeat(2,1fr)}.install-checks{grid-template-columns:repeat(3,1fr)}.priority-grid{grid-template-columns:1fr}}
@media(max-width:700px){.item-check-grid,.work-step-board,.schedule-strip,.install-checks{grid-template-columns:1fr}.simple-guide{grid-template-columns:1fr!important}}

/* v5.0 · 동시편집 / 시공업무 구분 / 보고서 레이아웃 */
.edit-lock-banner{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:13px 16px;border:1px solid #d7b36a;border-left:5px solid #d08a2e;border-radius:9px;background:#fff7e8;color:#704c13;box-shadow:0 3px 10px #0000000a}.edit-lock-banner b{font-size:14px}.edit-lock-banner span{font-size:12px}.locked-readonly{outline:3px solid #d7dde4;outline-offset:5px;border-radius:10px}.locked-readonly .card{background:#fafbfc}.locked-readonly input:disabled,.locked-readonly select:disabled,.locked-readonly textarea:disabled{background:#f0f2f5;color:#667788;opacity:1}

.report-layout-control{padding:16px 18px}.report-layout-control .section-head{margin-bottom:11px}.report-layout-control .layout-list{grid-template-columns:repeat(4,minmax(180px,1fr));gap:9px}.report-layout-card{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;grid-template-areas:"handle title toggle" "handle status toggle";gap:2px 9px!important;min-height:62px;padding:10px 12px!important;border:1px solid #d9e2ea!important;border-radius:9px!important;background:#fff!important;box-shadow:0 1px 3px #1f39500a;cursor:grab;user-select:none;transition:.15s ease}.report-layout-card:hover{border-color:#90aec8!important;box-shadow:0 3px 9px #27486114}.report-layout-card.dragging{opacity:.45;transform:scale(.985)}.report-layout-card.is-hidden{background:#f2f4f6!important;color:#7d8995}.report-layout-card .drag-handle{grid-area:handle;align-self:center;display:flex;align-items:center;justify-content:center;width:28px;height:36px;border-radius:6px;background:#edf2f6;color:#55738e!important;font-size:17px!important;cursor:grab}.report-layout-card b{grid-area:title;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-layout-card small{grid-area:status;font-size:10px;color:#7a8997}.report-layout-card>button{grid-area:toggle;align-self:center;min-width:52px;height:31px;padding:0 9px;font-size:10px}.report-layout-card:active{cursor:grabbing}

.work-section{margin:0 0 22px}.work-section-head{display:flex;justify-content:space-between;align-items:flex-end;padding:14px 17px;border-radius:10px 10px 0 0;color:#213a50}.work-section-head span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:3px}.work-section-head h2{margin:0;font-size:20px}.work-section-head h2 b{font-size:13px;margin-left:5px}.work-section-head p{margin:4px 0 0;font-size:11px}.work-section>.card{border-radius:0 0 10px 10px;margin-top:0}.active-work .work-section-head{background:#e9f3fb;border:1px solid #cfe1f0;border-bottom:0}.settlement-work .work-section-head{background:#fff4e4;border:1px solid #ead2aa;border-bottom:0}.completed-work{border:1px solid #dfe5eb;border-radius:10px;background:#f7f9fb;padding:0}.completed-work>summary{padding:14px 17px;cursor:pointer;font-weight:800}.completed-work>.card{margin:0;border:0;border-top:1px solid #e2e8ee;border-radius:0 0 10px 10px}

.attachment-thumb{position:relative;width:138px;height:96px;border:1px solid #d8e2ea;border-radius:7px;overflow:hidden;background:#fff}.attachment-thumb img{width:100%!important;height:100%!important;object-fit:cover}.attachment-thumb button,.attachment-file button{position:absolute;right:4px;top:4px;width:23px;height:23px;padding:0;border-radius:50%;background:#fff;color:#b43d35;border:1px solid #dfb6b2}.attachment-file{position:relative;display:flex;align-items:center;gap:7px;min-width:190px;max-width:280px;height:54px;padding:8px 34px 8px 9px;border:1px solid #d9e2ea;border-radius:7px;background:#fff}.attachment-file>span,.report-file-badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;background:#edf3f8;color:#305d83;font-size:9px;font-weight:800}.attachment-file b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:1280px){.report-layout-control .layout-list{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:900px){.report-layout-control .layout-list{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:620px){.report-layout-control .layout-list{grid-template-columns:1fr}.edit-lock-banner{align-items:flex-start;flex-direction:column;gap:4px}}

/* ===== v5.1 layout refinements ===== */
.kpi-stage-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:14px;align-items:start;margin-top:14px}.kpi-stage-layout .report-pipeline-chart{margin:0}.kpi-stage-guide{border:1px solid #dfe7ef;border-radius:10px;background:#f8fbfd;padding:13px}.kpi-stage-guide h3{margin:0 0 8px;font-size:15px}.kpi-stage-guide>div{background:#fff;border-left:4px solid #527fa8;border-radius:7px;padding:9px 10px;margin-top:7px}.kpi-stage-guide b{font-size:12px}.kpi-stage-guide p{font-size:11px;line-height:1.55;margin:4px 0 0;color:#637587}.executive-sales.compact .exec-visuals.modern{grid-template-columns:minmax(250px,30%) minmax(250px,30%) minmax(320px,40%)}.executive-sales.compact .donut-card{min-width:0}.executive-sales.compact .donut-copy{min-width:0}.executive-sales.compact .donut-copy strong{font-size:19px;overflow:visible;white-space:normal;word-break:keep-all}.executive-sales.compact .sales-column-card{min-width:0}.report-section>.section-kicker{display:none}.settlement-work{margin-top:16px}.accounting-kpis+.settlement-work{margin-top:18px}.draft-save-note:after{content:' · 새로고침 시 복원';color:#58758e}.history-guard-note{font-size:11px;color:#6d8092}
@media(max-width:980px){.kpi-stage-layout{grid-template-columns:1fr}.executive-sales.compact .exec-visuals.modern{grid-template-columns:1fr 1fr}.executive-sales.compact .sales-column-card{grid-column:1/-1}}


/* ===== v5.2 accounting list ===== */
.accounting-table th:nth-child(2),.accounting-table td:nth-child(2){width:92px;text-align:center}
.accounting-table th:nth-child(9),.accounting-table td:nth-child(9){width:126px;text-align:center}
.accounting-table th:last-child,.accounting-table td:last-child{width:74px;text-align:center}
.accounting-status-cell .pill,.doc-status-cell .pill{font-size:10px;padding:5px 8px}
.accounting-status-cell,.doc-status-cell{white-space:nowrap}
@media(max-width:1100px){.accounting-table{min-width:980px}}

/* v5.3.0 · 주차별 보고 Control Center */
.v53-toolbar{padding:14px 16px}.v53-toolbar .toolbar{margin:0}.v53-toolbar-status{display:flex;flex-direction:column;gap:5px;min-width:150px}.v53-toolbar-status small{color:var(--muted)}
.v53-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.v53-status.gray{background:#eef1f4;color:#687887}.v53-status.orange{background:#fff1dc;color:#995f00}.v53-status.blue{background:#e8f1fb;color:#1e5f9f}.v53-status.green{background:#e3f4ed;color:#14765d}
.v53-section-nav{display:flex;gap:7px;overflow:auto;margin:0 0 18px;padding:2px}.v53-section-nav button{white-space:nowrap}.v53-section-nav button.active{background:#183f63;color:white;border-color:#183f63}
.v53-report-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.v53-report-hero>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.v53-prev{color:#728396}
.v53-main-kpis .stat strong{font-size:21px}.v53-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.v53-section-tile{min-height:128px;text-align:left;padding:17px;border-top:4px solid #4b83bd;display:flex;flex-direction:column;align-items:flex-start}.v53-section-tile.green{border-top-color:#339078}.v53-section-tile.purple{border-top-color:#7569ae}.v53-section-tile.orange{border-top-color:#c4842e}.v53-section-tile.dark{border-top-color:#24415c}.v53-section-tile span{font-weight:800;font-size:13px}.v53-section-tile b{font-size:24px;margin:13px 0 5px;color:#183b5c}.v53-section-tile small{color:var(--muted);line-height:1.45}
.v53-entry-edit{display:block;padding:13px}.v53-entry-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.v53-entry-head span{width:27px;height:27px;border-radius:50%;background:#193d5d;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.v53-entry-head b{flex:1}.v53-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v53-entry-grid .wide{grid-column:1/-1}.v53-carry{border:1px dashed #cbd8e5;border-radius:7px;padding:10px;align-self:end;min-height:42px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.v53-carry small{display:block;width:100%;padding-left:24px;color:var(--muted)}.v53-carried-tag{font-size:10px;color:#8a620d;background:#fff7e9;border-radius:5px;padding:5px 8px;width:max-content;margin-top:7px}
.v53-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v53-mission-card{text-align:left;padding:14px;display:block;width:100%}.v53-mission-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.v53-mission-card p{font-size:11px;margin:8px 0;color:#53687c}.v53-mission-card small{display:block;color:#6f8090;line-height:1.5}.v53-progress{height:8px;background:#e8edf3;border-radius:99px;overflow:hidden;margin-top:11px}.v53-progress i{display:block;height:100%;background:#3f7fb9;border-radius:99px}
.v53-preview-actions{margin-bottom:15px}.v53-final-report{background:#fff;padding:18px;border:1px solid var(--line);border-radius:10px}.v53-final-report .card{box-shadow:none}.v53-final-report .report-section{margin-bottom:22px}
@media(max-width:1250px){.v53-control-grid{grid-template-columns:repeat(2,1fr)}.v53-entry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.v53-report-hero{display:block}.v53-report-hero>div:last-child{align-items:flex-start;margin-top:12px}.v53-control-grid,.v53-mission-grid,.v53-entry-grid{grid-template-columns:1fr}.v53-entry-grid .wide{grid-column:1}.v53-section-nav{position:sticky;top:0;background:#f2f5f8;z-index:4;padding:5px 0}}
@media print{.v53-section-nav,.v53-toolbar,.v53-preview-actions{display:none!important}.v53-final-report{padding:0;border:0}.v53-control-grid{display:none}.v53-status{border:1px solid #aaa;background:white!important;color:black!important}}

/* ===== v5.4.0 · 진행확정 / Mission 3단계 / AI 분석 의견 / 장문 보고서 ===== */
.v54-home-charts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px;margin:14px 0 18px}.v54-home-charts>.card{margin:0}.v54-home-charts .exec-visuals.modern{margin-top:8px}.v54-home-charts .hbar-list{margin-top:12px}
.v54-ai-box{border:1px solid #cfdfee;border-left:5px solid #3978ad;background:linear-gradient(180deg,#fbfdff,#f6f9fc)}.v54-ai-box h2:before{content:'AI';display:inline-flex;align-items:center;justify-content:center;height:22px;min-width:30px;padding:0 6px;margin-right:8px;border-radius:5px;background:#1f5f96;color:#fff;font-size:10px;letter-spacing:.04em;vertical-align:2px}.v54-ai-state{font-size:10px;font-weight:700;color:#60788d;background:#eef4f9;border-radius:999px;padding:6px 9px;white-space:nowrap}.v54-ai-text{min-height:90px;padding:16px 17px;border:1px solid #dce6ee;border-radius:9px;background:#fff;color:#263e54;font-size:13px;line-height:1.85}.v54-ai-text .empty{margin:13px 0}.v54-ai-box .section-head{align-items:flex-start}.v54-ai-box .row-actions{justify-content:flex-end}
.v54-checklist{display:grid;gap:8px}.v54-check-row{display:grid;grid-template-columns:86px minmax(260px,1fr) 150px 155px auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #dfe7ee;border-radius:8px;background:#fbfcfe}.v54-check-row .checkbox{display:flex;align-items:center;gap:6px;margin:0;font-weight:700}.v54-check-row .checkbox input{width:auto;margin:0}.v54-check-row input{margin:0}.v54-check-row button{height:38px}.v54-update-form{margin-bottom:14px}.v54-update-form .wide{grid-column:1/-1}.v54-timeline{position:relative;padding-left:18px}.v54-timeline:before{content:'';position:absolute;left:5px;top:5px;bottom:6px;width:2px;background:#d7e3ed}.v54-timeline article{position:relative;display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;padding:0 0 18px 12px}.v54-timeline article:before{content:'';position:absolute;left:-17px;top:4px;width:9px;height:9px;border-radius:50%;background:#2e75ab;border:3px solid #eaf2f8}.v54-timeline time{font-size:11px;font-weight:800;color:#326b98}.v54-timeline b{font-size:12px}.v54-timeline p{font-size:12px;line-height:1.65;margin:5px 0;color:#4f6477}
.v54-preview-wrap{background:#dfe5eb;border:1px solid #cfd8e1;border-radius:10px;padding:12px;min-height:720px}.v54-report-frame{display:block;width:100%;height:calc(100vh - 210px);min-height:820px;border:0;border-radius:7px;background:#eef2f6}.v53-preview-actions .snapshot-bar{margin:10px 0 0}
.invoice-plan-row select[name^="label_"]{font-weight:700}.accounting-table .warning-text{color:#b16a00;font-weight:800}.accounting-table .negative{color:#c33b35;font-weight:800}
@media(max-width:1180px){.v54-home-charts{grid-template-columns:1fr}.v54-check-row{grid-template-columns:80px 1fr 130px 145px auto}}
@media(max-width:760px){.v54-check-row{grid-template-columns:1fr}.v54-check-row>*{width:100%}.v54-timeline article{grid-template-columns:1fr;gap:4px}.v54-report-frame{min-height:650px;height:75vh}.v54-ai-box .section-head{display:block}.v54-ai-box .row-actions{margin-top:10px;justify-content:flex-start}}

/* v5.4.1 입금내역 정렬 / 수정 UI */
.receipt-table{table-layout:fixed;min-width:900px}
.receipt-table th:nth-child(1),.receipt-table td:nth-child(1){width:18%}
.receipt-table th:nth-child(2),.receipt-table td:nth-child(2){width:17%}
.receipt-table th:nth-child(3),.receipt-table td:nth-child(3){width:22%;text-align:right}
.receipt-table th:nth-child(4),.receipt-table td:nth-child(4){width:28%}
.receipt-table th:nth-child(5),.receipt-table td:nth-child(5){width:15%}
.receipt-table .receipt-amount-cell{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.receipt-table .receipt-memo-cell{word-break:break-word;color:#52677b}
.receipt-table .receipt-actions{white-space:nowrap}
.receipt-table .receipt-actions button+button{margin-left:6px}
.receipt-form-head{margin-top:18px;padding-top:4px}
.receipt-form-grid{grid-template-columns:1fr 1fr 1fr 1fr}
.receipt-auto-hint{margin:10px 0 0;padding:10px 12px;background:#f1f6fb;border-left:3px solid #5a94c9;color:#31506d;font-size:13px}
.receipt-summary{margin-top:14px}
.receipt-mismatch{margin-top:12px}
@media(max-width:1000px){.receipt-form-grid{grid-template-columns:1fr 1fr}.receipt-table{min-width:760px}}

/* ===== v5.4.3 invoice-date sales / provisional sales / drill-down ===== */
.v543-sales-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.v543-sales-kpis .dash-kpi{min-height:132px}.v543-clickable{cursor:pointer;transition:.15s ease}.v543-clickable:hover{transform:translateY(-2px);box-shadow:0 5px 14px #1c3d5d18;border-color:#9fbbd2}.v543-clickable:after{content:'상세 보기';position:absolute;right:11px;top:10px;font-size:9px;color:#7390a8}.v543-breakdown{display:grid!important;grid-template-columns:1fr 1fr;gap:3px 8px;margin-top:8px;padding-top:7px;border-top:1px solid #e7edf3;color:#758698!important}.v543-breakdown b{grid-column:1/-1;font-size:9px;color:#587087}.v543-breakdown em{font-style:normal;font-size:9px;white-space:nowrap}.v543-visuals{grid-template-columns:minmax(210px,.8fr) minmax(210px,.8fr) minmax(460px,1.8fr)!important}.sales-columns.v543-five{grid-template-columns:repeat(5,minmax(0,1fr))}.sales-column-track i.blue{background:#4d86b8}.v543-sales-drill{border-top:4px solid #2d719f}.v543-sales-drill .rpt-table-wrap{overflow:auto}.v543-sales-drill .rpt-table-wrap table{min-width:900px}.v543-drill-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.v543-drill-summary .dash-kpi{min-height:120px}.v543-accounting-month{border-top:4px solid #2d719f}.v543-month-picker{width:180px}.v543-month-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v543-month-kpis>button{position:relative;text-align:left;padding:16px 18px;background:#fff;border:1px solid #dfe7ef;border-top:4px solid #2f9476;border-radius:10px;color:#243449}.v543-month-kpis>button:nth-child(2){border-top-color:#5b82ad}.v543-month-kpis span{display:block;font-size:12px;color:#65788b}.v543-month-kpis strong{display:block;font-size:24px;margin:8px 0 4px}.v543-month-kpis small{display:block;font-size:10px;color:#7b8b99}.v543-accounting-drill{margin-top:14px}.v543-accounting-drill .rpt-table-wrap{overflow:auto}.v543-accounting-drill table{min-width:850px}
@media(max-width:1200px){.v543-sales-kpis{grid-template-columns:repeat(3,1fr)}.v543-visuals{grid-template-columns:1fr 1fr!important}.v543-visuals .sales-column-card{grid-column:1/-1}}
@media(max-width:750px){.v543-sales-kpis,.v543-drill-summary,.v543-month-kpis{grid-template-columns:1fr}.v543-visuals{grid-template-columns:1fr!important}.v543-visuals .sales-column-card{grid-column:auto}.v543-breakdown{grid-template-columns:1fr}}

/* ===== v5.4.4 ===== */
.v544-week-sales{border:1px solid #dce6ef;border-radius:12px;background:#fff;padding:16px 18px;margin-top:14px}
.v544-week-sales .sales-column-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.v544-week-sales .sales-column-title>div{display:flex;flex-direction:column;gap:3px}.v544-week-sales .sales-column-title b{font-size:16px}.v544-week-sales .sales-column-title small,.v544-week-sales .sales-column-title>span{font-size:11px;color:#72859a}
.v544-week-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;align-items:end;min-height:190px}
.v544-week-col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;padding:9px 7px 8px;border:1px solid transparent;border-radius:10px;background:#f9fbfd}
.v544-week-col.current{border-color:#2f78b7;background:#eef6fd;box-shadow:0 0 0 2px rgba(47,120,183,.08)}
.v544-week-value{font-size:13px;font-weight:800;color:#153451;margin-bottom:6px;white-space:nowrap}
.v544-week-track{height:105px;width:58px;background:#edf2f6;border-radius:7px;display:flex;align-items:flex-end;overflow:hidden}
.v544-week-track i{display:block;width:100%;background:#3985bd;border-radius:7px 7px 0 0;min-height:0}
.v544-week-col.current .v544-week-track i{background:#22679e}
.v544-week-col>b{font-size:12px;margin-top:7px}.v544-week-col>small{font-size:10px;color:#778a9b;margin-top:2px;white-space:nowrap}.v544-week-col>em{font-style:normal;font-size:9px;font-weight:800;color:#21679e;background:#dceffd;padding:2px 6px;border-radius:10px;margin-top:5px}
.v544-week-note{margin-top:12px;padding-top:10px;border-top:1px solid #e4ebf1;font-size:10.5px;line-height:1.55;color:#718396}
.v544-report-kpis{margin:12px 0 16px}.v544-resolved-issues{border-left:4px solid #2f9a78}.completed-work-separate{margin-top:18px}
.compact-guide{grid-template-columns:repeat(2,1fr)!important}.mono small{display:block;font-family:inherit;font-size:10px;color:#75889a;margin-top:5px;white-space:normal;line-height:1.35}
.v544-rpt-current{background:#eef6fd;padding:5px 6px;border-radius:5px}.v544-rpt-current>i{background:#d9eaf7}.v544-rpt-current em{background:#22679e!important}
@media(max-width:1200px){.v544-week-bars{grid-template-columns:repeat(3,1fr)}.v543-sales-kpis{grid-template-columns:repeat(3,1fr)!important}}
/* ===== end v5.4.4 ===== */

/* ===== v6.1 · Desktop workspace tabs ===== */
.workspace-tabs{display:flex;align-items:center;gap:6px;min-width:0;padding:8px 18px 7px;border-bottom:1px solid var(--line,#dbe3ea);background:#f6f8fa;position:sticky;top:0;z-index:20}
.workspace-tab-strip{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:1px;flex:1}
.workspace-tab{display:flex;align-items:center;min-width:0;max-width:260px;height:34px;border:1px solid #d8e1e9;border-radius:8px;background:#fff;color:#526579;box-shadow:0 1px 2px rgba(20,45,70,.04)}
.workspace-tab.active{border-color:#7ba4c6;background:#edf5fb;color:#173d5d;box-shadow:0 0 0 2px rgba(47,120,183,.08)}
.workspace-tab-main{display:flex;align-items:center;min-width:0;max-width:225px;height:32px;padding:0 9px;border:0!important;background:transparent!important;color:inherit!important;font-size:11px;font-weight:750;box-shadow:none!important}
.workspace-tab-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-tab-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;margin-right:2px;border:0!important;border-radius:6px!important;background:transparent!important;color:#8091a0!important;font-size:17px;line-height:1;box-shadow:none!important}
.workspace-tab-close:hover{background:#dce8f1!important;color:#234f70!important}
.workspace-tab-more{flex:0 0 34px;height:34px;padding:0!important;border:1px solid #d8e1e9!important;border-radius:8px!important;background:#fff!important;color:#4d6a82!important;font-size:19px!important;line-height:1!important}
.workspace-tabs+.card{margin-top:14px}
@media(max-width:900px){.workspace-tabs{padding-left:10px;padding-right:10px}.workspace-tab{max-width:200px}.workspace-tab-main{max-width:168px}}
@media print{.workspace-tabs{display:none!important}}
/* ===== end v6.1 ===== */

.ai-provider-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.ai-provider-guide>div{border:1px solid var(--line,#d9e0e7);border-radius:12px;padding:14px;background:#f8fafc}.ai-provider-guide b{display:block;margin-bottom:6px}.ai-provider-guide p{margin:0;line-height:1.55;color:#58697a;font-size:13px}@media(max-width:900px){.ai-provider-guide{grid-template-columns:1fr}}

/* v6.2.0 */
.inline-stage-select{min-width:112px;width:auto;padding:6px 28px 6px 9px;font-weight:700;border-radius:7px;border:1px solid #cfd9e3;background:#fff;color:#243b53}
.inline-stage-select:focus{outline:2px solid #7aa7ce;outline-offset:1px}
.as-hero{margin-bottom:14px}.as-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.as-issue-editor{border-top:4px solid #386f9f}.as-resolved-row{opacity:.78;background:#fafcfd}.as-resolved-row td{color:#627487}.site-issue-row label textarea{min-height:72px}
@media(max-width:1100px){.as-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-stage-select{min-width:100px}}

/* v6.2.3: preserve user-entered line breaks across list/detail/report views */
.user-text,.memo-text,.summary-line,.notice,.note,.report-notes p,.site-issue-detail,.site-issue-action,.as-issue-editor td,.as-issue-editor small{white-space:pre-line;overflow-wrap:break-word;word-break:normal;line-height:1.6}
td small{white-space:pre-line;line-height:1.55}


/* v6.3.1 hotfix: 본부장 종합보고 저장 항목 접기 UI */
.v631-compact-tools{display:flex;justify-content:flex-end;gap:7px;margin:-2px 0 10px}
.v631-compact-tools button{padding:6px 10px;font-size:10px}
.v631-collapsible-entry{display:block!important;padding:0!important;overflow:hidden;background:#fbfcfe}
.v631-collapsible-entry>summary{list-style:none;cursor:pointer;user-select:none}
.v631-collapsible-entry>summary::-webkit-details-marker{display:none}
.v631-entry-summary{display:grid;grid-template-columns:20px 28px minmax(180px,1fr) auto;align-items:center;gap:8px;padding:11px 13px;min-height:48px;background:#fbfcfe}
.v631-entry-summary:hover{background:#f3f7fb}
.v631-entry-summary b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v631-entry-summary small{font-size:10px;color:var(--muted);white-space:nowrap}
.v631-chevron{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#315b7d;font-size:17px;font-weight:800;transition:transform .15s ease}
.v631-chevron:before{content:'›'}
.v631-collapsible-entry[open] .v631-chevron{transform:rotate(90deg)}
.v631-entry-no{width:25px;height:25px;border-radius:50%;background:#193d5d;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.v631-entry-body{border-top:1px solid #e4eaf0;padding:12px 13px 13px}
.v631-entry-actionbar{display:flex;justify-content:flex-end;margin-bottom:8px}
.v631-entry-actionbar:empty{display:none}
@media(max-width:900px){.v631-entry-summary{grid-template-columns:20px 28px 1fr}.v631-entry-summary small{grid-column:3;white-space:normal}}


/* v6.3.2 보고 항목 안정화 */
.v632-tools{display:flex;gap:8px;margin:0 0 10px}.v632-entry-list{display:grid;gap:9px}.v632-entry{border:1px solid #dbe5ee;border-radius:10px;background:#fff;overflow:hidden}.v632-entry[open]{box-shadow:0 3px 14px rgba(26,57,83,.07)}.v632-entry-summary{display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none;background:#f8fafc}.v632-entry-summary::-webkit-details-marker{display:none}.v632-entry-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v632-entry-summary small{color:#748595}.v632-no{font-weight:900;color:#2d648f}.v632-drag{cursor:grab;font-size:17px;color:#60788d;padding:2px 5px}.v632-drag:active{cursor:grabbing}.v632-entry-body{padding:14px;border-top:1px solid #e2e9ef}.v632-save-state{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px}.v632-save-state.saved{background:#e9f6ef;color:#287451}.v632-save-state.dirty{background:#fff1db;color:#9b641f}.v632-entry.is-dirty>.v632-entry-summary{background:#fffaf1}.v53-section-tile.red{border-top-color:#bd5555}.v53-section-tile.red b{color:#a74747}


/* ===== v6.4.0 외부접속 / 임원 뷰어 ===== */
.vsion-access-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#102b44,#214e74)}
.vsion-access-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px #081a2c55}
.vsion-access-brand{font-size:27px;font-weight:900;letter-spacing:2px;color:#153b5b}.vsion-access-brand span{display:block;font-size:9px;letter-spacing:1.8px;color:#7090aa;margin-top:5px}
.vsion-access-card h1{font-size:24px;margin:24px 0 7px}.vsion-access-card>p{font-size:12px;line-height:1.7;color:#64788b;margin:0 0 20px}
.vsion-access-card form{display:grid;gap:13px}.vsion-access-card form button{margin-top:5px;padding:12px}.vsion-access-note{margin-top:18px;padding-top:14px;border-top:1px solid #e5ebf0;color:#7c8c9b;font-size:10px;line-height:1.7}
.vsion-access-user{font-size:10px;color:#5f7386;white-space:nowrap;padding:0 4px}
.vsion-exec-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:13px}.vsion-exec-toolbar label{min-width:min(520px,60%)}.vsion-exec-toolbar>div{text-align:right}.vsion-exec-toolbar b{display:block;font-size:13px}.vsion-exec-toolbar small{display:block;margin-top:4px;color:#7c8c9a}
.vsion-exec-frame-wrap{background:#dfe6ec;border:1px solid #d0dae3;border-radius:12px;overflow:hidden}.vsion-exec-frame-wrap iframe{display:block;width:100%;height:calc(100vh - 205px);min-height:650px;border:0;background:#edf2f6}.vsion-exec-gate{max-width:520px;margin:70px auto}.vsion-exec-gate form{display:grid;gap:12px}
/* 사진은 칸 너비가 아니라 높이를 기준으로 원본 비율 유지 */
.rpt-images{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:8px!important}.rpt-images img{height:260px!important;width:auto!important;max-width:100%!important;object-fit:contain!important;background:#fff}
@media(max-width:900px){body.vsion-role-head aside{position:static;width:auto;padding:11px 12px}body.vsion-role-head aside .brand{display:none}body.vsion-role-head aside .nav{display:flex;overflow-x:auto}body.vsion-role-head aside .nav button{white-space:nowrap;padding:9px 12px}body.vsion-role-head aside .aside-note{display:none}body.vsion-role-head main{margin-left:0;padding:14px}body.vsion-role-head header{margin-bottom:12px;align-items:flex-start}body.vsion-role-head .header-tools{max-width:none;justify-content:flex-end}body.vsion-role-head .v53-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vsion-role-head .v543-sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vsion-role-head .v632-entry-summary{grid-template-columns:auto auto minmax(0,1fr) auto!important}.vsion-exec-toolbar{align-items:stretch;flex-direction:column}.vsion-exec-toolbar label{min-width:0}.vsion-exec-toolbar>div{text-align:left}.vsion-exec-frame-wrap iframe{height:calc(100vh - 250px);min-height:560px}}
@media(max-width:600px){.vsion-access-card{padding:23px 19px;border-radius:14px}.vsion-exec-viewer aside{position:static;width:auto;padding:12px}.vsion-exec-viewer aside .brand,.vsion-exec-viewer aside .aside-note{display:none}.vsion-exec-viewer aside .nav{display:flex}.vsion-exec-viewer main{margin:0;padding:10px}.vsion-exec-viewer header{margin-bottom:10px;display:block}.vsion-exec-viewer header h1{font-size:21px}.vsion-exec-viewer .header-tools{margin-top:10px;max-width:none;display:flex;gap:6px}.vsion-exec-viewer .header-tools button{padding:7px 8px;font-size:10px}.vsion-access-user{flex:1}.vsion-exec-frame-wrap iframe{height:calc(100vh - 245px);min-height:520px}body.vsion-role-head .v53-control-grid,body.vsion-role-head .v543-sales-kpis{grid-template-columns:1fr!important}body.vsion-role-head .toolbar{display:grid;grid-template-columns:1fr 1fr}body.vsion-role-head .toolbar label,body.vsion-role-head .toolbar button{min-width:0;width:100%}.rpt-images img{height:190px!important}}
/* ===== end v6.4.0 ===== */

/* ===== v6.5.0 VSION SOM / executive confirmation & mobile dashboard ===== */
.v650-ceo-confirm{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.v650-ceo-confirm small{font-size:9px;font-weight:600;opacity:.78}
.v650-ceo-confirm.done{background:#e7f5ee;color:#187558}
.v650-ceo-confirm.pending{background:#fff2dd;color:#9a620d}
.v650-ceo-confirm.none{background:#f1f4f7;color:#7c8994}
.v650-preview-confirm{display:flex;align-items:center;gap:6px;font-size:10px;color:#66788a}
.vsion-exec-report-meta{display:flex;flex-direction:column;gap:2px;min-width:210px}
.vsion-confirm-state{display:inline-flex;width:max-content;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;margin-top:3px}
.vsion-confirm-state.done{background:#e7f5ee;color:#187558}.vsion-confirm-state.pending{background:#fff2dd;color:#9a620d}
.vsion-confirm-btn[disabled]{opacity:.65;cursor:default}
.vsion-exec-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.vsion-exec-summary-head h2{margin:0;font-size:24px}.vsion-exec-summary-head p{margin:5px 0 0;color:#718194;font-size:11px}
.vsion-exec-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.vsion-exec-kpis>div{border:1px solid #dce4eb;background:#fff;border-radius:10px;padding:13px}.vsion-exec-kpis small{display:block;color:#758598;font-size:10px;margin-bottom:6px}.vsion-exec-kpis b{font-size:18px;color:#173a5b;word-break:keep-all}
.vsion-exec-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vsion-exec-data-grid .span2{grid-column:1/-1}.vsion-exec-table-wrap{overflow:auto}.vsion-exec-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.vsion-exec-table-wrap th,.vsion-exec-table-wrap td{padding:8px 7px;border-bottom:1px solid #e5ebf0;font-size:10px;text-align:left;vertical-align:top}.vsion-exec-table-wrap th{color:#63768a;background:#f7f9fb;position:sticky;top:0}.vsion-exec-table-wrap td small{display:block;color:#8392a0;margin-top:2px}.vsion-exec-table-wrap .num{text-align:right;white-space:nowrap}
@media(max-width:1000px){.vsion-exec-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.vsion-exec-data-grid{grid-template-columns:1fr}.vsion-exec-data-grid .span2{grid-column:auto}}
@media(max-width:600px){.vsion-exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vsion-exec-kpis>div:last-child{grid-column:1/-1}.vsion-exec-summary-head{align-items:flex-start}.vsion-exec-summary-head h2{font-size:20px}.vsion-exec-toolbar .vsion-confirm-btn{width:100%}.vsion-exec-report-meta{min-width:0}.v650-preview-confirm{width:100%}.vsion-exec-table-wrap table{min-width:560px}}
/* ===== end v6.5.0 ===== */

/* ===== v6.6.0 weekly department opinions / report draft ===== */
.v660-weekly-opinion-list{display:grid;gap:10px}.v660-weekly-opinion{border:1px solid #dfe7ef;border-left:4px solid #2e74ad;border-radius:7px;background:#f8fafc;padding:12px 14px}.v660-weekly-opinion>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.v660-weekly-opinion b{font-size:13px}.v660-weekly-opinion small{font-size:10px;color:#73859a}.v660-weekly-opinion p{white-space:pre-wrap;line-height:1.7;margin:8px 0 0;font-size:12px;color:#31475d}@media(max-width:650px){.v660-weekly-opinion>div{align-items:flex-start;flex-direction:column;gap:3px}}
