/* CO-28 Clearance Console.
   Left-anchored like the rest of the platform — no centred max-width cap. */

.co-clr { font-size: 15px; line-height: 1.5; }
.co-clr h2 { margin: 0 0 4px; }
.co-clr h2 small { font-weight: 400; color: #666; font-size: 0.6em; }
.co-clr h3 { margin: 0 0 8px; font-size: 1rem; }

.co-clr-notice { padding: 10px 12px; border-radius: 4px; margin: 10px 0; border-left: 4px solid #999; background: #f5f5f5; }
.co-clr-notice.is-ok   { border-color: #0F6E56; background: #eef7f4; }
.co-clr-notice.is-warn { border-color: #854F0B; background: #fdf5e8; }
.co-clr-notice.is-err  { border-color: #A5231A; background: #fbeceb; }

.co-clr-tabs { margin: 12px 0; }
.co-clr-tab { display: inline-block; padding: 5px 11px; margin-right: 4px; border: 1px solid #d5d5d5;
              border-radius: 3px; text-decoration: none; color: #333; background: #fff; }
.co-clr-tab.is-on { background: #2F6F8F; border-color: #2F6F8F; color: #fff; }
.co-clr-tab span { opacity: .7; font-size: .85em; }

.co-clr-table { width: 100%; border-collapse: collapse; margin: 8px 0 20px; }
.co-clr-table th, .co-clr-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e6e6e6; vertical-align: top; }
.co-clr-table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #666; }
.co-clr-table tr.is-overdue td { background: #fdf5e8; }
.co-clr-table small { color: #777; }

.co-clr-pill { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: .75rem;
               background: #eaeff2; color: #2F6F8F; }
.co-clr-pill.is-warn { background: #fdf0dc; color: #854F0B; }

.co-clr-btn { display: inline-block; padding: 6px 13px; border: 1px solid #c7c7c7; border-radius: 3px;
              background: #fff; color: #222; text-decoration: none; cursor: pointer; font-size: .92rem; }
.co-clr-btn:hover { background: #f2f2f2; }
.co-clr-btn.is-primary { background: #2F6F8F; border-color: #2F6F8F; color: #fff; }
.co-clr-btn.is-primary:hover { background: #275b76; }

.co-clr-cols { display: flex; flex-wrap: wrap; gap: 14px; margin: 12px 0; }
.co-clr-cols > .co-clr-card { flex: 1 1 320px; }

.co-clr-card { border: 1px solid #e2e2e2; border-radius: 5px; padding: 14px; margin: 0 0 14px; background: #fff; }
.co-clr-card dl { margin: 0; display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 4px 12px; }
.co-clr-card dt { color: #666; font-size: .85rem; }
.co-clr-card dd { margin: 0; }

.co-clr-form { margin: 10px 0; }
.co-clr-form label { display: block; margin: 0 0 10px; font-size: .9rem; color: #444; }
.co-clr-form input[type=text], .co-clr-form input[type=date],
.co-clr-form select, .co-clr-form textarea {
    font: inherit; padding: 6px 8px; border: 1px solid #c9c9c9; border-radius: 3px; max-width: 100%;
}
.co-clr-form textarea { width: 100%; }
.co-clr-form.is-inline { display: inline-flex; align-items: flex-end; gap: 8px; margin-right: 10px; }
.co-clr-form.is-inline label { margin-bottom: 0; }

.co-clr-row { display: flex; flex-wrap: wrap; gap: 14px; }
.co-clr-body { font-family: Georgia, "Times New Roman", serif; }

.co-clr-sign { border: 1px solid #2F6F8F; border-radius: 5px; padding: 12px 14px; margin: 14px 0; background: #f7fafc; }
.co-clr-sign legend { padding: 0 6px; font-weight: 600; color: #2F6F8F; }
.co-clr-attest { font-size: .9rem; color: #444; background: #fff; border: 1px solid #e0e6ea;
                 border-radius: 3px; padding: 9px 11px; }
.co-clr-check { display: block; margin: 10px 0; }
.co-clr-check input { margin-right: 6px; }

.co-clr-note { border: 1px solid #e0e0e0; border-radius: 4px; padding: 16px 18px; background: #fff;
               font-family: Georgia, "Times New Roman", serif; }
.co-clr-sigline { margin: 12px 0 2px; }

.co-clr-panel { margin: 14px 0; border: 1px solid #e2e2e2; border-radius: 5px; padding: 10px 14px; background: #fbfbfb; }
.co-clr-panel > summary { cursor: pointer; font-weight: 600; }

.co-clr-hits { list-style: none; padding: 0; margin: 8px 0; }
.co-clr-hits li { padding: 5px 0; border-bottom: 1px solid #eee; }
.co-clr-hits small { color: #777; margin-left: 8px; }

.co-clr-chain { margin: 4px 0 0 18px; }
.co-clr-chosen { margin: 8px 0; }
.co-clr-hint { color: #666; font-size: .85rem; }
.co-clr-empty { color: #777; font-style: italic; }
.co-clr-back { margin: 0 0 6px; }

/* Location tabs — client 2 has 18 locations, so these wrap rather than scroll. */
.co-clr-tabs.is-loc { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 12px;
                      padding-top: 8px; border-top: 1px solid #ececec; }
.co-clr-tabs.is-loc .co-clr-tab { font-size: .88rem; padding: 4px 9px; }
.co-clr-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 8px; }

/* Key elements — the decision, above the wording that presents it. */
.co-clr-elements { border: 1px solid #d9e2e8; border-radius: 5px; padding: 10px 14px; margin: 0 0 14px; background: #fbfdfe; }
.co-clr-elements legend { padding: 0 6px; font-weight: 600; color: #2F6F8F; font-size: .9rem; }
.co-clr-ident { font-size: 1.05rem; line-height: 1.4; margin: 0; }
.co-clr-form select { font: inherit; padding: 6px 8px; border: 1px solid #c9c9c9; border-radius: 3px; }
.co-clr-form code { background: #eef2f5; padding: 1px 4px; border-radius: 2px; font-size: .85em; }
.co-clr-cat { width: 100%; border-collapse: collapse; margin: 8px 0 16px; }
.co-clr-cat th, .co-clr-cat td { text-align: left; padding: 7px 9px; border-bottom: 1px solid #e6e6e6; vertical-align: top; }
.co-clr-cat th { font-size: .8rem; text-transform: uppercase; color: #666; }

/* The EMR key, shown once. Big, monospaced and selectable — somebody is copying it by
   hand into another system, and a 43-character secret that wraps mid-character or sits
   in body text at 14px gets mis-transcribed. */
.co-clr-key {
    display: block;
    margin: 8px 0 0;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #c9d3dd;
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 15px;
    line-height: 1.5;
    word-break: break-all;
    user-select: all;
}
