/* PistonTribe — Resolution Centre v2.  GENERATED by Plan/build-rc2-css.py from Plan/pt-resolution-centre-v2.css.
   Do not edit by hand. The mockup rules below are verbatim; each selector is scoped under #pt-rc2. */

/* ═══ ADDITIONS — not in the mockup file ═══════════════════════════════════════════════════════════════════════════
   Only what a standalone mockup never needs and a WordPress page does. No new colours, no new type sizes.
   1 · ISOLATION. The theme, WooCommerce and wp-admin style bare buttons, headings, inputs, tables, `.card`, `.wrap` and
       `.notice`. Whatever the mockup file does not set would otherwise bleed in (radius, shadows, capitals, underlines).
       This block comes BEFORE the mockup rules, so every mockup rule still wins: `.pill` and `.msg` keep their radius. */
#pt-rc2{display:block;position:relative;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:normal;text-align:left;text-transform:none;letter-spacing:normal;-webkit-font-smoothing:antialiased}
#pt-rc2 *{border-radius:0;box-shadow:none;text-shadow:none;float:none;min-height:0}
#pt-rc2 h1,#pt-rc2 button,#pt-rc2 a,#pt-rc2 label,#pt-rc2 input,#pt-rc2 select,#pt-rc2 textarea,#pt-rc2 li,#pt-rc2 b,#pt-rc2 p{text-transform:inherit;letter-spacing:inherit;font-family:inherit;color:inherit}
#pt-rc2 h1{display:block;visibility:visible;position:static;border:0;background:none;line-height:1.2;text-align:left}
#pt-rc2 .kicker{display:block}
#pt-rc2 h1::before,#pt-rc2 h1::after{content:none;display:none}
#pt-rc2 a{text-decoration:none}
#pt-rc2 button,#pt-rc2 a.btn{display:inline-block;width:auto;height:auto;line-height:normal;text-decoration:none;background-image:none}
#pt-rc2 ol,#pt-rc2 ul{list-style-position:outside}
#pt-rc2 .card{max-width:none;min-width:0;padding:0;margin-top:0;position:static}
#pt-rc2 table{margin:0;table-layout:auto}
#pt-rc2 img{max-width:100%;border:0}
#pt-rc2 [hidden]{display:none !important}

/* ═══ THE MOCKUP STYLESHEET, VERBATIM, SCOPED ═══ */
#pt-rc2{--ink:#1A1A1A;--ink-2:#5C5A54;--ink-3:#8A887F;--line:#E4E2DB;--line-2:#C9C7BF;--paper:#FAF9F6;--white:#fff;
    --amber:#A86A00;--amber-bg:#F7F0E1;--green:#2E7D4F;--green-bg:#E7F1EA;--red:#B3261E;--red-bg:#F8E7E5;--grey-bg:#EFEDE7;--blue:#1D4ED8;
    --mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;--sans:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif}
