.compliance-app{min-height:100vh;background:#f3f6fb}.compliance-shell{max-width:1520px;margin:0 auto;padding:26px 36px 42px;color:#253654;font:14px/1.45 Arial,Helvetica,sans-serif}
.compliance-shell *{box-sizing:border-box}.compliance-shell button,.compliance-shell input,.compliance-shell select,.compliance-shell textarea{font:inherit}
.compliance-shell button,.comp-dialog button{cursor:pointer}.compliance-shell button:disabled,.comp-dialog button:disabled{cursor:wait;opacity:.65}
.comp-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 25px;padding:2px 2px 15px;border-bottom:1px solid #dae3ef}
.comp-welcome h1{font-size:29px;font-weight:500;letter-spacing:-.5px;color:#2670bc;margin:0 0 3px}.comp-welcome p{color:#7a879a;margin:0}
.comp-firm{display:flex;align-items:center;gap:18px;text-align:right}.comp-firm strong{display:block;color:#244b7b;font-size:14px;max-width:300px}.comp-firm small{display:block;color:#7b8ba1}
.comp-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #dce4ef!important;border-radius:7px;background:white!important;color:#4675ab!important}
.comp-icon-button svg{width:20px;height:20px}.comp-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.comp-module-card{position:relative;overflow:hidden;min-height:172px;padding:22px 20px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:7px;background:#fff!important;border:1px solid #e5ebf4!important;border-radius:7px!important;box-shadow:0 2px 7px #244b7b08;color:#3a4d66!important;transition:transform .15s,box-shadow .15s,border-color .15s}
.comp-card-watermark{position:absolute;right:-8px;bottom:-13px;color:var(--comp-accent,#3784d3);opacity:.055;transform:rotate(-12deg);pointer-events:none}.comp-card-watermark svg{width:100px;height:100px}.comp-module-card strong,.comp-module-card small{position:relative;z-index:1}.comp-module-card strong{color:var(--comp-accent,#3784d3)}.comp-module-card small{max-width:180px;line-height:1.55}
.comp-module-card small.comp-card-footnote{color:#6690bb;font-size:10px;margin-top:auto}
.comp-module-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #244b7b13;border-color:#aac9e8!important}.comp-module-card:focus-visible{outline:3px solid #a6d0f5;outline-offset:2px}
.comp-module-card .comp-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--comp-tint,#eaf3ff);color:var(--comp-accent,#3784d3);margin-bottom:4px}
.comp-card-icon svg{width:29px;height:29px;stroke-width:1.7}.comp-module-card strong{font-size:15px;font-weight:600;letter-spacing:.15px}.comp-module-card small{font-size:11px;color:#8a97a9}.comp-module-card .comp-card-count{position:absolute;top:12px;right:12px;border-radius:10px;padding:1px 7px;font-size:10px;color:#7c8ba1;background:#f2f6fb}
.comp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 24px}.comp-stat{padding:14px 18px;border:1px solid #e2e9f2;border-radius:7px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}.comp-stat span{color:#8190a4;font-size:12px}.comp-stat strong{font-size:23px;font-weight:500;color:#3a659a}.comp-stat.comp-overdue strong{color:#b97828}
.comp-section-caption{display:flex;align-items:center;justify-content:space-between;margin:12px 0 16px;gap:12px}.comp-section-caption h2{font-size:16px;color:#536a86;font-weight:500;margin:0}.comp-section-caption p{margin:0;color:#8492a6;font-size:12px}
.comp-panel{background:white;border:1px solid #e1e8f2;border-radius:8px;box-shadow:0 2px 7px #244b7b06;overflow:hidden}.comp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid #e8edf4}.comp-panel-head h2{font-size:18px;margin:0;color:#2f527f;font-weight:500}.comp-panel-head p{font-size:12px;color:#8a98aa;margin:4px 0 0}.comp-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.comp-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cfdae8!important;border-radius:5px!important;background:#fff!important;color:#4f6d92!important;min-height:34px;padding:7px 13px!important;text-decoration:none;white-space:nowrap;font-size:12px!important;box-shadow:none!important}.comp-button:hover{background:#f0f6fd!important;border-color:#8db3dd!important}.comp-button.primary{background:#347dce!important;border-color:#347dce!important;color:white!important}.comp-button.primary:hover{background:#286bb6!important}.comp-button.danger{color:#b05050!important}.comp-button svg{width:15px;height:15px}
.comp-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:17px 22px;background:#fbfcfe;border-bottom:1px solid #e9edf4}.comp-filters label{display:flex;flex-direction:column;gap:5px;color:#8290a3;font-size:11px}.comp-filters input,.comp-filters select{min-height:34px;border:1px solid #d7e1ed;background:#fff;padding:6px 10px;border-radius:4px;max-width:250px;color:#3e5673}.comp-filters .comp-search{flex:1;min-width:200px}.comp-search input{width:100%;max-width:none}.comp-filters .comp-check-filter{flex-direction:row;align-items:center;padding-bottom:7px}
.comp-table-wrap{width:100%;overflow:auto}.comp-table{border-collapse:collapse;width:100%;min-width:740px;font-size:12px}.comp-table th{text-align:left;color:#74849a;font-weight:500;letter-spacing:.15px;background:#f7f9fd;border-bottom:1px solid #e4ebf3;padding:12px 18px;white-space:nowrap}.comp-table td{padding:13px 18px;border-bottom:1px solid #edf1f6;vertical-align:middle;color:#4c627e}.comp-table tbody tr:hover{background:#fafcff}.comp-table td small{display:block;color:#8c98aa;font-size:10px;margin-top:3px}.comp-table .comp-row-actions{display:flex;gap:6px;flex-wrap:wrap}.comp-link{padding:0!important;border:0!important;background:none!important;color:#2775c6!important;text-align:left;font-size:12px!important;box-shadow:none!important;font-weight:600}.comp-muted{color:#8795a7;font-size:12px}.comp-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:10px;white-space:nowrap;background:#edf4fc;color:#4476ad}.comp-badge.success{background:#e9f6ef;color:#3e8560}.comp-badge.warning{background:#fff5e6;color:#ad7b29}.comp-badge.inactive{background:#f0f1f4;color:#8c95a2}
.comp-empty{padding:48px 24px;text-align:center;color:#8b99ab}.comp-empty strong{display:block;color:#567193;font-size:16px;font-weight:500;margin-bottom:6px}.comp-empty p{margin:0 0 16px}.comp-pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;color:#8b97a8;font-size:11px}.comp-pagination .comp-toolbar{gap:7px}.comp-notice{padding:11px 14px;margin:14px 0;background:#f1f6fc;border:1px solid #dfeaf6;border-radius:5px;color:#5b789b;font-size:12px}.comp-notice.warning{background:#fff8eb;border-color:#f2e1bc;color:#917135}.comp-notice.error{background:#fff2f2;border-color:#edcaca;color:#ad5353}.comp-loading{padding:34px;color:#8291a5;text-align:center}
.comp-dialog{color:#415b7a;font:13px/1.5 Arial,Helvetica,sans-serif}.comp-dialog .field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.comp-dialog .field{min-width:0}.comp-dialog .field label{display:block;font-size:11px;color:#73849d;margin:0 0 5px}.comp-dialog input:not([type=checkbox]),.comp-dialog select,.comp-dialog textarea{width:100%;border:1px solid #cfdcea;border-radius:4px;background:white;padding:8px;color:#374f6d;min-height:34px}.comp-dialog textarea{min-height:76px;resize:vertical}.comp-dialog .span-two{grid-column:span 2}.comp-dialog .span-all{grid-column:1/-1}.comp-dialog fieldset{margin:18px 0;border:1px solid #e0e8f2;border-radius:6px;padding:16px}.comp-dialog legend{color:#4774a5;padding:0 7px;font-weight:600}.comp-dialog .comp-table{min-width:600px}.comp-dialog .comp-table th,.comp-dialog .comp-table td{padding:9px 11px}.comp-tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid #dfe7f1;margin-bottom:18px;padding-bottom:10px}.comp-tabs button{border:1px solid transparent;background:#f5f8fc;color:#71839d;padding:7px 13px;border-radius:4px;font-size:12px}.comp-tabs button.active{border-color:#d2e3f5;background:#eaf3fc;color:#2d77c4}.comp-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.comp-detail-grid dt{color:#8b98aa;font-size:11px}.comp-detail-grid dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.comp-credential-secret{font-family:Consolas,monospace!important}.comp-profile-name{font-size:15px;color:#3377bb;margin:0 0 14px}.comp-record-note{padding:10px 22px;border-top:1px solid #e5ebf3;font-size:11px;color:#91a0b2}
.comp-event-list{margin:12px 0;padding-left:23px;color:#71839b}.comp-event-list li{padding:7px 0}.comp-event-list strong{color:#3e6a9b}.comp-event-list p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.comp-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.comp-services>label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dce6f3;border-radius:5px;background:#fafcff;cursor:pointer}.comp-services input{margin-top:3px;accent-color:#337ac8}.comp-services strong,.comp-services small{display:block}.comp-services small{margin-top:4px;font-size:11px;color:#8a98ac}.practice-panel{margin:0 0 22px}.practice-panel h3{font-size:15px;margin:0;font-weight:500;color:#376492}.practice-filters{background:#f0f5fc}.practice-matrix-wrap{max-height:670px}.practice-matrix{min-width:1250px;table-layout:fixed}.practice-matrix th,.practice-matrix td{padding:8px 6px;border-right:1px solid #e6edf6;text-align:center;font-size:11px}.practice-matrix th{position:sticky;top:0;z-index:2;background:#e8f1fb;color:#2e649d}.practice-matrix .practice-sticky{position:sticky;left:0;width:235px;min-width:235px;text-align:left;padding:10px 13px;background:#fff;z-index:1;box-shadow:3px 0 5px #24568b0a}.practice-matrix th.practice-sticky{z-index:3;background:#e8f1fb}.practice-cell{border:0!important;background:transparent!important;box-shadow:none!important;padding:5px 0!important;width:100%;min-height:44px;cursor:pointer}.practice-cell:hover{background:#eef6ff!important}.practice-cell small{font-size:9px!important;color:#9aa9ba!important}.practice-stage{display:inline-block;font-size:10px;padding:3px 6px;border-radius:4px;background:#f2f4f8;color:#8a98aa;white-space:normal}.practice-stage.ready{background:#e1f5e9;color:#338d5b}.practice-stage.review{background:#fff1ce;color:#ad8221}.practice-body{padding:18px 22px}.practice-section{margin:0 0 20px;border:1px solid #e1e9f3;border-radius:5px;overflow:hidden}.practice-section .comp-panel-head{padding:13px 16px;background:#fafcff}.practice-section .comp-table th,.practice-section .comp-table td{padding:9px 12px;max-width:350px;overflow-wrap:normal;word-break:normal}.practice-section .practice-actions{min-width:135px;white-space:nowrap}.practice-section .practice-actions .comp-button{padding:5px 8px!important;min-height:28px}.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practice-field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#6883a3;min-width:0}.practice-field input,.practice-field select,.practice-field textarea{font:13px Arial,sans-serif;padding:8px 10px;min-height:35px;border:1px solid #ceddeb;border-radius:4px;color:#355778;background:#fff;width:100%;min-width:0}.practice-field textarea{min-height:70px;resize:vertical}.practice-field small{line-height:1.5;color:#8998ad}.practice-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#587694}.practice-check input{accent-color:#3585d2}.practice-review{margin:18px 0;padding:18px;background:#f6f9fd;border:1px solid #dde7f2;border-radius:5px}.practice-review h3{margin-bottom:13px}.practice-working{margin:18px 0;padding:18px;border:1px solid #d7e5f4;border-radius:5px}.practice-working h3{margin-bottom:14px}.practice-working>small{display:block;color:#8b9bb0;font-size:11px;margin-top:12px}.practice-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.practice-totals>div{background:#f4f8fd;padding:12px;border-radius:4px;overflow-wrap:anywhere}.practice-totals span{display:block;font-size:11px;color:#7790ad}.practice-totals strong{display:block;margin-top:4px;font-size:17px;color:#306ca9;font-weight:500}.practice-issues{color:#a47530;font-size:12px;line-height:1.7}.practice-history{margin:16px 0;padding:14px;border:1px solid #dce6f2}.practice-history summary,.practice-working-detail summary{cursor:pointer;font-size:13px;color:#386aa0}.practice-history>div{margin-top:12px;border-top:1px solid #e8eff6;padding-top:10px}.practice-history p{margin:4px 0}.practice-working-detail{border:1px solid #dfe8f4;padding:12px;margin:10px 0}.practice-working-detail .practice-working-detail{padding:8px;margin:6px 0}.practice-working-pair{display:flex;justify-content:space-between;gap:15px;padding:6px 0;border-bottom:1px solid #edf2f8;font-size:12px}.practice-working-pair span{color:#7c8ea5}.practice-working-pair strong{color:#4d7099;font-weight:500}.practice-audit-checks td:first-child{min-width:330px;max-width:510px}.practice-audit-checks td:first-child strong{display:block;font-size:12px;font-weight:500;line-height:1.55}.practice-audit-checks .comp-muted{font-size:9px}.practice-workpaper-title{padding:16px}.practice-workpaper-title h3{margin-bottom:6px}.practice-nested-row{padding:12px;margin-bottom:12px;background:#f7faff;border:1px solid #e0e9f4;border-radius:5px}.practice-nested-row .comp-button{margin-top:10px}.practice-dialog fieldset{max-height:420px;overflow:auto}.practice-workspace #practice-save-error:not(:empty){padding:0 20px}.practice-workspace #practice-dirty-state{color:#7890ad;font-size:12px}
@media(max-width:1000px){.practice-grid,.comp-services{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-body{padding:15px}.practice-matrix .practice-sticky{width:195px;min-width:195px}}
@media(max-width:580px){.practice-grid,.comp-services{grid-template-columns:1fr}.practice-body{padding:10px}.practice-review,.practice-working{padding:12px}.practice-matrix .practice-sticky{width:165px;min-width:165px}.practice-totals{gap:8px}.practice-totals strong{font-size:14px}}
@media(min-width:1440px){.comp-card-grid{gap:22px}.comp-module-card{min-height:166px}}
@media(max-width:1100px){.compliance-shell{padding:22px}.comp-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.comp-dialog .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.compliance-shell{padding:18px}.comp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.comp-welcome{align-items:start}.comp-firm strong{max-width:200px}.comp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.comp-panel-head{padding:16px}.comp-filters{padding:14px}.comp-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.compliance-shell{padding:14px 10px}.comp-welcome{flex-direction:column;gap:12px}.comp-welcome h1{font-size:24px}.comp-firm{text-align:left;justify-content:space-between;width:100%}.comp-firm strong{max-width:none}.comp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.comp-module-card{min-height:135px;padding:20px 8px 14px}.comp-module-card strong{font-size:13px}.comp-panel-head{align-items:start;flex-direction:column}.comp-stats{gap:9px}.comp-stat{padding:12px}.comp-stat strong{font-size:20px}.comp-dialog .field-grid,.comp-detail-grid{grid-template-columns:1fr}.comp-dialog .span-two{grid-column:auto}.comp-filters label,.comp-filters .comp-search{width:100%;min-width:0}.comp-filters input,.comp-filters select{max-width:none}.comp-pagination{padding:12px;gap:10px}.comp-section-caption{align-items:start;flex-direction:column}}

/* Shared client context and scoped preparation exchange controls. */
.comp-client-context{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:0 0 18px}.comp-client-context h2{margin:0;color:#315d8a;font-size:18px;font-weight:500}.comp-client-context p{margin:5px 0;color:#7288a2;font-size:12px}.comp-client-context small{font-size:11px;color:#8795a8}.comp-client-context>.comp-toolbar{justify-content:flex-end;max-width:55%}.practice-exchange{gap:5px;margin:10px 0}.practice-exchange .comp-button{font-size:10px!important;min-height:29px;padding:5px 8px!important}.practice-section>.practice-exchange{padding:0 16px}.practice-historical{color:#b08038!important}.practice-source-picker{display:grid;gap:9px;max-height:340px;overflow:auto;margin:16px 0}.practice-source-picker>label{display:flex;align-items:flex-start;gap:11px;border:1px solid #dce7f4;background:#f8fbff;padding:12px;border-radius:5px;cursor:pointer}.practice-source-picker input{margin-top:4px;accent-color:#357fca}.practice-source-picker small{display:block;margin-top:4px;color:#8796aa}.practice-evidence-search{margin-top:16px;padding-top:12px;border-top:1px solid #e1e9f3;align-items:end}.practice-evidence-search>.practice-field{flex:1;min-width:180px}.practice-evidence-search>small{color:#8394ab;font-size:11px;padding-bottom:8px}@media(max-width:820px){.comp-client-context{align-items:flex-start;flex-direction:column;padding:16px}.comp-client-context>.comp-toolbar{max-width:none;justify-content:flex-start}.practice-section .comp-panel-head{align-items:start;flex-direction:column}.practice-source-picker{max-height:280px}}
/* TCC OFFICE workspace */
[hidden]{display:none!important}.tcc-brand{display:flex;align-items:center;gap:13px}.tcc-mark{background:linear-gradient(140deg,#3c64bd,#152747);color:white;border-radius:12px;display:grid;place-items:center;width:52px;height:52px;font-weight:800;font-size:15px;box-shadow:0 5px 12px #17345a1a}.comp-welcome h1{font-size:23px;font-weight:700;letter-spacing:.4px;color:#263d66;margin:0}.comp-welcome{margin-bottom:14px}.comp-welcome p,.comp-section-caption>p{display:none}.comp-firm{gap:14px}.tcc-sync{font-size:10px;letter-spacing:.7px;color:#257957;background:#e7f6ee;border-radius:15px;padding:5px 9px;white-space:nowrap}.compliance-shell>nav{margin-bottom:22px}.tcc-dashboard{background:radial-gradient(ellipse at 0 0,#e8edf9,transparent 50%);min-height:100vh}.comp-card-grid{gap:16px}.comp-module-card{min-height:150px!important;padding:20px!important;gap:12px!important;border-radius:13px!important;box-shadow:0 4px 20px #26395406!important}.comp-module-card .comp-card-icon{width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--comp-accent) 85%,white),var(--comp-accent));color:white;box-shadow:0 5px 10px color-mix(in srgb,var(--comp-accent) 18%,transparent)}.comp-module-card .comp-card-icon svg{width:32px;height:32px;stroke-width:1.65}.comp-module-card strong{color:#263a58!important;font-size:14px;letter-spacing:.65px}.comp-card-count{font-size:9px!important;background:#f2f5f9!important;color:#6d7b8d!important}.comp-panel-head h2,.comp-client-context h2{ text-transform:uppercase}.comp-table th{font-weight:600}.tcc-master-table{min-width:1000px}.tcc-master-table th{background:#91d2ec;color:#10283c;border:1px solid #7397a8;padding:10px 12px;font-size:12px;letter-spacing:0}.tcc-master-table td{border:1px solid #dce1e8;padding:10px 12px;font-size:12px}.tcc-master-table td:nth-child(4){min-width:230px}.tcc-party-name{text-transform:uppercase}.tcc-workspace-tabs{display:flex;align-items:center;gap:4px;overflow:auto;background:#172f52;padding:8px 12px;height:49px;color:white;white-space:nowrap}.tcc-workspace-tabs>strong{font-size:11px;padding-right:12px;letter-spacing:1px}.tcc-workspace-tabs button{border:0;background:transparent;color:#cad8ed;padding:8px 10px;cursor:pointer;font:600 11px Arial;white-space:nowrap;border-radius:5px}.tcc-workspace-tabs [aria-selected=true]{background:#fff;color:#254a7b}.tcc-tab{display:flex;align-items:center;border:1px solid #385274;border-radius:6px}.tcc-tab.active{background:#fff}.tcc-tab.active button{color:#254a7b}.tcc-app-frame{border:0;width:100%;height:calc(100vh - 49px);display:block;background:#f3f6fb}#workspace-tabs{position:sticky;top:0;z-index:100}.comp-table tbody tr:has(.comp-link):hover{background:#f0f6fc}.comp-panel-head p,.comp-record-note{font-size:11px}.tcc-status-counts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tcc-status-counts span{padding:7px 10px;border:1px solid #dde5ee;border-radius:5px}.comp-module-card:hover{transform:translateY(-3px)}
@media(max-width:760px){.comp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comp-module-card{min-height:135px!important}.comp-welcome{flex-wrap:wrap}.comp-firm>strong{display:none}.tcc-workspace-tabs>strong{display:none}}
