/* ============================================================
   소방넷 styles-2026.css · 2단계 · 시각 언어 (선택 적용)
   ------------------------------------------------------------
   1단계가 안정된 뒤에만 적용하세요.
   index.html 의 <link> 한 줄을 지우면 즉시 1단계 상태로 돌아갑니다.

     <link rel="stylesheet" href="/assets/styles-2026.css">

   [ 이 파일이 바꾸는 것 ]
   · 회색 캔버스 폐지 → 흰 배경 + 10px 틴트 띠
   · 카드 테두리 제거 → 20px 인셋 구분선
   · 버튼 · 배지 · 입력 · 액션 블록 재정의
   · 빨강 사용을 마감·지연으로 제한
   · 터치 타깃 44px 보증
   ============================================================ */
/* ---- 2. 회색 캔버스 폐지 → 흰 배경 ---- */
body,.page,.admin-page,.customer-page{background:var(--bg-canvas)}
.section,.partner-section{background:var(--bg-canvas)}

/* 섹션 사이는 10px 틴트 띠로 나눈다 */
.section + .section,.partner-section + .partner-section{
  margin-top:0;padding-top:var(--section-gap);
  border-top:var(--band) solid var(--bg-tint);
}

/* ---- 3. 카드 테두리 제거 → 20px 인셋 구분선 ---- */
.quote-card,.card{
  border:0;border-radius:0;background:var(--bg-canvas);
  padding:18px var(--screen-x);margin-top:0;position:relative;
}
.quote-card + .quote-card::before,.card + .card::before{
  content:"";position:absolute;left:var(--screen-x);right:var(--screen-x);
  top:0;height:1px;background:var(--divider);
}
.quote-card.urgent,.card.urgent{background:var(--red-tint);border-left:0}

/* 강조가 필요한 카드만 실제 카드로 */
.fee-card,.month-card,.wait-hero,.provider-verify-card,.result-card,
.management-card,.card.soft,.msg-card,.change-card{
  border-radius:var(--r-card);padding:var(--card-pad-lg);
  margin:var(--card-gap) var(--screen-x);width:auto;
}
.card.soft{background:var(--bg-tint);border:0}
.fee-card,.month-card,.wait-hero{background:var(--ink);color:#fff;border:0}

/* ---- 5. 버튼 ---- */
.btn{
  min-height:var(--btn-h);border-radius:var(--r-btn);
  background:var(--bg-tint);border:0;color:var(--ink);font-weight:600;
  font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);
}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:active{background:#000}
.btn.line{background:var(--bg-tint);border:0;color:var(--ink)}
.btn.line:active{background:#ECEEF2}
.btn.danger{background:var(--red);color:#fff;border:0}
.btn[disabled],.btn.disabled{background:var(--disabled-bg);color:var(--disabled-text)}
.btn.compact-btn{min-height:var(--btn-h-sm);border-radius:var(--r-badge)}
.linkbtn,.contact-link,.cost-guide-link,.faq-story-link{color:var(--navy);font-weight:600}

/* ---- 6. 행동 유도 = 틴트 블록 ---- */
.request-next-action,.next-action-copy,.building-next-action{
  background:var(--bg-tint);border-radius:var(--r-action);
  padding:13px 16px;margin-top:14px;
}
.request-next-action > span,.next-action-copy > span{
  color:var(--ink-sub);font-size:var(--fs-caption);letter-spacing:var(--ls-caption);
}

/* ---- 7. 배지 ---- */
.pill{
  height:24px;padding:3px 8px;border-radius:var(--r-badge);
  background:var(--bg-tint);color:var(--ink-sub);font-weight:600;
}
.pill.success{background:var(--green-tint);color:var(--green)}
.pill.warn{background:var(--red-tint);color:var(--red)}
.pill.gray{background:var(--bg-tint);color:var(--ink-sub)}

/* ---- 8. 입력 ---- */
.field input,.field select,.field textarea,.search-row input{
  background:var(--bg-tint);border:0;border-radius:var(--r-input);
  font-size:var(--fs-body);letter-spacing:var(--ls-body);color:var(--ink);
}
.field input:focus,.search-row input:focus{outline:2px solid var(--ink);outline-offset:-2px}

/* ---- 9. 빨강 사용 제한 ---- */
/* red-tint 위에서는 19px 이상 굵은 글자에만 red 허용 (실측 4.29:1) */
.urgent .helper,.urgent .small,.urgent .address,.urgent .row-meta{color:var(--ink-sub)}
.urgent .dday,.dday.alert{color:var(--red)}

/* ---- 10. 터치 타깃 ---- */
.navitem,.msg-option,.choice,.chip-check,.addr-result,
.quote-card,.request-next-action{min-height:44px}
.navitem.on{color:var(--ink)}
.navitem{color:var(--ink-muted)}

/* ---- 11. 하단 내비 ---- */
.bottomnav{background:var(--bg-canvas);border-top:1px solid var(--divider)}

.approval-date-review{display:grid;gap:10px;margin-top:12px;padding:14px 16px;border-radius:var(--r-action);background:var(--bg-tint)}
.approval-date-review .field{margin:0}.approval-date-review .btn{width:100%}

.admin-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px}
.admin-summary-strip>div{display:grid;gap:3px;min-width:0;padding:12px;border-radius:var(--r-action);background:var(--bg-tint)}
.admin-summary-strip span{font-size:var(--fs-caption);color:var(--ink-sub)}
.admin-summary-strip b{font-variant-numeric:tabular-nums;color:var(--ink)}
.admin-summary-strip .hot b{color:var(--red)}
.admin-request-card>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px var(--screen-x);cursor:pointer}
.admin-request-card>summary::-webkit-details-marker{display:none}
.admin-request-summary-main{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 9px;align-items:center;min-width:0}
.admin-request-summary-main>b{min-width:0;overflow-wrap:anywhere}.admin-request-summary-main>small{grid-column:2;color:var(--ink-sub)}
.admin-request-summary-side{display:grid;gap:3px;text-align:right}.admin-request-summary-side>b{color:var(--red)}.admin-request-summary-side>span{font-size:var(--fs-caption);color:var(--ink-sub)}
.admin-request-next{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--divider)}
.admin-request-next span{font-size:var(--fs-caption);color:var(--ink-sub)}.admin-request-next b{text-align:right}
.admin-request-card[open]>.admin-request-summary{border-bottom:1px solid var(--divider)}
.admin-request-card-detail{padding:14px var(--screen-x) 18px}
@media(max-width:520px){.admin-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-request-card>summary{padding-left:16px;padding-right:16px}.admin-request-card-detail{padding-left:16px;padding-right:16px}}

