/* AHIGA-only Naver order contracts. Uses the shared shell tokens from app.css. */
.direct-contract[data-empty="true"],.direct-contract:empty{display:none}
.direct-contract{margin-bottom:16px}
.direct-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.direct-head h2{margin:0}
.direct-lead{margin:6px 0 0;max-width:62ch}
.direct-link{color:var(--accent,#2f5bd3);font-weight:600}
.direct-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.direct-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid var(--line,#dfe3e9);background:#fff;color:var(--muted,#657185)}
.direct-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.direct-pill-good{color:#23674f;border-color:#bfe0d2;background:#f1faf6}
.direct-pill-warn{color:#8a5a12;border-color:#ecd7ae;background:#fff8ea}
.direct-table-wrap{overflow-x:auto;margin-top:14px;-webkit-overflow-scrolling:touch}
.direct-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.direct-table th,.direct-table td{border-bottom:1px solid var(--line,#dfe3e9);padding:10px 8px;text-align:left;vertical-align:top}
.direct-table th{color:var(--muted,#657185);font-size:14px;font-weight:600;white-space:nowrap;background:var(--shell-selected,#f5f7fb)}
.direct-table td button{white-space:nowrap}
.direct-cell-actions{text-align:right;width:1%}
.direct-cell-actions button+button{margin-left:6px}
.direct-state{font-weight:600;color:var(--ink,#202735)}
.direct-sub{color:var(--muted,#657185);font-size:14px;margin-top:2px}
.direct-mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.direct-good{color:#23674f}
.direct-bad{color:#a12b24}
.direct-empty{color:var(--muted,#657185);text-align:center;padding:24px 8px}
.direct-foot{margin-top:10px}
/* Order form */
.direct-form{border:1px solid var(--line,#dfe3e9);border-radius:12px;padding:16px;margin:14px 0;background:var(--shell-selected,#f5f7fb)}
.direct-form-head h3{margin:0}
.direct-order{background:#fff;border:1px solid var(--line,#dfe3e9);border-radius:10px;padding:10px 12px;margin-top:10px}
.direct-order h4{margin:0 0 6px;font-size:14px;color:var(--muted,#657185)}
.direct-lines{margin:0;padding-left:18px}
.direct-lines li{margin-bottom:6px}
.direct-option{margin:2px 0 0;color:var(--muted,#657185);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.direct-group{border:0;margin:14px 0 0;padding:0;min-width:0}
.direct-group legend{font-size:14px;font-weight:700;color:var(--ink,#202735);padding:0;margin-bottom:6px}
.direct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.direct-field{display:flex;flex-direction:column;gap:4px;font-size:14px}
.direct-field[hidden]{display:none}
.direct-field input,.direct-field select{min-height:40px;font:inherit;padding:6px 8px;border:1px solid var(--line,#dfe3e9);border-radius:8px;background:#fff;min-width:0}
.direct-confirm{display:flex;flex-direction:row;gap:10px;align-items:flex-start;margin:14px 0;padding:10px 12px;border:1px solid var(--line,#dfe3e9);border-radius:10px;background:#fff;font-weight:600}
.direct-confirm input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0}
.direct-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Status page */
.direct-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}
.direct-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:10px 12px;border:1px solid var(--line,#dfe3e9);border-radius:10px;background:#fff;color:var(--ink,#202735);text-align:left;cursor:pointer}
.direct-stat-num{font-size:22px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.direct-stat-label{font-size:14px;color:var(--muted,#657185)}
.direct-stat.is-on{border-color:var(--accent,#2f5bd3);box-shadow:inset 0 0 0 1px var(--accent,#2f5bd3);background:var(--shell-selected,#f2f5ff)}
.direct-stat.is-alert .direct-stat-num{color:#a12b24}
.direct-progress-table{min-width:900px}
.direct-progress-table td:first-child{min-width:160px}
.direct-checks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.direct-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:14px;background:#f1f3f6;color:var(--muted,#657185)}
.direct-chip-good{background:#eaf6f0;color:#23674f}
.direct-chip-bad{background:#fdecea;color:#a12b24;font-weight:600}
.direct-flags{margin:4px 0 0;padding-left:18px;font-size:14px;color:#a12b24}
.direct-attention td{background:#fff8f6}
.direct-attention td:first-child{box-shadow:inset 3px 0 0 #d9776a}
.direct-closed td{color:var(--muted,#657185)}
.direct-closed .direct-state{color:var(--muted,#657185)}
@media (max-width:760px){.direct-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){
 .direct-grid{grid-template-columns:1fr}.direct-actions button{flex:1 1 100%}
 .direct-tools{width:100%}.direct-tools button{margin-left:auto}
 /* Phone: each order becomes a card so the action button is always visible. */
 .direct-table{min-width:0}.direct-table thead{display:none}
 .direct-table,.direct-table tbody,.direct-table tr,.direct-table td{display:block;width:100%}
 .direct-table tr{border:1px solid var(--line,#dfe3e9);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff}
 .direct-table td{border:0;padding:4px 0;white-space:normal}
 .direct-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted,#657185);font-size:13px;font-weight:600;margin-bottom:1px}
 .direct-table td:first-child[data-label]::before{display:none}
 .direct-cell-actions{text-align:left;width:auto}.direct-cell-actions:empty{display:none}
 .direct-cell-actions button{width:100%;min-height:44px;margin:6px 0 0}.direct-cell-actions button+button{margin-left:0}
 .direct-progress-table{min-width:0}.direct-progress-table td:first-child{min-width:0}
 .direct-attention{border-color:#e7b8ab!important}.direct-attention td{background:none}.direct-attention td:first-child{box-shadow:none}
 .direct-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .direct-stat{min-height:56px;padding:8px 10px}.direct-stat-num{font-size:18px}
 .direct-empty{text-align:left}
}

/* Orders contracted outside AHIGA ("이미 계약함"). */
.direct-outside-toggle{margin-top:8px}
.direct-outside{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line,#dfe3e9);border-radius:12px;background:#fff}
.direct-outside li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}
.direct-outside li+li{border-top:1px solid var(--line,#dfe3e9)}
.direct-outside small{color:#6b7689;font-size:14px}
@media(max-width:600px){.direct-outside li{flex-direction:column;align-items:stretch}.direct-outside button{min-height:44px}}
.direct-send-table .direct-cell-actions{white-space:nowrap}
@media(max-width:600px){.direct-send-table .direct-cell-actions{white-space:normal}}
.direct-draft{margin:12px 0;padding:12px 14px;border:1px solid #c9d6f5;border-radius:12px;background:#f3f6ff;font-size:14px}.direct-draft p{margin:0}.direct-draft ul{margin:6px 0 0;padding-left:18px;color:#8a4b00}

/* 내부 취소 (R137): the in-page second question before cancelling or undoing. */
.direct-confirm{display:grid;gap:8px;max-width:640px;margin:0 0 4px auto;padding:12px 14px;border:1px solid #f0c9c3;border-radius:12px;background:#fff8f6;text-align:left}
.direct-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.direct-confirm-row td{padding-top:0}
.direct-confirm p{margin:0;font-size:14px;line-height:1.55;color:var(--ink,#202735)}
.direct-confirm .direct-sub{color:#5b6576}
.direct-confirm button{min-height:44px}
