*{box-sizing:border-box}:root{--p:#5368df;--soft:#eef1ff;--ink:#202938;--muted:#738096;--line:#e2e6ee;--bg:#f5f7fb;--green:#168a62;--red:#d94b5b}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Malgun Gothic",sans-serif;background:var(--bg);color:var(--ink)}.hidden{display:none!important}button,input{font:inherit}button{cursor:pointer}.topbar{background:linear-gradient(120deg,#465bd0,#7181ea);color:#fff}.topbar-inner{max-width:1200px;margin:auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;opacity:.7}.topbar h1{margin:2px 0;font-size:21px}.ghost{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:8px;padding:8px 12px}.tabs{display:flex;justify-content:center;background:#fff;border-bottom:1px solid var(--line)}.tab{border:0;background:none;padding:15px 28px;font-weight:800;color:#7c8697;border-bottom:3px solid transparent}.tab.active{color:var(--p);border-color:var(--p)}.container{max-width:1200px;margin:auto;padding:28px 24px 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.page-head h2{margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:8px}input{border:1px solid #d9dfe8;border-radius:8px;padding:9px 10px;background:#fff}.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.guide>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.guide b{color:var(--p);margin-right:8px}.guide span{font-weight:800;font-size:13px}.guide small{display:block;color:var(--muted);margin:4px 0 0 27px}.dept-card{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:14px;overflow:hidden}.dept-title{padding:13px 16px;background:linear-gradient(90deg,#fafbff,#f1f3ff);border-bottom:1px solid var(--line)}.dept-title h3{margin:0}.dept-body{padding:15px}.dept-input-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.input-panel{border:1px solid var(--line);border-radius:11px;padding:12px}.section-label{font-weight:900;font-size:13px;margin-bottom:9px}.num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--soft);color:var(--p);font-size:11px;margin-right:5px}.hint{font-weight:500;color:#8a94a5;font-size:10px}.denom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.denom{background:#fafbfe;border:1px solid var(--line);border-radius:8px;padding:7px}.denom label{font-size:10px;color:#657087;font-weight:700}.denom input{width:100%;text-align:right;margin-top:4px}.calc{font-size:9px;color:#99a1ae;text-align:right;margin-top:3px}.section-total,.written-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:9px;padding:9px;background:#f7f8fb;border-radius:8px;font-size:11px}.section-total strong,.written-total strong{font-size:16px}.category-table,.report-table{width:100%;border-collapse:collapse}.category-table th,.category-table td,.report-table th,.report-table td{border:1px solid var(--line);padding:7px 8px}.category-table th,.report-table th{background:#f4f6fb;font-size:11px}.category-table input{width:100%;text-align:right}.compare{margin-top:12px;padding:11px;border-radius:9px;background:#f7f8fb;display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:12px}.compare .label{margin-right:auto}.compare.ok{background:#eaf8f2}.compare.bad{background:#fff0f2}.status{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900}.status.ok{background:#dff4e9;color:var(--green)}.status.bad{background:#ffe2e6;color:var(--red)}.status.neutral{background:#edf0f3;color:#7b8492}.bottom-bar{position:sticky;bottom:12px;background:#fffffff2;border:1px solid var(--line);border-radius:13px;padding:11px;display:flex;gap:12px;box-shadow:0 8px 25px #25305a1a}.grand-box{display:grid;grid-template-columns:repeat(3,1fr);flex:1;gap:12px}.grand-box div{display:flex;gap:8px;align-items:center}.grand-box span{font-size:10px;color:var(--muted)}.primary{border:0;border-radius:8px;background:var(--p);color:#fff;font-weight:800;padding:10px 14px}.secondary{border:1px solid #d7ddea;background:#fff;color:#536073;border-radius:8px;padding:8px 10px;font-weight:700}.history-list{display:grid;gap:10px}.history-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:140px 1fr auto;gap:14px;align-items:center}.history-item .date{font-weight:900}.history-item small{color:var(--muted);line-height:1.55}.amount{font-size:18px;font-weight:900}.actions{display:flex;gap:6px;flex-wrap:wrap}.empty{background:#fff;border:1px dashed #cbd3df;border-radius:12px;padding:45px;text-align:center;color:var(--muted)}.month-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}.summary-card small{display:block;color:var(--muted)}.summary-card strong{font-size:14px}.report-wrap{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.report-title{text-align:center;margin-bottom:13px}.report-title h3{margin:0}.report-title p{margin:4px;color:var(--muted);font-size:11px}.report-table td:not(:first-child),.report-table th:not(:first-child){text-align:right}.report-table .total,.report-table tfoot{background:var(--soft);font-weight:900}.report-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef1ff,#f8f9fc)}.login-card{width:380px;max-width:calc(100% - 32px);background:#fff;border:1px solid var(--line);border-radius:17px;padding:32px;box-shadow:0 15px 40px #27336a1a}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--soft);color:var(--p);border-radius:12px;font-weight:900}.login-card p{color:var(--muted);font-size:13px}.login-card input,.wide{width:100%;margin-bottom:8px}.error{color:var(--red);font-size:12px}.saved-toast{position:fixed;right:20px;bottom:20px;background:#202938;color:#fff;padding:11px 15px;border-radius:9px;z-index:1000}@media(max-width:850px){.dept-input-columns{grid-template-columns:1fr}.guide{grid-template-columns:1fr}.history-item{grid-template-columns:1fr}.month-summary{grid-template-columns:repeat(2,1fr)}.grand-box{grid-template-columns:1fr}.bottom-bar{flex-direction:column}}@media(max-width:520px){.denom-grid{grid-template-columns:repeat(2,1fr)}.container{padding:18px 10px 60px}.page-head{align-items:stretch;flex-direction:column}}
/* V8 usability + report redesign */
.dept-title{display:flex;align-items:center;justify-content:space-between}.dept-mini-total{font-size:11px;color:var(--muted);font-weight:800}.week-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 3px 12px #25305a0a}.week-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.week-date{font-size:17px;font-weight:900}.week-event{display:inline-block;margin-top:4px;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--p);font-size:10px;font-weight:800}.week-total{text-align:right}.week-total small{display:block;color:var(--muted);font-size:10px}.week-total strong{display:block;margin-top:2px;font-size:21px}.week-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:13px 0}.week-cats>div{background:#f8f9fc;border:1px solid #edf0f5;border-radius:8px;padding:8px}.week-cats span{display:block;color:var(--muted);font-size:9px}.week-cats b{display:block;margin-top:3px;font-size:12px}.week-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #eef0f4}.danger{border:1px solid #f0c9cf;background:#fff6f7;color:#c74252;border-radius:8px;padding:8px 10px;font-weight:700}.monthly-hero{display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(120deg,#163d58,#34566b);color:#fff;border-radius:14px;padding:18px 20px;margin-bottom:10px}.monthly-hero span{font-size:9px;letter-spacing:.15em;color:#bcd8e3;font-weight:900}.monthly-hero h3{margin:3px 0 2px;font-size:19px}.monthly-hero small{color:#c8d8df}.monthly-hero>strong{font-size:25px}.report-title{display:flex;text-align:left;align-items:center;justify-content:space-between;gap:12px}.report-title span{font-size:9px;color:var(--p);font-weight:900}.report-title h3{margin:2px 0 0}.month-summary .summary-card{border-top:3px solid #167b78}.report-table tbody tr:hover{background:#fafbff}.report-table tfoot th,.report-table tfoot td{background:#e9eef8!important;color:#253b54}.head-actions input#eventInput{min-width:210px}
@media(max-width:700px){.week-cats{grid-template-columns:repeat(2,1fr)}.monthly-hero{align-items:flex-start;flex-direction:column;gap:8px}.report-title{align-items:flex-start;flex-direction:column}.report-actions{width:100%;justify-content:flex-start}}
/* V9 unified visual system: report + admin UI */
:root{--p:#173f58;--p2:#365d70;--accent:#16817b;--soft:#edf5f3;--ink:#20313a;--muted:#71838c;--line:#dce4e7;--bg:#f2f6f6;--green:#168a62;--red:#d94b5b}
body{background:var(--bg);color:var(--ink)}
.topbar{background:linear-gradient(120deg,#173f58,#365d70)}
.tabs{box-shadow:0 1px 0 #dce4e7}.tab.active{color:var(--accent);border-color:var(--accent)}
.primary{background:var(--p)}.primary:hover{background:#12364d}.brand-mark,.num{background:var(--soft);color:var(--accent)}
.login-wrap{background:linear-gradient(135deg,#edf4f3,#f8faf9)}
.page-head h2{letter-spacing:-.03em}.page-head p{color:var(--muted)}
.guide>div{border-color:var(--line);box-shadow:0 2px 8px #173f5808}.guide b{color:var(--accent)}
.dept-card{border-color:var(--line);box-shadow:0 3px 12px #173f5808}.dept-title{background:#edf5f3;border-bottom-color:#d9e6e3}.dept-title h3{color:#173f58}.dept-mini-total{color:#365d70}
.input-panel{border-color:#dce4e7}.denom{background:#f8faf9;border-color:#e2e9e8}.section-total,.written-total{background:#f3f7f6}.category-table th{background:#f2f6f5;color:#5f737b}
.compare{border:1px solid #e1e7e8}.bottom-bar{border-color:#d7e1e3}.week-event{background:#e8f4f1;color:#167b78}.week-cats>div{background:#f7faf9;border-color:#e5eceb}.month-summary .summary-card{border-top-color:#16817b}.monthly-hero{background:linear-gradient(120deg,#173f58,#365d70)}
.report-wrap{border-color:#dce4e7}.report-table th{background:#eef4f5;color:#566d77}.report-table tfoot th,.report-table tfoot td{background:#e7f0ef!important;color:#173f58}

/* V11 event selector */
button,input,select{font:inherit}select{border:1px solid #d9dfe8;border-radius:8px;padding:9px 34px 9px 10px;background:#fff;color:var(--ink)}
.event-picker{display:flex;gap:8px;align-items:center}.event-picker select{min-width:150px}.event-picker #customEventInput{min-width:180px}.head-actions{align-items:center}
@media(max-width:520px){.event-picker{width:100%;flex-wrap:wrap}.event-picker select,.event-picker #customEventInput{flex:1;min-width:145px}}

/* V12 — faster data entry */
.dept-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.dept-title small{display:block;margin-top:3px;color:#82909a;font-size:10px}.dept-mini-total{font-size:17px;font-weight:900;color:#173f58}.entry-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:14px}.entry-section{border:1px solid #d9e2e4;border-radius:12px;padding:13px;background:#fff}.section-label{display:flex;align-items:center;gap:5px}.section-label>div{display:flex;align-items:baseline;gap:7px}.section-label small{font-size:9px;color:#8b969e;font-weight:500}.denom-table{display:grid;grid-template-columns:1fr 1fr;gap:6px}.denom-row{display:grid;grid-template-columns:64px 12px minmax(52px,1fr) 18px 78px;align-items:center;gap:4px;padding:7px 8px;border:1px solid #e4e9eb;border-radius:8px;background:#fafcfc}.denom-name{font-size:11px;font-weight:800;color:#42535d}.denom-times,.denom-unit{font-size:10px;color:#89969d;text-align:center}.denom-row input{width:100%;height:34px;padding:5px 7px;text-align:center;font-size:14px;font-weight:800;background:#fff}.denom-row .calc{font-size:10px;text-align:right;color:#5f7079}.category-inputs{display:grid;gap:6px}.category-row{display:grid;grid-template-columns:1fr minmax(150px,48%);align-items:center;gap:10px;min-height:42px;padding:5px 8px;border-bottom:1px solid #edf1f2}.category-row:last-child{border-bottom:0}.category-row>span{font-size:12px;font-weight:800;color:#42535d}.money-input{display:grid;grid-template-columns:1fr 20px;align-items:center;border:1px solid #d9dfe3;border-radius:8px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:#16817b;box-shadow:0 0 0 3px #16817b14}.money-input input{width:100%;border:0!important;box-shadow:none!important;text-align:right;font-size:14px;font-weight:800;padding:8px 5px 8px 9px}.money-input em{font-style:normal;color:#89949b;font-size:10px}.section-total,.written-total{margin-top:10px;background:#f2f7f6;border:1px solid #e0e9e7;justify-content:space-between}.compare{display:grid;grid-template-columns:auto 1fr auto auto;justify-content:initial}.compare-title{font-size:10px;font-weight:900;color:#60737c}.compare .label{margin-right:0}.bottom-bar{border-color:#d7e2e2}.primary{background:#173f58}.primary:hover{background:#0f344b}.tab.active{color:#16817b;border-color:#16817b}.num{background:#e7f4f1;color:#16817b}.topbar{background:linear-gradient(120deg,#173f58,#236b72)}
@media(max-width:900px){.entry-grid{grid-template-columns:1fr}.denom-table{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.denom-table{grid-template-columns:1fr}.category-row{grid-template-columns:1fr 55%}.compare{grid-template-columns:1fr auto}.compare-title,.compare .label{grid-column:1/-1}}

/* V14 — alignment and report/monthly redesign */
.page-head{align-items:center}
.head-actions{align-items:center}
.monthly-dashboard{display:grid;gap:14px}
.monthly-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;border-top:4px solid #173f58}
.monthly-head .kicker{display:block;color:#16817b;font-size:9px;letter-spacing:.14em;font-weight:900;margin-bottom:4px}
.monthly-head h3{margin:0;color:#173f58;font-size:21px;letter-spacing:-.035em}
.monthly-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.monthly-grand{text-align:right}
.monthly-grand small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}
.monthly-grand strong{font-size:26px;color:#173f58;letter-spacing:-.03em}
.clean-summary{margin:0;grid-template-columns:repeat(5,1fr);gap:8px}
.clean-summary .summary-card{padding:12px 13px;border-top:0;border-left:3px solid #dce9e7;background:#fff}
.clean-summary .summary-card small{font-size:10px}
.clean-summary .summary-card strong{display:block;margin-top:4px;text-align:right;font-size:15px;color:#173f58;font-variant-numeric:tabular-nums}
.monthly-table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.monthly-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e4eaec}
.monthly-table-head span{font-size:9px;color:#16817b;font-weight:900}
.monthly-table-head h4{margin:2px 0 0;font-size:16px;color:#243f4c}
.table-scroll{overflow-x:auto}
.monthly-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:780px;font-variant-numeric:tabular-nums}
.monthly-table th,.monthly-table td{padding:14px 12px;border-bottom:1px solid #e7edef}
.monthly-table thead th{background:#f0f6f5;color:#5b7079;font-size:11px;text-align:right;font-weight:900}
.monthly-table thead th:first-child{width:120px;text-align:left}
.monthly-table tbody th{text-align:left;color:#214b56;font-size:13px;font-weight:900}
.monthly-table tbody td{text-align:right;color:#344a54;font-size:12px;font-weight:700}
.monthly-table tbody .row-total{background:#f8fafb;color:#173f58;font-weight:900}
.monthly-table tbody tr:last-child th,.monthly-table tbody tr:last-child td{border-bottom:0}
.monthly-table tbody tr:hover{background:#fbfdfd}
.report-actions{align-items:center}
.week-cats b,.week-total strong,.summary-card strong,.amount{font-variant-numeric:tabular-nums}
@media(max-width:760px){
  .monthly-head{grid-template-columns:1fr;align-items:start}
  .monthly-grand{text-align:left}
  .clean-summary{grid-template-columns:repeat(2,1fr)}
  .monthly-table-head{align-items:flex-start;flex-direction:column}
}

/* V15: 작성 헌금은 왼쪽, 권종 계수는 오른쪽 */
@media(min-width:901px){
  .entry-grid{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)}
}

/* V19 alignment standard */
.monthly-table thead th{
  text-align:center !important;
  vertical-align:middle;
}
.monthly-table thead th:first-child{
  text-align:center !important;
}
.monthly-table tbody th{
  text-align:center !important;
  vertical-align:middle;
}
.monthly-table tbody td{
  text-align:right !important;
  vertical-align:middle;
}
.monthly-table tbody .row-total{
  text-align:right !important;
}

.history-item .date{font-variant-numeric:tabular-nums}
.history-item .amount{text-align:right;font-variant-numeric:tabular-nums}
.monthly-grand strong,.clean-summary strong{font-variant-numeric:tabular-nums}

/* V21 full consistency audit */
.monthly-table th,.monthly-table td{font-variant-numeric:tabular-nums;vertical-align:middle}
.monthly-table thead th,.monthly-table tbody th{text-align:center !important}
.monthly-table tbody td{text-align:right !important}
.monthly-table tbody tr:nth-child(even){background:#fbfcfc}
.monthly-table tbody tr:hover{background:#f4f9f8}

/* V23: weekly/monthly screen system */
.weekly-dashboard,.monthly-dashboard{display:grid;gap:14px}
.records-head,.monthly-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;border-top:4px solid #173f58}
.records-head .kicker,.monthly-head .kicker{display:block;color:#16817b;font-size:9px;letter-spacing:.14em;font-weight:900;margin-bottom:4px}
.records-head h3,.monthly-head h3{margin:0;color:#173f58;font-size:21px;letter-spacing:-.035em}
.records-head p,.monthly-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.records-count,.monthly-grand{text-align:right}.records-count small,.monthly-grand small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.records-count strong,.monthly-grand strong{font-size:26px;color:#173f58;letter-spacing:-.03em}
.weekly-record-list{display:grid;gap:12px}.week-card{border-top:3px solid #dce9e7;box-shadow:none}.week-total strong{color:#173f58}.week-cats>div{min-width:0}.fallback-chip{border-color:#eadcb4!important;background:#fffaf0!important}.fallback-chip span,.fallback-chip b{color:#775f25!important}.fallback-summary{border-left-color:#d5b75f!important;background:#fffaf0!important}
@media(max-width:760px){.records-head,.monthly-head{grid-template-columns:1fr;align-items:start}.records-count,.monthly-grand{text-align:left}}

/* V25 — table typography consistency */
.monthly-table thead th{
  font-size:13px !important;
  font-weight:900 !important;
  color:#405b67 !important;
}
.monthly-table tbody th{
  font-size:14px !important;
  font-weight:900 !important;
  color:#173f58 !important;
}
.monthly-table tbody td{
  font-size:13px !important;
}
.category-table th{
  font-size:13px !important;
  font-weight:900 !important;
}
.category-table td{
  font-size:13px;
}
.week-cats span{
  font-size:11px;
  font-weight:800;
}