#pt-rc2 *{box-sizing:border-box;margin:0;padding:0}
#pt-rc2{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
#pt-rc2 .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
#pt-rc2 .nav{display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:72px;border-bottom:1px solid var(--line)}
#pt-rc2 .nav .logo{font-weight:800;letter-spacing:.02em;font-size:17px}
#pt-rc2 .nav .links{display:flex;gap:32px;font-size:15px;text-transform:uppercase}
#pt-rc2 .nav.admin{background:#1D2327;color:#fff;height:48px;padding:0 24px;font-size:13px}
#pt-rc2 .nav.admin .links{font-size:13px;text-transform:none;color:#c3c4c7;gap:20px}
#pt-rc2 .wrap{max-width:1180px;margin:0 auto;padding:28px 40px 60px}
#pt-rc2 h1{font-size:26px;font-weight:500;letter-spacing:-.01em}
#pt-rc2 .sub{font-size:14px;color:var(--ink-2);margin-top:6px;line-height:1.5;max-width:720px}
#pt-rc2 .kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
#pt-rc2 .btn{font:inherit;font-size:14px;font-weight:500;padding:9px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--white);cursor:pointer;white-space:nowrap}
#pt-rc2 .btn.sec{background:var(--white);color:var(--ink);border-color:var(--line-2)}
#pt-rc2 .btn.sm{font-size:13px;padding:7px 12px}
#pt-rc2 .btn.full{width:100%;text-align:center}
#pt-rc2 .btn+.btn{margin-left:6px}
#pt-rc2 .stack .btn{display:block;width:100%;margin:8px 0 0;text-align:center}
#pt-rc2 .link{color:var(--blue);background:none;border:0;font:inherit;cursor:pointer;padding:0}
#pt-rc2 .spill{display:inline-block;font-size:13px;padding:3px 9px;background:var(--grey-bg);color:var(--ink-2);white-space:nowrap}
#pt-rc2 .spill.red{background:var(--red-bg);color:var(--red)}
#pt-rc2 .spill.amber{background:var(--amber-bg);color:var(--amber)}
#pt-rc2 .spill.green{background:var(--green-bg);color:var(--green)}
#pt-rc2 .card{background:var(--white);border:1px solid var(--line-2)}
#pt-rc2 .card+.card{margin-top:14px}
#pt-rc2 .card .h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
#pt-rc2 .card .b{padding:14px 16px}
#pt-rc2 .kv{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
#pt-rc2 .kv:first-child{border-top:0}
#pt-rc2 .kv .k{color:var(--ink-2)}
#pt-rc2 .kv .v{font-family:var(--mono);text-align:right}
#pt-rc2 .kv .v.s{font-family:var(--sans)}
#pt-rc2 .tl{list-style:none;margin-top:6px}
#pt-rc2 .tl li{position:relative;padding:0 0 10px 20px;font-size:13.5px;line-height:1.4}
#pt-rc2 .tl li::before{content:"";position:absolute;left:2px;top:6px;width:8px;height:8px;background:var(--line-2)}
#pt-rc2 .tl li::after{content:"";position:absolute;left:5.5px;top:15px;bottom:-2px;width:1px;background:var(--line)}
#pt-rc2 .tl li:last-child::after{display:none}
#pt-rc2 .tl li.done::before{background:var(--green)}
#pt-rc2 .tl li.now::before{background:var(--amber)}
#pt-rc2 .tl li.red::before{background:var(--red)}
#pt-rc2 .tl .w{display:block;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
#pt-rc2 .notice{border-left:4px solid var(--amber);background:var(--paper);padding:12px 16px;font-size:14px;line-height:1.5}
#pt-rc2 .notice.red{border-left-color:var(--red)}
#pt-rc2 .notice.green{border-left-color:var(--green)}
#pt-rc2 .notice.ink{border-left-color:var(--ink)}
#pt-rc2 .fine{font-size:12.5px;color:var(--ink-3);line-height:1.45;margin-top:8px}
#pt-rc2 .tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:22px 0 18px;font-size:15px}
#pt-rc2 .tabs span{padding:0 0 12px;color:var(--ink-2);cursor:pointer}
#pt-rc2 .tabs span.on{color:var(--ink);border-bottom:2px solid var(--ink);margin-bottom:-1px}
#pt-rc2 .tabs .n{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-left:6px}
#pt-rc2 .pills{display:flex;gap:6px;flex-wrap:wrap}
#pt-rc2 .pill{font-size:12.5px;padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);white-space:nowrap;cursor:pointer}
#pt-rc2 .pill.on{background:var(--ink);color:var(--white);border-color:var(--ink)}
#pt-rc2 .pill .n{font-family:var(--mono);font-size:11.5px;margin-left:5px;opacity:.8}
#pt-rc2 .cols{display:grid;grid-template-columns:1fr 320px;gap:24px}
#pt-rc2 .crow{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;padding:16px;border-top:1px solid var(--line)}
#pt-rc2 .crow:first-child{border-top:0}
#pt-rc2 .crow .th{width:56px;height:56px;background:#D9D7CF}
#pt-rc2 .crow .t{font-size:15px;font-weight:500}
#pt-rc2 .crow .m{font-size:13px;color:var(--ink-2);margin-top:3px}
#pt-rc2 .crow .d{font-size:12.5px;color:var(--ink-3);margin-top:5px}
#pt-rc2 .crow .d b{color:var(--ink);font-weight:500}
#pt-rc2 .crow .r{text-align:right}
#pt-rc2 .crow .r .spill{margin-bottom:8px}
#pt-rc2 .crow .age{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:6px}
#pt-rc2 .case3{display:grid;grid-template-columns:280px 1fr 320px;gap:20px;margin-top:20px;align-items:start}
#pt-rc2 .back{font-size:14px;color:var(--ink-2);margin-top:20px;display:inline-block}
#pt-rc2 .rc{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-2);padding:7px 0;border-top:1px solid var(--line)}
#pt-rc2 .rc:first-child{border-top:0}
#pt-rc2 .rc .i{color:var(--ink-3);width:14px}
#pt-rc2 .rc .a{font-family:var(--mono);color:var(--ink);margin-left:auto}
#pt-rc2 .rc .w{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
#pt-rc2 .rc.red .i,#pt-rc2 .rc.red span:nth-child(2){color:var(--red)}
#pt-rc2 .thread{display:flex;flex-direction:column;gap:14px;padding:16px}
#pt-rc2 .intake{border:1px solid var(--ink);padding:14px 16px;font-size:14px}
#pt-rc2 .intake .ih{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:8px}
#pt-rc2 .intake ul{margin:8px 0 0 18px;line-height:1.5}
#pt-rc2 .intake .files{display:flex;gap:6px;margin-top:10px;align-items:center;font-size:12.5px;color:var(--ink-2)}
#pt-rc2 .intake .files span{width:40px;height:40px;background:#D9D7CF}
#pt-rc2 .msg{max-width:72%;border:1px solid var(--line);padding:10px 14px;font-size:14px;line-height:1.45;align-self:flex-start;border-radius:0 12px 12px 12px}
#pt-rc2 .msg.me{align-self:flex-end;background:var(--paper);border-radius:12px 0 12px 12px}
#pt-rc2 .msg.pt{border-color:var(--ink);border-radius:0;max-width:85%}
#pt-rc2 .msg .w{display:block;font-size:11.5px;color:var(--ink-3);margin-bottom:3px}
#pt-rc2 .sys{align-self:center;font-size:12.5px;color:var(--ink-3);border:1px solid var(--line);padding:4px 12px}
#pt-rc2 .sys.red{color:var(--red);border-color:var(--red)}
#pt-rc2 .prop{border:1px solid var(--line-2);padding:12px 14px;font-size:14px}
#pt-rc2 .prop .ph{display:flex;justify-content:space-between;align-items:center;font-weight:600}
#pt-rc2 .prop .pd{color:var(--ink-2);font-size:13.5px;margin-top:4px;line-height:1.45}
#pt-rc2 .prop .pa{margin-top:10px;display:flex;gap:8px;align-items:center;font-size:13px}
#pt-rc2 .comp{border-top:1px solid var(--line);padding:12px 16px}
#pt-rc2 .comp .in{border:1px solid var(--line-2);padding:10px 12px;font-size:14px;color:var(--ink-3);margin-bottom:8px}
#pt-rc2 .comp .row{display:flex;gap:8px;align-items:center}
#pt-rc2 .comp .hint{font-size:12.5px;color:var(--ink-3);margin-left:auto}
#pt-rc2 .who{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
#pt-rc2 .who:first-child{border-top:0}
#pt-rc2 .who .av{width:32px;height:32px;background:#C9C7BF;flex:0 0 auto}
#pt-rc2 .who .m{font-size:12.5px;color:var(--ink-2)}
#pt-rc2 .who .r{margin-left:auto;font-size:12px;color:var(--ink-3)}
#pt-rc2 .stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}
#pt-rc2 .stat{border:1px solid var(--line-2);background:var(--white);padding:14px 16px;cursor:pointer}
#pt-rc2 .stat.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#pt-rc2 .stat b{display:block;font-family:var(--mono);font-size:24px;font-weight:500}
#pt-rc2 .stat span{font-size:13px;color:var(--ink-2)}
#pt-rc2 .stat.amber b{color:var(--amber)}
#pt-rc2 .stat.red b{color:var(--red)}
#pt-rc2 .stat.green b{color:var(--green)}
#pt-rc2 table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--white);border:1px solid var(--line-2)}
#pt-rc2 th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:10px 14px;border-bottom:1px solid var(--line-2);background:var(--paper);white-space:nowrap}
#pt-rc2 td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
#pt-rc2 td .m{font-size:12.5px;color:var(--ink-2);margin-top:2px}
#pt-rc2 td .sla{font-family:var(--mono);font-size:12px}
#pt-rc2 td .sla.over{color:var(--red)}
#pt-rc2 .chan{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 7px;background:var(--ink);color:var(--white)}
#pt-rc2 .chan.shop{background:var(--paper);color:var(--ink);border:1px solid var(--line-2)}
#pt-rc2 .month{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-2);background:var(--white);margin-top:20px}
#pt-rc2 .month>div{padding:12px 16px;border-left:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
#pt-rc2 .month>div:first-child{border-left:0}
#pt-rc2 .month b{display:block;font-family:var(--mono);font-size:20px;font-weight:500;color:var(--ink)}
#pt-rc2 .spanel{border:1px solid var(--ink);background:var(--paper)}
#pt-rc2 .spanel .h{border-bottom:1px solid var(--line-2)}
#pt-rc2 .spanel .h .kicker{color:var(--ink)}
#pt-rc2 .snote{border:1px solid var(--line-2);background:var(--white);padding:8px 10px;font-size:13px;margin-top:8px;line-height:1.4}
#pt-rc2 .snote .w{display:block;font-size:11.5px;color:var(--ink-3);margin-bottom:2px}
#pt-rc2 textarea{font:inherit;width:100%;min-height:60px;padding:8px 10px;border:1px solid var(--line-2);font-size:13px;margin-top:8px;resize:vertical}
#pt-rc2 .bar{font-size:12.5px;color:var(--amber);margin-top:10px;line-height:1.4}
#pt-rc2 .gate{font-size:12px;color:var(--ink-3);margin-top:6px}
#pt-rc2 .toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--white);font-size:13px;padding:12px 14px;z-index:40}
#pt-rc2 :focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (max-width:720px){
#pt-rc2 .wrap{padding:16px 14px 30px}
#pt-rc2 h1{font-size:20px}
#pt-rc2 .cols,#pt-rc2 .case3{grid-template-columns:1fr;gap:14px}
#pt-rc2 .crow{grid-template-columns:1fr auto;gap:10px}
#pt-rc2 .crow .th{display:none}
#pt-rc2 .stats,#pt-rc2 .month{grid-template-columns:repeat(2,1fr)}
#pt-rc2 .msg{max-width:88%}
#pt-rc2 .tabs{gap:16px;font-size:14px}
#pt-rc2 table{font-size:12.5px}
}

