/* Marketing and recruitment: six purpose-built work surfaces. */
.workflow-form.ua-app { --ua-accent:#2763d3; --ua-tint:#edf3ff; color:#20232b; background:#f7f8fa; font:400 12px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; display:flex; flex-direction:column; overflow:hidden; }
.ua-app * { box-sizing:border-box; }
.ua-app .ua-head { display:flex; justify-content:space-between; align-items:center; flex:none; min-height:75px; padding:15px 22px 13px; background:#fff; border-bottom:1px solid #e9ebf0; gap:12px; }
.ua-app .ua-eyebrow,.ua-app .ua-section-label { display:block; color:#868b95; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.13em; }
.ua-app .ua-head h2 { font-size:21px; letter-spacing:-.055em; font-weight:720; line-height:1.12; margin:3px 0 0; }
.ua-app .ua-head-meta { display:flex; align-items:center; justify-content:flex-end; gap:7px; color:#777d87; font-size:10px; font-weight:560; text-align:right; white-space:nowrap; }
.ua-app .ua-action-row { display:flex; justify-content:space-between; align-items:center; flex:none; gap:12px; min-height:58px; padding:9px 18px 9px 22px; border-top:1px solid #e9ebef; background:#fff; }
.ua-app .ua-action-row>span { color:#91949c; font-size:10px; }
.ua-app .ua-submit { border:0; border-radius:11px; background:var(--ua-accent); color:white; font-size:11px; font-weight:700; padding:10px 12px 10px 15px; min-width:155px; display:flex; justify-content:space-between; align-items:center; gap:14px; box-shadow:0 4px 10px color-mix(in srgb,var(--ua-accent),transparent 77%); }
.ua-app .ua-submit span { font-size:16px; font-weight:400; line-height:10px; }
.ua-app .ua-submit:active { transform:scale(.98); }
.ua-app .ua-submit:disabled { opacity:.6; cursor:progress; }
.ua-app .wf-output { background:transparent; padding:0; border:0; overflow:auto; font:inherit; }
.ua-app .wf-error { flex:none; margin:0!important; border-radius:0; padding:6px 20px; font-size:10px; }
.ua-app .ua-field { gap:5px; min-width:0; font-size:11px; }
.ua-app .ua-field-label { color:#686e78; font-size:10px; font-weight:650; line-height:1.25; }
.ua-app .ua-input-wrap { min-height:32px; display:flex; align-items:center; border:1px solid #dfe3e9; background:#fff; border-radius:9px; overflow:hidden; transition:border-color .15s,box-shadow .15s; }
.ua-app .ua-input-wrap:focus-within,.ua-app .ua-input-wrap:has(.is-demo-focused) { border-color:#80a9ef; box-shadow:0 0 0 3px #0066ee16; }
.ua-app .ua-input-wrap input { min-width:0; width:100%; border:0; background:transparent; outline:0; padding:7px 9px; font-size:11px; font-weight:680; color:#252936; line-height:16px; height:31px; }
.ua-app .ua-affix { padding-left:9px; color:#9196a0; font-size:10px; }
.ua-app .ua-affix+input { padding-left:4px; }
.ua-app .ua-suffix { padding:0 8px 0 0; }
.ua-app .ua-check { position:relative; flex-direction:row; align-items:center; justify-content:space-between; min-height:34px; border:1px solid #e2e6ed; background:#fff; border-radius:10px; padding:6px 9px; gap:5px; cursor:pointer; }
.ua-app .ua-check input { position:relative; inset:auto; width:25px; height:15px; margin:0; opacity:1; appearance:none; border:0; border-radius:20px; flex:none; order:2; cursor:pointer; z-index:2; background:radial-gradient(circle at 7px 50%,#fff 5px,transparent 6px),#d8dce4; transition:background .2s; }
.ua-app .ua-check input:checked { background:radial-gradient(circle at 18px 50%,#fff 5px,transparent 6px),var(--ua-accent); }
.ua-app .ua-check input:focus-visible { outline:2px solid #007aff; outline-offset:2px; }
.ua-app .ua-check-indicator { display:none; }
.ua-app .ua-check:has(input.is-demo-focused) { outline:3px solid #007aff20; }
.ua-app .ua-save { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid #dce3ed; background:#fff; color:#315a97; border-radius:9px; padding:7px 10px; font-size:10px; font-weight:700; cursor:pointer; }
.ua-app .ua-save svg { width:13px; height:13px; }
.ua-app .ua-pill { display:inline-flex; align-items:center; border-radius:20px; padding:5px 8px; font-size:9px; font-weight:750; line-height:1; white-space:nowrap; }
.ua-app .ua-pill.ok { color:#28794d; background:#e7f6eb; }
.ua-app .ua-pill.warn { color:#ab6a22; background:#fff0dc; }

/* 01 · Creative scope: sequential rounds and a change estimate. */
.workflow-form.ua-revisions { --ua-accent:#a24969; background:#fbf8f8; }
.ua-revision-strip { background:#fff; padding:15px 22px 13px; border-bottom:1px solid #eee8e9; display:grid; grid-template-columns:114px 1fr; gap:5px 18px; align-items:center; flex:none; }
.ua-revision-strip>span:first-child { font-size:10px; font-weight:720; }
.ua-rounds { display:flex; align-items:center; gap:7px; }
.ua-rounds i { display:grid; place-items:center; height:26px; flex:1; border-radius:8px; color:#8d6877; background:#f5e9ed; font-size:10px; font-style:normal; font-weight:750; position:relative; }
.ua-rounds i:not(:last-child):after { content:""; position:absolute; left:100%; width:7px; height:1px; background:#eadde2; }
.ua-rounds i.extra { color:#a23d60; background:#fff; outline:1px dashed #d29cae; }
.ua-round-caption { grid-column:2; font-size:9px; color:#aa949d; }
.ua-revision-main { display:grid; grid-template-columns:1.07fr .93fr; flex:1; min-height:0; }
.ua-revision-input { padding:21px 22px; overflow:auto; border-right:1px solid #eee6e9; }
.ua-revision-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:17px; }
.ua-revision-output { padding:20px 21px!important; background:#fff!important; }
.ua-revision-await { height:100%; border:1px dashed #eadde3; border-radius:13px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:11px; color:#8c7880; padding:22px; font-size:12px; }
.ua-document-icon { display:grid; place-items:center; width:44px; height:50px; border-radius:7px; background:#f5e8ed; color:#af5a78; font-size:22px; }
.ua-quote-top { display:flex; justify-content:space-between; align-items:center; gap:5px; color:#8f9098; font-size:9px; font-weight:700; }
.ua-quote-main { margin:16px 0 12px; }
.ua-quote-main>strong { display:block; font-size:37px; letter-spacing:-.07em; line-height:1; }
.ua-quote-line { margin-top:14px; border-top:1px solid #ebedf1; }
.ua-quote-line>div { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #eef0f3; font-size:10px; }
.ua-quote-line span { color:#777e88; }
.ua-quote-line strong { font-weight:700; }
.ua-revision-result>p { color:#69717b; font-size:10px; line-height:1.4; margin:8px 0 12px; }

/* 02 · Campaign review: asset, pins and release gate. */
.workflow-form.ua-approvals { --ua-accent:#496a47; background:#f7f8f4; }
.ua-version-dot { width:7px; height:7px; border-radius:50%; background:#c37b31; }
.ua-approval-main { flex:1; min-height:0; display:grid; grid-template-columns:1.28fr .72fr; }
.ua-asset-view { background:#ebede7!important; padding:16px!important; border-right:1px solid #e2e6df!important; display:flex; flex-direction:column; min-height:0; }
.ua-campaign-art { background-color:#d1dcc6; background-image:url('creative-campaign-v1.png'); background-repeat:no-repeat; background-position:center; background-size:cover; border-radius:12px; position:relative; flex:1; min-height:0; overflow:hidden; box-shadow:0 8px 18px #26382013; }
.ua-campaign-art:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#1c382e60,transparent 65%); pointer-events:none; }
.ua-art-type { position:absolute; z-index:1; left:20px; top:24px; color:#fff; text-shadow:0 1px 8px #16302333; }
.ua-art-type small { display:block; font-size:9px; letter-spacing:.17em; font-weight:800; margin-bottom:8px; }
.ua-art-type strong { font-size:24px; line-height:1; letter-spacing:-.065em; font-weight:700; }
.ua-pin { position:absolute; z-index:2; width:23px; height:23px; border-radius:50%; background:#fff; color:#41614f; display:grid; place-items:center; font-size:10px; font-weight:800; font-style:normal; box-shadow:0 2px 8px #0003; }
.ua-pin.one { right:21%; top:23%; }.ua-pin.two { right:35%; bottom:23%; }.ua-pin.three { right:13%; bottom:33%; }
.ua-art-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 1px 0; font-size:10px; font-weight:650; }
.ua-approval-result { display:flex; justify-content:space-between; align-items:center; gap:8px; border-top:1px solid #dfe4da; margin-top:8px; padding-top:8px; color:#55645a; font-size:9px; }
.ua-review-rail { padding:19px 18px; background:#fff; overflow:auto; }
.ua-review-fields { display:flex; flex-direction:column; gap:10px; margin-top:13px; }
.ua-review-note { margin-top:15px; display:flex; align-items:flex-start; gap:8px; padding:9px; background:#f6f7f2; border-radius:9px; color:#747e72; font-size:9px; }
.ua-note-ring { border:1px solid #c4cdc2; width:15px; height:15px; display:grid; place-items:center; border-radius:50%; flex:none; font-weight:700; }

/* 03 · Production ledger: source matching table and billing amount. */
.workflow-form.ua-costs { --ua-accent:#456b9c; background:#f7f9fc; }
.ua-vendor-avatar { width:25px; height:25px; border-radius:7px; display:grid; place-items:center; color:#416483; background:#e7f0f9; font-size:9px; font-weight:800; }
.ua-costs-board { flex:1; min-height:0; display:grid; grid-template-columns:1.16fr .84fr; }
.ua-costs-table { overflow:auto; padding:15px 20px 18px; }
.ua-costs-table-head { display:flex; justify-content:space-between; padding:0 3px 8px; text-transform:uppercase; letter-spacing:.1em; color:#969dab; font-size:8px; font-weight:750; }
.ua-costs-line { display:grid; grid-template-columns:1fr 145px; gap:8px; align-items:center; background:#fff; border:1px solid #e5eaf0; border-radius:11px; margin:0 0 7px; padding:7px 10px; min-height:54px; }
.ua-costs-line>span { display:grid; grid-template-columns:21px 1fr; column-gap:8px; align-items:center; min-width:0; }
.ua-costs-line b { font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ua-costs-line small { grid-column:2; color:#989eaa; font-size:8px; white-space:nowrap; }
.ua-source-icon { grid-row:1/3; display:grid; place-items:center; width:21px; height:23px; border-radius:5px; font-size:9px; font-style:normal; font-weight:800; }
.ua-source-icon.invoice { color:#4678b9; background:#e7f0fb; }.ua-source-icon.estimate { color:#936948; background:#f7eee5; }.ua-source-icon.billed { color:#6f8b64; background:#edf3e9; }.ua-source-icon.match { color:#719074; background:#e9f2e9; }
.ua-costs-line .ua-field-label { display:none; }.ua-costs-line .ua-field { width:100%; }
.ua-costs-line .ua-input-wrap { min-height:28px; }.ua-costs-line .ua-input-wrap input { height:27px; padding-block:4px; }
.ua-costs-line .ua-check { min-height:29px; padding:5px 8px; }.ua-costs-line .ua-check .ua-field-label { display:block; font-size:9px; }
.ua-costs-output { background:#fff!important; border-left:1px solid #e5eaf0!important; padding:22px!important; }
.ua-costs-value { margin-top:19px; font-size:42px; line-height:1; letter-spacing:-.07em; font-weight:730; font-variant-numeric:tabular-nums; }
.ua-costs-value-label { display:block; color:#697382; font-size:11px; margin-top:5px; }
.ua-costs-meter { height:6px; border-radius:12px; background:#e7edf5; margin:20px 0 12px; overflow:hidden; }.ua-costs-meter span { display:block; height:100%; background:#7cb39a; border-radius:12px; transition:width .25s; }
.ua-costs-rows>div { display:flex; justify-content:space-between; gap:7px; padding:6px 0; border-bottom:1px solid #edf0f4; font-size:9px; }.ua-costs-rows span { color:#858d9b; }
.ua-costs-output p { font-size:9px; color:#8b929e; line-height:1.4; margin:12px 0; }

/* 04 · Fee dispute: evidence chain and pack, distinct from invoicing. */
.workflow-form.ua-evidence { --ua-accent:#67518e; background:#f9f8fc; }
.ua-evidence-main { display:grid; grid-template-columns:1fr 1fr; flex:1; min-height:0; }
.ua-evidence-timeline { padding:20px 19px 15px 24px; overflow:auto; }
.ua-evidence-event { margin:14px 0 0; display:grid; grid-template-columns:23px 1fr; gap:11px; position:relative; }
.ua-evidence-event:not(.last):after { content:""; position:absolute; top:23px; bottom:-18px; left:11px; border-left:1px solid #ded9e9; }
.ua-evidence-event time { width:22px; height:22px; border-radius:50%; background:#e9e4f4; color:#76609d; display:grid; place-items:center; font-size:8px; font-weight:800; position:relative; z-index:1; }
.ua-evidence-event strong { display:block; font-size:10px; }.ua-evidence-event small { display:block; font-size:9px; color:#9a95a2; margin:3px 0 6px; }
.ua-evidence-event .ua-check { min-height:25px; width:200px; max-width:100%; padding:4px 7px; }.ua-evidence-event .ua-check .ua-field-label { font-size:8px; }
.ua-evidence-card { background:#fff; border-left:1px solid #eae6f0; display:flex; flex-direction:column; padding:20px 22px; overflow:auto; }
.ua-evidence-card-head { display:flex; align-items:center; gap:10px; }.ua-pack-icon { display:grid; place-items:center; width:31px; height:35px; border-radius:7px; background:#eeeaf7; color:#7967a3; font-size:20px; }
.ua-evidence-fee { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:14px 0; }
.ua-evidence-pack { border:1px solid #e9e6ef!important; background:#fbfaff!important; border-radius:11px; padding:14px!important; min-height:110px; flex:1; }
.ua-evidence-await { color:#948e9f; font-size:10px; line-height:1.5; }
.ua-evidence-result>span { font-size:10px; font-weight:700; color:#655680; }.ua-evidence-result>strong { display:block; font-size:32px; letter-spacing:-.07em; margin:7px 0 10px; }
.ua-evidence-result>div>div { display:flex; justify-content:space-between; gap:8px; border-top:1px solid #e8e5ee; padding:5px 0; font-size:9px; }.ua-evidence-result>div span { color:#8c8794; }
.ua-evidence-result p { color:#8c8794; font-size:9px; margin:7px 0; }

/* 05 · Permanent placement: candidate close card to finance slip. */
.workflow-form.ua-placement { --ua-accent:#3a6d84; background:#f6f9fa; }
.ua-close-badge { border-radius:6px; color:#578298; background:#eaf3f7; padding:6px 8px; font-weight:800; }
.ua-placement-main { flex:1; min-height:0; display:grid; grid-template-columns:1.04fr .96fr; }
.ua-candidate-card { padding:20px; overflow:auto; }
.ua-candidate-id { display:flex; align-items:center; gap:11px; padding:0 0 15px; border-bottom:1px solid #e8edf0; }
.ua-candidate-avatar { width:38px; height:38px; border-radius:13px; background:#dcebf1; display:grid; place-items:center; color:#5d8090; font-size:12px; font-weight:800; }.ua-candidate-id span,.ua-candidate-id small { display:block; font-size:9px; color:#8c979d; }.ua-candidate-id strong { display:block; font-size:14px; }
.ua-milestones { display:flex; gap:6px; margin:14px 0 13px; }
.ua-milestones>div { flex:1; border:1px solid #e4eaed; background:#fff; border-radius:8px; padding:7px; min-width:0; }.ua-milestones i { display:block; width:7px; height:7px; border-radius:50%; background:#eab874; margin-bottom:6px; }.ua-milestones i.done { background:#75ad8d; }.ua-milestones span,.ua-milestones small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.ua-milestones span { font-size:8px; font-weight:700; }.ua-milestones small { font-size:7px; color:#a0aab0; margin-top:3px; }
.ua-placement-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.ua-placement-fields .ua-check { grid-column:1/-1; }
.ua-placement-slip { background:#fff!important; border-left:1px solid #e4eaed!important; padding:21px 23px!important; position:relative; }
.ua-placement-slip:after { content:""; position:absolute; left:0; right:0; bottom:0; height:8px; background:radial-gradient(circle at 5px -2px,transparent 7px,#fff 7.5px) 0 0/13px 13px repeat-x; }
.ua-slip-top { display:flex; justify-content:space-between; color:#9ba4aa; font-size:8px; font-weight:800; letter-spacing:.12em; }.ua-slip-top span { font-size:9px; text-transform:none; letter-spacing:0; background:#eff3f5; padding:4px 7px; border-radius:5px; }
.ua-slip-heading { font-size:19px; font-weight:700; letter-spacing:-.05em; margin-top:13px; }.ua-slip-rule { height:1px; background:#e9edf0; margin:11px 0; }.ua-slip-client { color:#8b959b; font-size:9px; line-height:1.5; }.ua-slip-client strong { color:#42494d; font-size:10px; }
.ua-slip-total { display:flex; justify-content:space-between; align-items:baseline; gap:5px; margin-top:18px; padding:9px 0; border-top:1px solid #e7edf0; border-bottom:1px solid #e7edf0; }.ua-slip-total span { font-size:9px; color:#7b8790; }.ua-slip-total strong { font-size:24px; letter-spacing:-.06em; }
.ua-slip-status { color:#648097; margin-top:10px; font-size:10px; font-weight:700; }.ua-slip-rows { margin-top:8px; }.ua-slip-rows>div { display:flex; justify-content:space-between; padding:4px 0; font-size:8px; }.ua-slip-rows span { color:#9ba4a9; }.ua-placement-slip p { color:#9ba4a9; font-size:8px; margin:5px 0 9px; }

/* 06 · Contract staffing: timecard to distinct pay and bill books. */
.workflow-form.ua-timesheets { --ua-accent:#405f9b; background:#f7f9fc; }
.ua-timesheet-main { flex:1; min-height:0; display:grid; grid-template-columns:1fr 1fr; }
.ua-timecard { padding:20px; overflow:auto; }
.ua-timecard-hero { display:grid; grid-template-columns:105px 1fr; align-items:end; gap:8px; margin:16px 0; padding:15px; background:#fff; border:1px solid #e4eaf3; border-radius:12px; min-height:111px; }.ua-timecard-hero strong { display:block; font-size:26px; letter-spacing:-.06em; }.ua-timecard-hero span { display:block; color:#909aab; font-size:8px; }
.ua-calendar-bars { height:68px; display:flex; align-items:flex-end; justify-content:space-around; gap:7px; }.ua-day { flex:1; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:end; gap:4px; }.ua-hour-bar { width:100%; height:var(--h); max-height:52px; background:linear-gradient(#83a5db,#c4d5ed); border-radius:5px 5px 2px 2px; }.ua-day b { font-size:8px; color:#9ba5b4; font-weight:550; }
.ua-timecard-fields { display:grid; grid-template-columns:1fr; gap:10px; }.ua-timecard-note { font-size:9px; color:#939bab; margin-top:10px; }
.ua-paybill-card { background:#fff; border-left:1px solid #e5eaf3; padding:20px; overflow:auto; display:flex; flex-direction:column; }.ua-rate-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:13px 0 14px; }
.ua-paybill { flex:1; overflow:visible!important; }.ua-ledgers { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.ua-ledger { border-radius:11px; min-height:80px; padding:13px 11px; }.ua-ledger.pay { background:#eef4fe; color:#48618d; }.ua-ledger.bill { background:#eef7f3; color:#3f7964; }.ua-ledger span { display:block; font-size:9px; font-weight:650; }.ua-ledger strong { display:block; margin-top:12px; font-size:17px; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.ua-spread { display:flex; justify-content:space-between; gap:5px; margin-top:10px; border-bottom:1px solid #edf0f4; padding-bottom:8px; font-size:9px; }.ua-spread span { color:#87909f; }.ua-paybill-state { margin:15px 0 9px; color:#64809f; font-size:10px; font-weight:700; }.ua-paybill-state.warn { color:#a67a40; }

@container (max-width:600px) {
  .workflow-form.ua-app { width:100%; height:100%; font-size:10px; overflow:auto; scrollbar-width:thin; }
  .ua-app .ua-head { min-height:58px; padding:10px 13px; position:sticky; top:0; z-index:3; }
  .ua-app .ua-head h2 { font-size:16px; }
  .ua-app .ua-head-meta { font-size:8px; max-width:38%; white-space:normal; }
  .ua-app .ua-action-row { min-height:47px; padding:7px 11px; position:sticky; bottom:0; z-index:3; }
  .ua-app .ua-action-row>span { font-size:8px; }
  .ua-app .ua-submit { min-width:125px; font-size:9px; padding:8px 9px; }
  .ua-app .ua-revision-main,.ua-app .ua-approval-main,.ua-app .ua-costs-board,.ua-app .ua-evidence-main,.ua-app .ua-placement-main,.ua-app .ua-timesheet-main { display:flex; flex-direction:column; flex:none; overflow:visible; }
  .ua-app .ua-revision-input,.ua-app .ua-review-rail,.ua-app .ua-costs-table,.ua-app .ua-evidence-timeline,.ua-app .ua-candidate-card,.ua-app .ua-timecard { overflow:visible; padding:12px; border-right:0; }
  .ua-app .wf-output { overflow:visible!important; }
  .ua-app .ua-revision-output,.ua-app .ua-costs-output,.ua-app .ua-placement-slip,.ua-app .ua-evidence-card,.ua-app .ua-paybill-card { border-left:0!important; border-top:1px solid #e8ebf0; }
  .ua-app .ua-asset-view { min-height:200px; border-right:0!important; }
  .ua-app .ua-campaign-art { min-height:150px; }
  .ua-app .ua-costs-line { grid-template-columns:1fr 130px; }
  .ua-app .ua-costs-value { font-size:30px; margin-top:9px; }
  .ua-app .ua-evidence-card,.ua-app .ua-paybill-card { padding:12px; }
  .ua-app .ua-timecard-hero { margin:9px 0; }
}
@media(prefers-reduced-motion:reduce) { .ua-app .ua-check-indicator,.ua-app .ua-check-indicator:after,.ua-app .ua-costs-meter span { transition:none; } }
