/* Operator pages: clients, a client, adding a client, system health, invite codes. Layout only: tokens and components come from ic.css. */

/* shared */
.ad-min0{min-width:0}
.ad-shrink0{flex-shrink:0}
.ad-self-start{align-self:flex-start}
.ad-right{text-align:right}
.ad-nowrap{white-space:nowrap}
.ad-break{overflow-wrap:anywhere}
.ad-mono{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;letter-spacing:.02em}
.ad-ink2{color:var(--ic-ink-2)}
.ad-count{font-weight:500;color:var(--ic-ink-4)}
.ad-h1{font-family:var(--ic-display);font-size:30px;line-height:1.1;font-weight:700;letter-spacing:-.01em;color:var(--ic-ink);overflow-wrap:anywhere}
.ad-h1.l{font-size:32px}
.ic-page.admin.ad-detail{padding-top:24px;gap:18px}
.ad-initial{width:36px;height:36px;border-radius:10px;background:var(--ic-surface-3);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;color:var(--ic-ink)}
.ad-initial.xl{width:56px;height:56px;border-radius:14px;background:var(--ic-dark);color:#fff;font-family:var(--ic-display);font-size:24px}
.ad-setting{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--ic-line-3)}
.ad-setting:last-child{border-bottom:none}
.ad-setting.tinted{padding:12px 14px;border-radius:12px;background:var(--ic-surface-2);border:none}
.ad-facts{display:flex;flex-direction:column;gap:10px;margin:0}
.ad-facts>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;min-width:0}
.ad-facts dt{color:var(--ic-ink-4);flex-shrink:0}
.ad-facts dd{margin:0;font-weight:600;text-align:right;min-width:0}