/* 2 · LAYOUT IN THE PAGE. The account template is a narrow column; the mockup is a 1180px page. Same break-out the old
       case pages used. In wp-admin the container simply sits in the content area. */
#pt-rc2.pt-rc2--front{width:calc(100vw - 48px);max-width:none;margin-left:calc(50% - 50vw + 24px)}
#pt-rc2.pt-rc2--admin{margin:10px 20px 0 0;background:none}
/* 3 · REAL CONTENT in the mockup's grey placeholder boxes. */
#pt-rc2 .th img,#pt-rc2 .av img,#pt-rc2 .intake .files span img{display:block;width:100%;height:100%;object-fit:cover}
#pt-rc2 .intake .files span a{display:block;width:100%;height:100%}
#pt-rc2 .th,#pt-rc2 .av,#pt-rc2 .intake .files span{overflow:hidden}
#pt-rc2 .intake .body{white-space:pre-wrap;margin-top:8px;line-height:1.5}
/* 4 · CONTROLS the mockup draws as static boxes: the composer is a real textarea, the modal has real fields. */
#pt-rc2 .comp textarea.in{display:block;width:100%;min-height:40px;margin-top:0;color:var(--ink);font-size:14px;background:var(--white)}
#pt-rc2 .comp textarea.in::placeholder{color:var(--ink-3)}
#pt-rc2 .comp .status{font-size:12.5px;color:var(--ink-2)}
#pt-rc2 input[type=number],#pt-rc2 select{font:inherit;font-size:13px;width:100%;height:auto;padding:8px 10px;margin-top:8px;border:1px solid var(--line-2);background:var(--white);color:var(--ink)}
#pt-rc2 .btn:hover,#pt-rc2 .stat:hover,#pt-rc2 .pill:hover{opacity:.85}   /* house rule: every button dims on hover, never recolours */
#pt-rc2 a.stat,#pt-rc2 a.pill,#pt-rc2 a.crowlink{color:inherit}
#pt-rc2 .empty{padding:16px;font-size:14px;color:var(--ink-2)}
/* 6 · THE MOCKUP'S OWN INLINE STYLES, AS RULES — so the templates carry no inline styles at all. Values are the mockup's. */
#pt-rc2 h1{margin-top:6px}
#pt-rc2 .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
#pt-rc2 .stats+.pills{margin-bottom:12px}
#pt-rc2 .cols .pills{margin-bottom:12px}
#pt-rc2 .crow.first{border-top:0}
#pt-rc2 table+.pills{margin-top:12px}
#pt-rc2 .b>.kicker{font-size:11px}
#pt-rc2 .b>*+.kicker{margin-top:14px}
#pt-rc2 .decides{font-size:14px;margin:4px 0 12px}
#pt-rc2 .rechead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#pt-rc2 .rechead .mono{font-size:15px}
#pt-rc2 .rc .w:nth-child(3){margin-left:auto}
#pt-rc2 .h .mono,#pt-rc2 .ih .mono{font-weight:400;font-size:12px;color:var(--ink-3)}
#pt-rc2 .intake .by{font-size:12.5px;color:var(--ink-2)}
#pt-rc2 .prop .pa .link{margin-left:auto}
#pt-rc2 .prop .pa>span{color:var(--ink-3)}
#pt-rc2 .spanel .status{font-size:13.5px;font-weight:600}
#pt-rc2 .av.pt{background:var(--ink)}
#pt-rc2 td b{font-weight:500}
#pt-rc2 td:last-child{text-align:right}
#pt-rc2 .wrap>.notice{margin-top:20px}
/* 5 · THE CONFIRM STEP (no native confirm()). Built from the mockup's own .card / .h / .b / .btn. */
#pt-rc2 .rcm{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
#pt-rc2 .rcm .bg{position:absolute;inset:0;background:var(--ink);opacity:.5}
#pt-rc2 .rcm .card{position:relative;width:100%;max-width:440px;max-height:88vh;overflow:auto}
#pt-rc2 .rcm .txt{font-size:14px;line-height:1.5;color:var(--ink-2)}
#pt-rc2 .rcm label{display:block;font-size:12.5px;color:var(--ink-2);margin-top:10px}
#pt-rc2 .rcm .err{font-size:12.5px;color:var(--amber);margin-top:10px;min-height:1px}
#pt-rc2 .rcm .row{display:flex;justify-content:flex-end;margin-top:14px}