.builder-subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 22px;padding:12px 14px;border-radius:12px;background:#f4f7fb;color:#42566f;font-size:14px}.builder-subtotal b{color:#0a1f3c;font-size:17px}.save-pricebook-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,150px);align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e1e8f0}.save-pricebook-option label{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;color:#29405d}.save-pricebook-option input[type="checkbox"]{width:20px;height:20px;flex:0 0 auto}.save-pricebook-option select{min-width:0;height:40px}.pricebook-empty{display:grid;gap:8px;justify-items:start;text-align:left}.pricebook-empty span{color:#63758c;line-height:1.55}.pricebook-empty .btn{margin-top:4px;width:auto}
@media(max-width:520px){.save-pricebook-option{grid-template-columns:1fr}.save-pricebook-option select{width:100%}.builder-subtotal{margin-bottom:18px}}
.partner-settings-index{display:flex;gap:8px;overflow-x:auto;margin:14px 0 20px;padding-bottom:4px;scrollbar-width:none}.partner-settings-index::-webkit-scrollbar{display:none}.partner-settings-index a{flex:0 0 auto;min-height:42px;padding:11px 15px;border:1px solid #d8e1eb;border-radius:999px;color:#29405d;font-weight:800;text-decoration:none}.partner-settings-section{display:grid;gap:14px;margin-top:16px;padding:20px;border:1px solid #e1e8f0;border-radius:18px;background:#fff;scroll-margin-top:18px}.partner-settings-section .field{margin:0}.partner-settings-section>.btn{width:100%}.partner-readonly-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.partner-readonly-facts span{display:grid;gap:4px;min-width:0;padding:10px;border-radius:10px;background:#f4f7fb;color:#63758c;font-size:13px}.partner-readonly-facts b{overflow-wrap:anywhere;color:#0a1f3c;font-size:14px}
@media(max-width:520px){.partner-settings-section{padding:16px}.partner-readonly-facts{grid-template-columns:1fr}}

/* 선정 거래 협의 기록: 일반 메신저가 아닌 일정·금액 승인 원장 */
.chat-page .content{padding-bottom:42px}.chat-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.chat-summary>div{min-width:0;padding:13px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.chat-summary span,.chat-summary b{display:block}.chat-summary span{color:#657487;font-size:12px}.chat-summary b{margin-top:5px;overflow-wrap:anywhere}.chat-messages{display:flex;flex-direction:column;gap:10px;margin:18px 0;padding:16px;border:1px solid #dce5ef;border-radius:18px;background:#f5f8fb}.chat-message{width:min(84%,520px);padding:12px 14px;border:1px solid #dce5ef;border-radius:6px 16px 16px 16px;background:#fff;box-shadow:0 4px 14px rgba(15,30,51,.04)}.chat-message.mine{align-self:flex-end;border-color:#bed9ef;border-radius:16px 6px 16px 16px;background:#edf7ff}.chat-message.system{align-self:center;width:min(100%,600px);border-style:dashed;border-radius:13px;background:#fff9ee}.chat-message-meta{display:flex;justify-content:space-between;gap:12px}.chat-message-meta b{font-size:12px;color:#34465c}.chat-message-meta span{font-size:11px;color:#7a8797;white-space:nowrap}.chat-message>p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.chat-action-card{display:grid;gap:9px;margin-top:9px}.chat-action-card>p{margin:0;line-height:1.5}.chat-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 12px;border:1px solid #c8d7e7;border-radius:12px;background:#fff;color:#102238;text-align:left}.chat-option:not(:disabled){cursor:pointer}.chat-option:not(:disabled):hover{border-color:#1472b8}.chat-option small{color:#1472b8}.chat-custom-schedule{display:grid;grid-template-columns:1fr auto;gap:8px}.chat-custom-schedule .btn{width:auto}.chat-amount-change{display:flex;align-items:baseline;gap:8px}.chat-amount-change span{color:#657487;text-decoration:line-through}.chat-amount-change strong{color:#d84d2f;font-size:20px}.chat-result{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.chat-result span{color:#34465c;text-align:right}.chat-tool,.chat-composer{margin-top:12px;padding:15px;border:1px solid #dce5ef;border-radius:16px;background:#fff}.chat-tool summary{cursor:pointer;font-weight:850}.chat-tool input,.chat-tool textarea,.chat-tool select{margin-top:9px}.chat-tool .btn{margin-top:10px}.chat-composer label{display:block;margin-bottom:8px;font-weight:850}.chat-composer textarea{min-height:94px}.chat-composer .row{align-items:flex-end;margin-top:9px}.chat-composer .row .helper{max-width:62%}.chat-composer .btn{width:auto;flex:0 0 auto}
@media(max-width:640px){.chat-summary{grid-template-columns:1fr}.chat-message{width:92%}.chat-messages{padding:12px}.chat-custom-schedule{grid-template-columns:1fr}.chat-custom-schedule .btn,.chat-composer .btn{width:100%}.chat-composer .row{display:grid}.chat-composer .row .helper{max-width:none}}

/* v5.18 operations-first work queue */
.admin-operating-rule{display:grid;gap:6px;margin:16px 0 12px;padding:16px 18px;border:1px solid #d8e3ef;border-radius:16px;background:#f6f9fc}.admin-operating-rule>b{color:#0a3158}.admin-operating-rule>span{font-weight:800;line-height:1.6;color:#243b53}.admin-operating-rule>small{line-height:1.55;color:#667085}
.admin-workboard{margin:4px 0 18px;padding:16px;border:1px solid #d9e2ec;border-radius:18px;background:#f8fafc}.admin-workboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-workboard-head span{font-size:var(--fs-caption);font-weight:900;color:#d84d2f}.admin-workboard-head h3{margin:3px 0 0;font-size:var(--fs-body);color:#0f1e33}.admin-queue-clear{min-height:40px;padding:8px 12px;border:1px solid #d4dde7;border-radius:10px;background:#fff;color:#475467;font-weight:850}.admin-queue-clear.on{border-color:#173d69;background:#173d69;color:#fff}
.admin-workboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.admin-workboard-grid>button{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:3px 7px;min-height:92px;padding:11px;border:1px solid #dce4ec;border-radius:13px;background:#fff;color:#344054;text-align:left}.admin-workboard-grid>button:hover{border-color:#8ba8c6}.admin-workboard-grid>button.on{border-color:#173d69;box-shadow:inset 0 0 0 1px #173d69;background:#f2f7fc}.admin-workboard-grid i{grid-row:1/3;align-self:start;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#edf2f7;color:#173d69;font-style:normal;font-size:var(--fs-caption);font-weight:900}.admin-workboard-grid span{font-size:var(--fs-caption);font-weight:850}.admin-workboard-grid b{font-size:var(--fs-lead);line-height:1;color:#173d69;text-align:right}.admin-workboard-grid small{grid-column:2/4;color:#667085;line-height:1.35}
.admin-action-brief{display:grid;gap:4px;margin-bottom:12px;padding:12px 13px;border-left:4px solid #4f739b;border-radius:10px;background:#f5f8fb}.admin-action-brief.hot{border-left-color:#d84d2f;background:#fff6f3}.admin-action-brief span{font-size:var(--fs-caption);font-weight:800;color:#667085}.admin-action-brief b{color:#173d69}.admin-action-brief small{line-height:1.5;color:#566779}
@media(max-width:820px){.admin-workboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-workboard-grid>button:last-child{grid-column:1/-1}}
@media(max-width:520px){.admin-operating-rule{padding:14px}.admin-operating-rule>span{font-size:var(--fs-caption)}.admin-workboard{padding:13px}.admin-workboard-head{display:grid}.admin-queue-clear{width:100%}.admin-workboard-grid{grid-template-columns:1fr 1fr}.admin-workboard-grid>button{min-height:86px}.admin-request-next{align-items:flex-start}.admin-request-next b{max-width:68%}}
