:root{--bg:#0c0f14;--surface:#141a24;--surface-2:#1a2230;--border:#2a3548;--text:#eef1f6;--muted:#8d97ab;--accent:#c9a962;--accent-dim:#9e7d3c;--accent-glow:#c9a96226;--danger:#e85d5d;--warn:#e8a84a;--success:#5cb88a;--radius:12px;--radius-sm:8px;--shadow:0 12px 40px #00000059;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}a{color:var(--accent);text-underline-offset:.18em;text-decoration:none;transition:color .15s,text-decoration-color .15s}a:hover{color:#e4c57a;-webkit-text-decoration:underline #e4c57ab3;text-decoration:underline #e4c57ab3}a:focus-visible{outline-offset:2px;outline:2px solid #c9a9628c}.nav-link:hover,.btn:hover,.back-link:hover,.client-link:hover,.client-contact-link:hover,.client-card:hover,.publication-card:hover,.client-timeline-item:hover,.reports-hub-card:hover,.tower-card:hover{text-decoration:none}.client-card:hover,.publication-card:hover,.client-timeline-item:hover,.reports-hub-card:hover,.tower-card:hover{color:inherit}.mono{font-family:IBM Plex Mono,monospace}.muted{color:var(--muted)}.muted.sm,.sm{font-size:.8125rem}.center{text-align:center}.stack{flex-direction:column;gap:1.25rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row.spread{justify-content:space-between}.row.end{justify-content:flex-end}.row.wrap-gap{gap:.5rem}.grid{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.grid.two.align-start{align-items:start}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grow{flex:1;min-width:160px}.app-shell{grid-template-columns:260px minmax(0,1fr);width:100%;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;align-self:start;gap:1.5rem;height:100vh;min-height:0;padding:1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand strong{font-size:1rem;display:block}.brand span{color:var(--muted);font-size:.75rem}.brand-mark{background:var(--accent-glow);width:40px;height:40px;color:var(--accent);border:1px solid #c9a96259;border-radius:10px;place-items:center;display:grid}.brand-mark.lg{border-radius:14px;width:56px;height:56px}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.65rem;padding:.65rem .85rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-glow);color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.user-chip{align-items:center;gap:.65rem;display:flex}.user-chip strong{font-size:.875rem;display:block}.user-chip span{color:var(--muted);font-size:.75rem}.user-avatar{background:linear-gradient(135deg, var(--accent-dim), var(--accent));color:#1a1408;border-radius:50%;flex-shrink:0;place-items:center;width:36px;min-width:36px;height:36px;font-size:.875rem;font-weight:700;line-height:1;display:grid}.main{min-width:0;padding:2rem 2.5rem;overflow:auto}.page{width:100%;min-width:0;max-width:1200px;margin:0 auto}.page-header h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:600}.page-header .muted{margin:.35rem 0 0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-actions{gap:.5rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem}.card.inset{background:var(--surface-2)}.card h2,.card h3{margin:0 0 1rem;font-size:1.05rem}.pill{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;display:inline-flex}.pill.sm{font-size:.7rem}.pill.area{color:var(--accent);border-color:#c9a9624d}.pill.critical{color:#f0b86c;background:#e8a84a1f;border-color:#e8a84a59}.pill.status.active{color:var(--success)}.pill.status.suspended{color:var(--warn)}.pill.pending{color:var(--muted)}.pill.overdue,.pill.sm.overdue{color:var(--danger);border-color:#e85d5d66}.pill.cancelled,.pill.sm.cancelled{color:var(--muted);border-color:var(--border);text-decoration:line-through}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon{color:var(--accent);opacity:.9}.stat-value{letter-spacing:-.03em;font-size:1.75rem;font-weight:700;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg, var(--accent), var(--accent-dim));color:#1a1408}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn.secondary:hover:not(:disabled){border-color:var(--accent)}.btn.ghost{color:var(--muted);background:0 0}.btn.ghost:hover{color:var(--text);background:var(--surface-2)}.btn.sm{padding:.4rem .75rem;font-size:.8125rem}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.link-btn{color:var(--accent);font-size:.875rem;font-weight:500;text-decoration:none}.link-btn:hover{text-decoration:underline}.back-link{color:var(--muted);align-items:center;gap:.4rem;font-size:.875rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.form label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.8125rem;display:flex}.form input:not(.file-input),.form select,.form textarea,.upload-panel input:not(.file-input),.upload-panel select,.filters-bar input,.filters-bar select,.search-field input,.ai-draft-form input,.ai-draft-form select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.875rem}.form select,.upload-panel select,.filters-bar select,.ai-draft-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d97ab' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.form select option,.upload-panel select option{background:var(--surface);color:var(--text)}.form input:focus,.form select:focus,.form textarea:focus,.upload-panel input:focus,.upload-panel select:focus,.filters-bar input:focus,.filters-bar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form input::placeholder,.upload-panel input::placeholder{color:var(--muted);opacity:.85}.form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.form input[type=date]::-webkit-calendar-picker-indicator{opacity:1;filter:invert(78%)sepia(29%)saturate(601%)hue-rotate(4deg)brightness(92%)contrast(86%);cursor:pointer}input[type=checkbox]{appearance:none;border:1.5px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:5px;flex:0 0 18px;place-content:center;width:18px;height:18px;margin:0;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}input[type=checkbox]:before{content:"";border:0 solid #1a1408;border-width:0 0 2px 2px;width:9px;height:5px;transition:transform .12s ease-in-out;transform:rotate(-45deg)scale(0)}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:before{transform:rotate(-45deg)scale(1)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox-row{cursor:pointer;align-items:center;color:var(--text)!important;flex-direction:row!important;gap:.5rem!important}.form label.chip-select,.form label.scope-option{flex-direction:row;align-items:center}.form label input[type=checkbox]{width:18px;padding:0}.checkbox-row.compact{font-size:.8125rem}.chip-grid{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.chip-select{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8125rem;display:flex}.filters-box{padding:0;overflow:hidden}.filters-box-toggle{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:600;display:flex}.filters-box-toggle:hover{background:var(--surface-2)}.filters-box-title{align-items:center;gap:.5rem;display:inline-flex}.filters-box-badge{background:var(--accent);color:#1a1408;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.filters-box-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.filters-box.is-open .filters-box-chevron{transform:rotate(180deg)}.filters-box .filters-bar{border-top:1px solid var(--border);padding:0 1rem 1rem}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.search-field{color:var(--muted);align-items:center;gap:.5rem;min-width:220px;display:flex}.search-field input{flex:1;width:100%}.process-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch;gap:1rem;display:grid}.process-grid>*{display:flex}.process-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:100%;min-height:290px;color:inherit;flex-direction:column;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.process-card.clickable{cursor:pointer}.process-card:hover,.process-card.clickable:hover{box-shadow:var(--shadow);border-color:#c9a96273;transform:translateY(-2px)}.page-subtitle{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.9375rem;display:flex}.client-link{background:var(--accent-glow);max-width:100%;color:var(--accent);border:1px solid #c9a96259;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .65rem .28rem .45rem;font-weight:600;line-height:1.2;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.client-link svg{opacity:.9;flex-shrink:0}.client-link:hover{color:#e4c57a;background:#c9a96238;border-color:#c9a962a6;text-decoration:none}.client-link:focus-visible{outline-offset:2px;outline:2px solid #c9a9628c}.inline-link{color:var(--accent);font-weight:560;text-decoration:none}.inline-link:hover{color:#e4c57a;-webkit-text-decoration:underline #e4c57ab3;text-decoration:underline #e4c57ab3}.tab-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:.35rem;width:fit-content;max-width:100%;padding:.25rem;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.tab-btn:hover{color:var(--text);background:var(--surface-2)}.tab-btn.active{background:var(--accent-glow);color:var(--accent)}.tab-badge{background:var(--surface-2);color:var(--text);border-radius:999px;padding:.1rem .4rem;font-size:.7rem}.file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.upload-panel{flex-direction:column;gap:.85rem;margin-top:.75rem;display:flex}.attachment-list{margin:0;padding:0;list-style:none}.attachment-item{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;align-items:flex-start;gap:.85rem;padding:.85rem 0;display:grid}.attachment-item>.row{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-width:0}.attachment-item:last-child{border-bottom:none}.attachment-icon{background:var(--surface-2);width:44px;height:44px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.attachment-meta strong{overflow-wrap:anywhere;font-size:.9rem;display:block}.attachment-meta{overflow-wrap:anywhere;min-width:0}.icon-btn.danger:hover{color:var(--danger);background:#e85d5d1f}.financial-stats .stat-value.negative{color:var(--danger)}.client-finance-box{padding:0;overflow:hidden}.client-finance-toggle-row{align-items:center;gap:.75rem;padding:.35rem .85rem .35rem .35rem;display:flex}.client-finance-toggle{border-radius:var(--radius-sm);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .65rem;display:flex}.client-finance-toggle:hover{background:var(--surface-2)}.client-finance-toggle-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.client-finance-title{align-items:center;gap:.5rem;font-size:1.05rem;font-weight:650;display:inline-flex}.client-finance-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.client-finance-box.is-open .client-finance-chevron{transform:rotate(180deg)}.client-finance-panel{border-top:1px solid var(--border);padding:0 1.15rem 1.15rem;overflow:hidden}@media (width<=720px){.client-finance-toggle-row{flex-wrap:wrap;padding-right:.75rem}.client-finance-toggle-row .btn{margin-bottom:.65rem;margin-left:.65rem}}.access-denied.compact{padding:1.25rem 0 .25rem}.stat-icon.success{color:var(--success)}.stat-icon.danger{color:var(--danger)}.highlight-card{border-color:#c9a96259}.stat-value.sm-val{font-size:1.25rem}.billing-dl .full-width{grid-column:1/-1}.data-table.compact th,.data-table.compact td{padding:.6rem .85rem}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .num.positive{color:var(--success)}.data-table .num.negative{color:var(--danger)}.pill.sm.revenue{color:var(--success);border-color:#5cb88a59}.pill.sm.cost{color:var(--muted)}.table-wrap.flush{background:0 0;border:none;padding:0}.client-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:stretch;gap:1rem;display:grid}.client-grid>*{display:flex}.client-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;height:100%;min-height:144px;color:inherit;flex-direction:column;align-items:stretch;gap:.35rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.client-card:hover{border-color:#c9a96273;transform:translateY(-2px)}.client-card-head{align-items:center;gap:.75rem;min-width:0;margin-bottom:.35rem;display:flex}.client-card h3{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;font-size:1rem;line-height:1.35;display:-webkit-box;overflow:hidden}.client-card-icon{background:var(--accent-glow);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.client-card-line{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.client-card-meta{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.85rem;font-size:.75rem;display:flex}.client-timeline{margin:0;padding:0;list-style:none}.client-timeline-item{border-bottom:1px solid var(--border);color:inherit;gap:1rem;padding:1rem 0;text-decoration:none;transition:background .12s;display:flex}.client-timeline-item:hover{background:var(--surface-2);border-radius:var(--radius-sm);margin:0 -1rem;padding-left:1rem;padding-right:1rem}.timeline-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.5rem}.sm-banner{margin-top:1rem;padding:.65rem .85rem;font-size:.8125rem}.compliance-page{max-width:1280px}.compliance-disclaimer{color:var(--text);background:#6c8cff14;border-color:#6c8cff40;align-items:flex-start}.compliance-disclaimer p{margin:0;font-size:.875rem;line-height:1.5}.compliance-disclaimer svg{color:#8ba4ff;flex-shrink:0;margin-top:.1rem}.compliance-layout{grid-template-columns:220px 1fr;align-items:start;gap:1.25rem;display:grid}.compliance-nav{padding:1rem;position:sticky;top:1rem}.compliance-nav-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .75rem;font-size:.75rem;font-weight:600}.compliance-nav ul{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.compliance-nav-btn{border-radius:var(--radius-sm);width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .12s,color .12s;display:flex}.compliance-nav-btn:hover{background:var(--surface-2);color:var(--text)}.compliance-nav-btn.active{background:var(--accent-glow);color:var(--accent)}.compliance-nav-btn svg{opacity:.5}.compliance-nav-btn.active svg{opacity:1}.compliance-section-head{gap:1rem;margin-bottom:1.25rem;display:flex}.compliance-section-head h2{margin:0 0 .35rem;font-size:1.25rem}.compliance-section-icon{background:var(--accent-glow);width:48px;height:48px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.compliance-items{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.compliance-item{border-bottom:1px solid var(--border);padding-bottom:1rem}.compliance-item:last-child{border-bottom:none;padding-bottom:0}.compliance-item h3{margin:0 0 .35rem;font-size:.9375rem}.compliance-item p{color:var(--muted);margin:0 0 .5rem;font-size:.875rem;line-height:1.55}.ropa-table th,.ropa-table td{vertical-align:top;max-width:180px}.ropa-foot{margin:.75rem 1rem 1rem}.ai-compliance-note h3{margin:0 0 .75rem;font-size:1rem}.ai-compliance-note ul{color:var(--muted);margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6}@media (width<=900px){.compliance-layout{grid-template-columns:1fr}.compliance-nav{position:static}.compliance-nav ul{flex-flow:wrap}.compliance-nav-btn svg{display:none}.ropa-table{font-size:.75rem}}.process-card h3{min-height:2.5rem;margin:.65rem 0 .25rem;font-size:1rem;line-height:1.35}.process-card-head{flex-wrap:wrap;gap:.4rem;min-height:2rem;display:flex}.process-card-meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:1rem;font-size:.75rem;display:flex}.process-card-meta .highlight{color:var(--accent)}.cnj{letter-spacing:-.02em}.publication-list{flex-direction:column;gap:.75rem;display:flex}.publication-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.15rem 1.25rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.publication-card:hover{box-shadow:var(--shadow);border-color:#c9a96273;transform:translateY(-2px)}.publication-card-icon{border-radius:var(--radius-sm);background:var(--accent-glow);width:44px;height:44px;color:var(--accent);border:1px solid #c9a96240;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.publication-card-body{min-width:0}.publication-card-head{flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem;display:flex}.publication-card h3{margin:0 0 .3rem;font-size:1.05rem;font-weight:600;line-height:1.35}.publication-card .cnj{color:var(--muted);margin:0 0 .2rem}.publication-card-meta{border-left:1px solid var(--border);flex-direction:column;gap:.65rem;min-width:10.5rem;padding-left:.75rem;display:flex}.publication-card-date{color:var(--muted);align-items:flex-start;gap:.45rem;display:flex}.publication-card-date>div{flex-direction:column;gap:.1rem;display:flex}.publication-card-date .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.publication-card-date strong{color:var(--text);font-size:.8125rem;font-weight:560}.pill.sm.status.pub-pending{color:var(--muted);border-color:#8d97ab73}.pill.sm.status.pub-in_analysis{color:var(--warn);background:#e8a84a1a;border-color:#e8a84a66}.pill.sm.status.pub-analyzed{color:var(--success);background:#5cb88a1a;border-color:#5cb88a66}.pill.sm.status.pub-archived{color:var(--accent);background:var(--accent-glow);border-color:#c9a96259}.pill.sm.link-linked{color:var(--success);border-color:#5cb88a59}.pill.sm.link-pending{color:var(--warn);border-color:#e8a84a59}.pill.sm.link-not_found{color:var(--danger);border-color:#e85d5d66}.status-select-wrap{align-items:center;max-width:100%;display:inline-flex;position:relative}.status-select-wrap .pill{pointer-events:none;padding-right:1.75rem}.status-select{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;background:0 0;border:0;position:absolute;inset:0}.status-select:disabled{cursor:wait}.status-select-wrap:focus-within .pill{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.status-select-wrap:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d97ab' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:10px;height:10px;position:absolute;top:50%;right:.55rem;transform:translateY(-40%)}@media (width<=720px){.publication-card{grid-template-columns:40px minmax(0,1fr)}.publication-card-meta{border-left:none;border-top:1px solid var(--border);flex-flow:wrap;grid-column:2;min-width:0;padding-top:.35rem;padding-left:0}.publication-card-icon{width:40px;height:40px}}.detail-dl{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1rem 0;display:grid}.detail-dl dt{color:var(--muted);margin-bottom:.2rem;font-size:.75rem}.detail-dl dd{margin:0;font-weight:500}.client-profile{flex-direction:column;gap:1.25rem;display:flex}.client-profile-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.client-profile-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2,var(--bg));flex-direction:column;gap:.85rem;min-width:0;padding:1rem;display:flex}.client-profile-group h3{letter-spacing:.01em;color:var(--muted);text-transform:uppercase;align-items:center;gap:.45rem;margin:0;font-size:.82rem;font-weight:600;display:flex}.client-profile-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;margin:0;display:grid}.client-profile-dl .client-profile-wide{grid-column:1/-1}.client-profile-dl dt{color:var(--muted);margin:0 0 .25rem;font-size:.72rem}.client-profile-dl dd{word-break:break-word;margin:0;font-size:.95rem;font-weight:560;line-height:1.35}.client-contact-link{color:inherit;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.client-contact-link:hover{color:var(--accent)}.client-profile-notes{border-top:1px solid var(--border);padding-top:.25rem}.client-profile-notes h3{color:var(--muted);text-transform:uppercase;margin:0 0 .45rem;font-size:.82rem;font-weight:600}@media (width<=1100px){.client-profile-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.client-profile-groups,.client-profile-dl{grid-template-columns:1fr}}.description{color:var(--muted);margin:0;font-size:.9375rem}.feed{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.feed li{border-bottom:1px solid var(--border);padding-bottom:1rem}.feed li:last-child{border-bottom:none;padding-bottom:0}.feed time{color:var(--muted);margin-left:.5rem;font-size:.75rem}.feed p{margin:.35rem 0 0}.prazo-list{margin:0;padding:0;list-style:none}.prazo-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.prazo-list li.overdue strong{color:var(--danger)}.ai-panel{position:sticky;top:1rem}.ai-panel-head{gap:.85rem;margin-bottom:1rem;display:flex}.ai-panel-head h3{margin:0}.ai-icon{width:40px;height:40px;color:var(--accent);background:linear-gradient(135deg,#3d4f6f,#2a3548);border-radius:10px;place-items:center;display:grid}.ai-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.ai-draft-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.ai-draft-form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.75rem;display:flex}.ai-output{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:.75rem;padding:1rem}.ai-output h4{color:var(--accent);margin:.75rem 0 .35rem;font-size:.8125rem}.ai-output h4:first-of-type{margin-top:0}.ai-output ul{flex-direction:column;gap:.75rem;display:flex}.ai-output li{padding-left:.2rem;line-height:1.6}.ai-disclaimer{color:var(--warn);background:#e8a84a14;border-radius:6px;margin:0 0 .5rem;padding:.5rem;font-size:.75rem}.draft-content{white-space:pre-wrap;max-height:320px;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:.75rem;line-height:1.55;overflow:auto}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(ellipse 80% 50% at 50% -20%, var(--accent-glow), transparent), var(--bg);place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:16px;padding:2rem}.login-brand{text-align:center;margin-bottom:1.5rem}.login-brand h1{margin:.75rem 0 .35rem}.login-hint{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8125rem;display:flex}.lawyer-pick-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lawyer-pick{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:inherit;text-align:left;align-items:center;gap:.85rem;padding:.75rem 1rem;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.lawyer-pick:hover{border-color:var(--accent);background:var(--accent-glow)}.lawyer-pick-info strong{display:block}.lawyer-pick-info span{color:var(--muted);font-size:.75rem}.table-wrap{padding:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.85rem 1.25rem}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.data-table tr.row-warn{background:#e85d5d0f}.data-table a{color:var(--accent);font-weight:560;text-decoration:none}.data-table a:hover{color:#e4c57a;-webkit-text-decoration:underline #e4c57ab3;text-decoration:underline #e4c57ab3}.block{display:block}.banner{border-radius:var(--radius-sm);align-items:center;gap:.65rem;padding:.85rem 1rem;font-size:.875rem;display:flex}.banner.warn{color:var(--warn);background:#e8a84a1f;border:1px solid #e8a84a4d}.timeline-list{margin:0;padding:0;list-style:none;container:timeline/inline-size}.timeline-item{border-bottom:1px solid var(--border);min-width:0;max-width:100%;color:inherit;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;padding:.85rem 0;text-decoration:none;transition:background .12s;display:flex}.timeline-item-main{min-width:0;color:inherit;flex:16rem;align-items:flex-start;gap:1rem;text-decoration:none;display:flex}.timeline-item-main>div{flex-direction:column;gap:.25rem;min-width:0;display:flex}.timeline-item-main>div strong{overflow-wrap:anywhere;line-height:1.4}.timeline-item-main>div .muted{overflow-wrap:anywhere;line-height:1.5}.timeline-item-actions{flex-wrap:wrap;flex:12rem;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;max-width:100%;display:flex}.timeline-item:hover{background:var(--surface-2);border-radius:var(--radius-sm)}@container timeline (width<=36rem){.timeline-item{flex-direction:column;align-items:stretch}.timeline-item-actions{flex-basis:100%;justify-content:flex-start;padding-left:calc(48px + 1rem)}}.due-badge{text-align:center;background:var(--surface-2);min-width:48px;color:var(--muted);border-radius:6px;padding:.35rem .5rem;font-size:.75rem;font-weight:700}.due-badge.soon{color:var(--warn);background:#e8a84a26}.due-badge.overdue{color:var(--danger);background:#e85d5d26}.access-denied{text-align:center;color:var(--muted);padding:3rem 2rem}.access-denied h2{color:var(--text)}.access-denied svg{color:var(--warn);margin-bottom:1rem}.empty-state{text-align:center;color:var(--muted)}.error-banner{color:var(--danger);margin:0;font-size:.875rem}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.skeleton-card{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;height:160px;animation:1.2s ease-in-out infinite shimmer}.skeleton-card.tall{height:320px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.modal-overlay{z-index:100;background:#000000a6;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow);border-radius:14px;overflow:auto}.modal.wide{max-width:640px}.modal.wide.attachment-preview{max-width:min(960px,96vw)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-head h2{margin:0;font-size:1.125rem}.modal-body{padding:1.5rem}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;min-height:0;position:static}.sidebar-nav{flex-flow:wrap}.sidebar-foot{flex-direction:row;justify-content:space-between;width:100%}.main{padding:1.25rem}.ai-panel{position:static}.aging-row{grid-template-columns:1fr}.month-switch strong{min-width:0}}@media (width<=560px){.client-card{padding:1rem}.attachment-item{grid-template-columns:36px minmax(0,1fr);gap:.65rem}.attachment-icon{width:36px;height:36px}.attachment-item>.row{grid-column:2;justify-content:flex-start}}.boot-screen{background:var(--bg);place-items:center;min-height:100vh;display:grid}.banner.ok{color:var(--success);background:#5cb88a1f;border:1px solid #5cb88a59}.stat-value.money{font-variant-numeric:tabular-nums;font-size:1.2rem}.stat-value.negative{color:var(--danger)}.month-switch{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .15rem;display:flex}.month-switch strong{text-align:center;min-width:9.5rem;font-size:.92rem}.aging-row{grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.75rem;font-size:.875rem;display:grid}.aging-bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.aging-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.aging-row.late .aging-bar span{background:var(--danger)}.invoice-pick{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.invoice-pick.active{background:var(--accent-glow);border-color:#c9a96299}.scope-grid{gap:.6rem;display:grid}.scope-option{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.secret-card{border-color:#c9a96273}.secret-value{border-radius:var(--radius-sm);background:var(--bg);border:1px dashed var(--border);word-break:break-all;margin:.75rem 0;padding:.85rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.82rem;display:block}.pill.overdue,.pill.partial{color:var(--warn);background:#e8a84a26}.pill.paid,.pill.open{color:var(--muted)}.reports-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.reports-hub-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:inherit;align-items:flex-start;gap:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.reports-hub-card:hover{border-color:#c9a9628c;box-shadow:0 10px 28px #00000014}.reports-hub-card strong{margin-bottom:.35rem;font-size:1.05rem;display:block}.reports-hub-card p{margin:0}.towers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.tower-card{text-align:left;color:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.9rem;min-height:0;padding:1rem 1.1rem;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.tower-card:hover:not(:disabled){border-color:#c9a96280;transform:translateY(-1px)}.tower-card.selected{border-color:#c9a962bf;box-shadow:0 0 0 1px #c9a96240}.tower-card.locked{opacity:.72;cursor:not-allowed}.tower-card-head{align-items:center;gap:.6rem;min-width:0;display:flex}.tower-card-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tower-icon{border-radius:var(--radius-sm);background:var(--accent-glow);width:2rem;height:2rem;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tower-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .75rem;display:grid}.tower-kpis.stack{grid-template-columns:1fr;gap:.45rem}.tower-kpi{min-width:0}.tower-kpi span{font-size:.72rem;line-height:1.2;display:block}.tower-kpi strong{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.95rem;line-height:1.25;display:block;overflow:hidden}.tower-card.monetary .tower-kpi strong{font-size:.92rem}.tower-bars{gap:.4rem;margin-top:auto;display:grid}.tower-bar-row{grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.45rem;font-size:.72rem;display:grid}.tower-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.tower-locked,.tower-error{color:var(--muted);align-items:center;gap:.5rem;margin-top:auto;display:flex}.tower-error{color:var(--danger);font-size:.82rem}.tower-detail h2{margin:0 0 .25rem}.row.between{justify-content:space-between;align-items:center}.row.wrap{flex-wrap:wrap;gap:.5rem}@media (width<=980px){.towers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.reports-hub,.towers-grid{grid-template-columns:1fr}}
