/* TeamingPro site, new look (S5 wave 0, 10/23/2026): the compat map. A page that moved onto TPMasterV2.master before its
   markup was converted still carries Bootstrap 3 classes (btn-success, form-control, panel, table, alert). These rules give
   those classes the new look so the page is presentable while it waits its turn; a converted page uses the site-v2.css
   components and never needs this file. Scoped under body.tp-v2 like everything else. Greens from css/tp-tokens.css. */
body.tp-v2 .form-control { display: block; width: 100%; height: auto; border: 1px solid var(--border); border-radius: 6px; padding: 9px 12px; font-size: 14px; background: #fff; color: var(--text); font-family: inherit; box-shadow: none; }
body.tp-v2 .form-control:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #dbeafe; outline: none; }
body.tp-v2 .form-control::placeholder { color: var(--label); }
body.tp-v2 .btn-success, body.tp-v2 .btn-def, body.tp-v2 .btn-primary { background: var(--tp-green); border-color: var(--tp-green); color: #fff; border-radius: 6px; font-weight: 600; text-shadow: none; box-shadow: none; }
body.tp-v2 .btn-success:hover, body.tp-v2 .btn-def:hover, body.tp-v2 .btn-primary:hover, body.tp-v2 .btn-success:focus { background: var(--tp-green-dark); border-color: var(--tp-green-dark); color: #fff; }
body.tp-v2 .btn-info { background: var(--blue); border-color: var(--blue); color: #fff; border-radius: 6px; font-weight: 600; }
body.tp-v2 .btn-info:hover, body.tp-v2 .btn-info:focus { background: var(--blue-dark); border-color: var(--blue-dark); color: #fff; }
body.tp-v2 .btn-default, body.tp-v2 .btn-greyout, body.tp-v2 .btn-danger-hollow { background: #fff; border-color: var(--border); color: var(--text); border-radius: 6px; font-weight: 600; }
body.tp-v2 .btn-default:hover, body.tp-v2 .btn-greyout:hover, body.tp-v2 .btn-danger-hollow:hover { border-color: var(--blue); color: var(--blue); background: #fff; }
body.tp-v2 .btn-danger { background: #fff; border-color: #fecaca; color: var(--red); border-radius: 6px; font-weight: 600; }
body.tp-v2 .btn-danger:hover { background: #fee2e2; color: var(--red); }
body.tp-v2 .btn-warning { background: var(--amber); border-color: var(--amber-dark); color: #fff; border-radius: 6px; font-weight: 600; }
body.tp-v2 .btn-link { color: var(--blue); font-weight: 600; }
body.tp-v2 .panel { border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
body.tp-v2 .panel-heading { background: #fbfcfd; border-bottom: 1px solid var(--border); border-radius: 10px 10px 0 0; font-weight: 700; color: var(--ink); }
body.tp-v2 .panel-default > .panel-heading { background: #fbfcfd; color: var(--ink); }
body.tp-v2 .well { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; box-shadow: none; }
body.tp-v2 .table { font-size: 14px; }
body.tp-v2 .table > thead > tr > th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--label); border-bottom: 1px solid var(--border); font-weight: 700; padding: 10px 12px; }
body.tp-v2 .table > tbody > tr > td { padding: 11px 12px; border-top: 1px solid var(--border); vertical-align: middle; }
body.tp-v2 .table-hover > tbody > tr:hover { background: #fbfcfd; }
body.tp-v2 .alert { border-radius: 8px; padding: 10px 14px; font-size: 14px; }
body.tp-v2 .alert-success { background: var(--tp-green-soft); border-color: var(--tp-green-line); color: var(--tp-green-ink); }
body.tp-v2 .alert-info { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
body.tp-v2 .alert-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
body.tp-v2 .alert-danger { background: #fee2e2; border-color: #fecaca; color: var(--red); }
body.tp-v2 .text-muted { color: var(--muted); }
body.tp-v2 .container, body.tp-v2 .container-fluid { width: auto; max-width: 100%; padding-left: 0; padding-right: 0; }
/* a Bootstrap row straight inside the padding-less container would run 15 px past both edges (seen on the CRM at 390) */
body.tp-v2 .container > .row, body.tp-v2 .container-fluid > .row { margin-left: 0; margin-right: 0; }
body.tp-v2 section.box { margin: 0; padding: 0; }
body.tp-v2 br.rwd-break { display: none; }
body.tp-v2 .modalBackground { background: rgba(15,23,42,.45); }
/* 10/27/2026 (handoff 25, Tim: "all modals are not loading CSS"): the pages use 24 numbered pop-up classes (modalPopup, modalPopup2 to
   modalPopup24) that only css/freelancer.css defines, and the new-look master does not load that file; this rule covered four of them, so
   the other twenty opened as bare content over the backdrop. One rule for every variant: the box, and a width from the content capped
   to the screen (the old fixed widths and heights per variant are gone with freelancer.css). */
body.tp-v2 [class^="modalPopup"], body.tp-v2 [class*=" modalPopup"] { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 20px; box-shadow: 0 20px 50px rgba(0,0,0,.25); box-sizing: border-box; width: max-content; min-width: 320px; max-width: min(820px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow: auto; }