/* Clients: callout, filter tiles, search, table */
.ad-callout-link{flex-shrink:0;font-size:14px;font-weight:700;color:var(--ic-amber-text)!important;text-decoration:underline!important}
.ad-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ad-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--ic-line);margin:1px;color:var(--ic-ink)!important;text-decoration:none!important;min-width:0}
.ad-kpi:hover{border-color:var(--ic-field)}
.ad-kpi.on{border:2px solid var(--ic-blue);box-shadow:0 0 0 3px var(--ic-blue-line);margin:0}
.ad-kpi-label{font-size:13px;color:var(--ic-ink-3)}
.ad-kpi strong{font-size:30px;font-weight:700;line-height:1.1}
.ad-kpi small{font-size:12px;color:var(--ic-ink-4)}
.ad-search{display:flex;align-items:center;gap:8px;flex-grow:1;min-width:0;height:44px;box-sizing:border-box;padding:0 12px;border-radius:10px;border:1px solid var(--ic-field);background:#fff;color:var(--ic-ink-4);margin:0}
.ad-search:focus-within{border-color:var(--ic-blue);box-shadow:0 0 0 3px var(--ic-blue-line)}
.ad-search input{flex-grow:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;color:var(--ic-ink);padding:0;height:auto;box-shadow:none;margin:0}
.ad-clients{min-width:920px}
.ad-client-row{grid-template-columns:minmax(0,2.2fr) 150px minmax(0,1.8fr) 150px 110px 200px;padding:12px 18px;border-bottom-color:var(--ic-line-3)}
.ad-client-row.th{padding:12px 18px;border-bottom-color:var(--ic-line-2)}
.ad-client-name{font-size:15px;font-weight:600;color:var(--ic-ink)!important;display:block}
.ad-client-name:hover{color:var(--ic-blue)!important}
.ad-client-row .ic-cell small{font-size:12px;white-space:nowrap}
.ad-stage-bar{display:block;width:110px;height:5px;border-radius:99px;background:var(--ic-line-4);overflow:hidden}
.ad-stage-bar>i{display:block;height:100%;background:var(--ic-blue)}
.ad-limit-cell{line-height:1.4;color:var(--ic-ink-2)}
.ad-seen{color:var(--ic-ink-2)}
.ad-seen-quiet{color:var(--ic-red-ink);font-weight:600}
.ad-actions{justify-content:flex-end}
.ad-actions form{margin:0}
.ad-act{height:36px;padding:0 12px;border-radius:8px;font-size:13px}
.ad-view-btn{height:36px;padding:0 12px;border-radius:8px;border:none;background:var(--ic-surface-3);color:var(--ic-ink);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}
.ad-view-btn:hover{background:var(--ic-line-4)}
.ad-view-btn:disabled{opacity:.5;cursor:not-allowed}

/* One client */
.ad-client-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 24px;flex-wrap:wrap}
.ad-client-head form{margin:0}
.ad-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ad-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--ic-line);min-width:0}
.ad-tile-label{font-size:12px;color:var(--ic-ink-4)}
.ad-tile-value{font-size:15px;font-weight:700}
.ad-tile small{font-size:12px;color:var(--ic-ink-4);overflow-wrap:anywhere}
.ad-tile.ok .ad-tile-value{color:var(--ic-green-ink)}
.ad-tile.warn{background:var(--ic-amber-bg);border-color:var(--ic-amber-line)}
.ad-tile.warn .ad-tile-label,.ad-tile.warn small{color:var(--ic-amber-ink)}
.ad-tile.bad{background:var(--ic-red-bg);border-color:var(--ic-red-line)}
.ad-tile.bad .ad-tile-label,.ad-tile.bad .ad-tile-value,.ad-tile.bad small{color:var(--ic-red-text)}
.ad-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.ad-need{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--ic-surface-2)}
.ad-need-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#B7791F}
.ad-need-dot.bad{background:var(--ic-red)}
.ad-limits{display:flex;flex-direction:column}
.ad-limit{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--ic-line-3)}
.ad-stepper{display:flex;align-items:center;border:1px solid var(--ic-field);border-radius:10px;overflow:hidden;flex-shrink:0;background:#fff}
.ad-stepper button{width:40px;height:40px;border:none;background:#fff;font-size:18px;cursor:pointer;color:var(--ic-ink);font-family:inherit;padding:0}
.ad-stepper button:hover{background:var(--ic-surface-2)}
.ad-stepper button:disabled{color:var(--ic-ink-6);cursor:not-allowed;background:#fff}
.ic-app .ad-stepper input{width:64px;height:40px;border:none;border-left:1px solid var(--ic-line-2);border-right:1px solid var(--ic-line-2);text-align:center;font-size:16px;font-weight:700;color:var(--ic-ink);background:#fff;padding:0;margin:0;box-shadow:none;-moz-appearance:textfield;appearance:textfield}
.ad-stepper input::-webkit-outer-spin-button,.ad-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ad-warmup{padding:12px 14px;border-radius:12px;background:var(--ic-blue-bg);font-size:14px;line-height:1.5;color:#1A2F7A;overflow-wrap:anywhere}
.ad-pill-link{text-decoration:none!important;color:var(--ic-ink-2)!important}
.ad-pill-link:hover{background:var(--ic-line-4)}
.ad-link-box{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:var(--ic-surface-2);border:1px solid var(--ic-line-2)}
.ad-confirm{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--ic-field);line-height:1.45}
.ad-activity{list-style:none;margin:0;padding:0!important;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.45}
.ad-activity li{display:flex;gap:10px}
.ad-activity small{font-size:12px;color:var(--ic-ink-4)}
.ad-activity-dot{width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--ic-ink-5);flex-shrink:0}
.ad-activity-dot.blue{background:var(--ic-blue)}
.ad-activity-dot.red{background:var(--ic-red-ink)}
.ad-activity-dot.green{background:var(--ic-green)}
.ad-activity-dot.amber{background:#B7791F}

/* Add a client */
.ad-new-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.ad-new-grid>.ic-card{border-radius:18px}
.ad-steps{list-style:none;margin:0;padding:0!important;display:flex;gap:8px}
.ad-steps li{flex:1 1 0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;background:var(--ic-surface-2);color:var(--ic-ink-4);min-width:0}
.ad-steps li.current{font-weight:700;background:var(--ic-blue-bg);color:var(--ic-ink)}
.ad-steps li.done{color:var(--ic-ink)}
.ad-step-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;box-sizing:border-box;background:#fff;border:1.5px solid var(--ic-field);color:var(--ic-ink-4)}
.current>.ad-step-dot{background:var(--ic-blue);border:none;color:#fff}
.done>.ad-step-dot{background:var(--ic-green);border:none;color:#fff}
.ad-form-grid{gap:14px}
.ic-choice.ad-choice{padding:12px 14px;border-radius:12px;width:100%;margin:0}
.ic-choice.ad-choice[aria-checked=true]{border:1px solid var(--ic-blue-line);background:var(--ic-blue-tint);box-shadow:none}
.ic-choice.ad-choice:disabled{opacity:.6;cursor:not-allowed}
.ic-choice.ad-plan{flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px}
.ad-done{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:14px;background:var(--ic-green-bg);border:1px solid var(--ic-green-line-2);color:#1F4B34}
.ad-done-title{font-family:var(--ic-display);font-size:22px;font-weight:700;color:var(--ic-green-ink);overflow-wrap:anywhere}
.ad-done form{margin:0}
.ad-signin{padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--ic-green-line-2)}
.ad-signin dd{overflow-wrap:anywhere}
.ad-notes{margin:0;font-size:13px;line-height:1.45}
.ic-btn.secondary.ad-on-green{border-color:var(--ic-green-line-2);color:var(--ic-green-ink)!important;font-weight:700}
.ad-done-note{color:#1F4B34}
.ad-nav{padding-top:8px;border-top:1px solid var(--ic-line-2)}
.ad-soft-card{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:16px;background:var(--ic-surface-3)}

/* System health */
.ad-live{display:flex;gap:14px;align-items:center;border-radius:16px;padding:18px 20px}
.ad-live.real{background:var(--ic-green-bg);border:1px solid var(--ic-green-line-2)}
.ad-live.test{background:var(--ic-blue-bg);border:1px solid #B9CCF5}
.ad-live-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:var(--ic-green);box-shadow:0 0 0 4px #CDE8D8}
.ad-live.test .ad-live-dot{background:var(--ic-blue);box-shadow:0 0 0 4px var(--ic-blue-line)}
.ad-live .ic-pill{background:#fff}
.ad-issue{display:flex;gap:14px;align-items:flex-start;border-radius:14px;padding:16px 18px}
.ad-issue.bad{background:var(--ic-red-bg);border:1px solid var(--ic-red-line);color:var(--ic-red-text)}
.ad-issue.warn{background:var(--ic-amber-bg);border:1px solid var(--ic-amber-line);color:var(--ic-amber-text)}
.ad-issue-dot{width:10px;height:10px;margin-top:6px;border-radius:50%;flex-shrink:0;background:#B7791F}
.ad-issue.bad .ad-issue-dot{background:var(--ic-red)}
.ad-issue-code{color:var(--ic-red-ink);overflow-wrap:anywhere}
.ad-issue.warn .ad-issue-code{color:var(--ic-amber-ink)}
.ad-issue-link{flex-shrink:0;font-size:14px;font-weight:700;color:inherit!important;text-decoration:underline!important}
.ad-dep-row{grid-template-columns:24px minmax(0,1.3fr) minmax(0,2fr) 150px;border-bottom-color:var(--ic-line-3)}
.ad-dep-dot{width:12px;height:12px;border-radius:50%;background:var(--ic-ink-5)}
.ad-dep-dot.ok{background:var(--ic-green)}
.ad-dep-dot.warn{background:#B7791F}
.ad-dep-dot.bad{background:var(--ic-red)}
.ad-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.ad-coverage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ad-coverage>div{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:12px;background:var(--ic-surface-2);min-width:0}
.ad-coverage strong{font-size:26px;font-weight:700;line-height:1.2}
.ad-coverage span{font-size:13px;color:var(--ic-ink-3)}
.ad-coverage>div.missing{background:var(--ic-amber-bg)}
.ad-coverage>div.missing span{color:var(--ic-amber-ink)}
.ad-spend-total{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}
.ad-spend-total strong{font-size:26px;font-weight:700;line-height:1.2}
.ad-spend-total small{font-size:12px;color:var(--ic-ink-4)}
.ad-spend{display:flex;flex-direction:column}
.ad-spend-row{display:grid;grid-template-columns:52px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ic-line-3);font-size:13px}
.ad-defaults{padding:6px 20px;gap:0}
.ad-defaults .ad-setting{gap:16px;padding:14px 0}
.ad-value{text-align:right;flex-shrink:0;max-width:50%}

/* Invite codes */
.ad-invite-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}
.ad-invite{flex-direction:column;gap:10px!important}
.ad-invite-top{display:flex;align-items:flex-start;gap:16px;width:100%;flex-wrap:wrap}
.ad-invite-top>.ic-stack{flex:1 1 220px}
.ad-invite-top form{margin:0}
.ad-code{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:15px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--ic-surface-3);color:var(--ic-ink);overflow-wrap:anywhere}
.ad-invite-stats{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ic-ink-2);flex:0 1 260px}
.ad-history{width:100%}
.ad-history summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ic-blue);min-height:32px;display:flex;align-items:center}
.ad-history-rows{display:flex;flex-direction:column;margin-top:6px;border:1px solid var(--ic-line-2);border-radius:10px;overflow:hidden}
.ad-history-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 160px;gap:12px;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--ic-line-3)}
.ad-history-row:last-child{border-bottom:none}
.ad-history-row.th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ic-ink-4);background:var(--ic-surface-2)}

/* responsive */
@media (max-width:1366px){
  .ad-client-row{grid-template-columns:minmax(0,2.2fr) 130px minmax(0,1.8fr) 104px 96px 196px}
}
@media (max-width:1280px){
  .ad-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .ad-detail-grid,.ad-new-grid,.ad-two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .ad-h1{font-size:26px}.ad-h1.l{font-size:28px}
  .ad-kpis,.ad-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-kpi{padding:12px 14px}
  .ad-kpi strong{font-size:24px}
  .ad-search-row{flex-wrap:wrap}
  .ad-limit,.ad-need,.ad-setting,.ad-issue,.ad-live{flex-wrap:wrap}
  .ad-setting>.ic-stack{flex-basis:calc(100% - 70px)}
  .ad-steps li{padding:8px;gap:6px;font-size:13px}
  .ad-dep-row{grid-template-columns:24px minmax(0,1fr)}
  .ad-dep-row>:nth-child(3),.ad-dep-row>:nth-child(4){grid-column:2}
  .ad-invite-form{grid-template-columns:minmax(0,1fr)}
  .ad-history-row{grid-template-columns:minmax(0,1fr)}
  .ad-history-row.th{display:none}
  .ad-value{max-width:none;text-align:left}
  .ad-defaults .ad-setting{flex-direction:column;align-items:flex-start;gap:6px}
}

/* ---------- Express setup ---------- */
.ex-lede{max-width:62ch;margin:-4px 0 18px}
.ex-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:28px 16px;border:2px dashed var(--ic-line);border-radius:12px;background:var(--ic-field);cursor:pointer;color:var(--ic-ink)}
.ex-drop:hover,.ex-drop:focus-within{border-color:var(--ic-blue);background:var(--ic-surface)}
.ex-drop.has-files{padding:16px}
.ex-file-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ex-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ex-files li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ic-line);border-radius:8px}
.ex-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ex-chips{display:flex;flex-wrap:wrap;gap:8px}
.ex-intents{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.ex-actions{flex-wrap:wrap}
.ex-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ex-progress li{display:flex;gap:12px;align-items:flex-start}
.ex-dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid var(--ic-line);display:grid;place-items:center;margin-top:1px}
.ex-progress li.running .ex-dot{border-color:var(--ic-blue);border-top-color:transparent;animation:ex-spin .9s linear infinite}
.ex-progress li.done .ex-dot{background:var(--ic-green);border-color:var(--ic-green);color:#fff}
.ex-progress li.failed .ex-dot{background:var(--ic-red);border-color:var(--ic-red);color:#fff}
.ex-progress li.warning .ex-dot{border-color:#9a6700;color:#9a6700}
.ex-progress li.skipped,.ex-progress li.waiting{opacity:.55}
.ex-login{display:block;padding:10px 12px;border-radius:8px;background:var(--ic-field);word-break:break-all}
@keyframes ex-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ex-progress li.running .ex-dot{animation:none;border-top-color:var(--ic-blue)}}
/* Opportunities: a pasted enquiry, shown as written. */
.ic-input.op-brief{height:auto;min-height:9rem;resize:vertical;font:inherit;line-height:1.5;padding-top:10px}
.op-brief-shown{margin:0;white-space:pre-wrap;color:var(--ic-text-2, inherit)}
/* Packages: feature switches in a grid. */
.pk-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.pk-feature{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--ic-line);border-radius:10px;cursor:pointer}
.pk-feature input{margin-top:4px}
.lg-table{width:100%;border-collapse:collapse;font-size:14px}.lg-table th,.lg-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--ic-line);vertical-align:top}.lg-table th{color:var(--ic-text-2,inherit);font-weight:600}
