@layer components{.post-analysis-gate{padding:var(--sp-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--sp-4);display:block}.post-analysis-gate .actions{justify-content:flex-end;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-flow:wrap;display:flex}.post-analysis-gate a[data-secondary-cta]{justify-content:center;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);border:1px solid var(--color-brand);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-brand);font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);transition:var(--transition-colors);text-decoration:none;display:inline-flex}.post-analysis-gate a[data-secondary-cta]:hover{background:var(--color-brand-subtle)}.post-analysis-gate a[data-secondary-cta]:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}}
@layer components{.wizard-step{gap:var(--sp-3);flex-direction:column;display:flex}.wizard-step-title{font-family:var(--text-font-heading);font-size:var(--text-size-lg);color:var(--color-text-heading);margin:0}.wizard-step-desc{margin:0 0 var(--sp-2);font-size:var(--text-size-sm);color:var(--color-text-muted)}.wizard-file-row{gap:var(--sp-2);margin-top:var(--sp-2);flex-direction:column;display:flex}.wizard-file-row .wizard-file-label{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-input);color:var(--color-text-body);font-size:var(--text-size-sm);text-align:center;cursor:pointer;transition:border-color var(--duration-fast,.15s) var(--ease-in-out,ease), background var(--duration-fast,.15s) var(--ease-in-out,ease), color var(--duration-fast,.15s) var(--ease-in-out,ease);display:inline-flex}.wizard-file-row .wizard-file-label:hover{border-color:var(--color-brand);background:var(--color-brand-subtle);color:var(--color-text-heading)}.wizard-file-row .wizard-file-label:focus-within{border-color:var(--color-brand);background:var(--color-brand-subtle);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.wizard-file-row .wizard-file-label[data-state=uploaded]{border-style:solid;border-color:var(--color-success-border);background:var(--color-success-subtle);color:var(--color-success-hover)}.wizard-file-row .wizard-file-label[data-state=uploading]{border-color:var(--color-brand);background:var(--color-brand-subtle);color:var(--color-brand);cursor:progress}.wizard-file-row .wizard-file-label[data-state=error]{border-color:var(--color-danger-border);background:var(--color-danger-subtle);color:var(--color-danger-hover)}.wizard-file-row .wizard-file-remove{color:var(--color-text-muted);font-size:var(--text-size-sm);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.wizard-file-row .wizard-file-remove:hover{color:var(--color-danger)}.wizard-field-error{color:var(--color-danger);font-size:var(--text-size-sm);margin:0}.wizard-step [data-state=error]{border-color:var(--color-danger-border);background:var(--color-danger-subtle,var(--color-surface-input))}.wizard-step [data-state=error]:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-subtle);outline:none}.wizard-file-row .wizard-file-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
@layer components{.ticket-status-banner{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md,8px);margin-bottom:var(--sp-4);border:1px solid var(--border-subtle,var(--color-border));background:var(--surface-raised,var(--color-surface));display:block}.ticket-status-banner[data-tone=info]{background:var(--color-info-surface,#007cfa14);border-color:var(--color-info,var(--primary))}.ticket-status-banner[data-tone=attention]{background:var(--color-warning-surface,#eab3081a);border-color:var(--color-warning,#eab308)}.ticket-status-banner[data-tone=success]{background:var(--color-success-surface,#22c55e1a);border-color:var(--color-success,#22c55e)}.ticket-status-banner__title{margin:0 0 var(--sp-1);font-weight:var(--text-weight-semibold)}.ticket-status-banner__message{font-size:var(--text-size-sm);color:var(--text-muted);margin:0}.ticket-status-banner__actions{margin-top:var(--sp-3);display:flex}.ticket-status-banner__error{margin-top:var(--sp-2);color:var(--color-danger,#b91c1c);font-size:var(--text-size-sm)}}
@layer components{.sidebar-placeholders-tab{gap:var(--sp-4);padding:var(--sp-4);flex-direction:column;display:flex;overflow-y:auto}.sidebar-placeholders-tab[data-state=empty] p{color:var(--color-text-muted);font-size:var(--text-size-sm)}.sidebar-placeholders-tab section{display:block}.sidebar-placeholders-tab ol{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sidebar-placeholders-tab button{text-align:left;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-base);width:100%;padding:var(--sp-3);cursor:pointer;transition:border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out);gap:var(--sp-1);flex-direction:column;display:flex}.sidebar-placeholders-tab button:hover,.sidebar-placeholders-tab button:focus-visible{border-color:var(--color-border-hover);background:var(--color-surface-hover);outline:none}.sidebar-placeholders-tab button[data-state=focused]{border-color:var(--color-brand);background:var(--color-brand-subtle)}.sidebar-placeholders-tab button [data-role=head]{align-items:center;gap:var(--sp-2);display:flex}.sidebar-placeholders-tab button [data-role=label]{min-width:0;font-size:var(--text-size-sm);font-weight:var(--text-weight-medium);color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-placeholders-tab button[data-kind=bracket] [data-role=label]{font-style:italic}.sidebar-placeholders-tab button [data-role=category]{padding:0 var(--sp-2);border-radius:var(--radius-full);background:var(--color-surface-secondary);color:var(--color-text-muted);font-size:var(--text-size-xs);text-transform:lowercase;letter-spacing:.02em;flex:none}.sidebar-placeholders-tab button [data-role=badge]{min-width:1.25rem;height:1.25rem;padding:0 var(--sp-1);border-radius:var(--radius-full);background:var(--color-brand-subtle);color:var(--color-brand);font-size:var(--text-size-xs);font-weight:var(--text-weight-bold);flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-placeholders-tab button [data-role=value]{font-size:var(--text-size-sm);color:var(--color-text-body);overflow-wrap:anywhere}.sidebar-placeholders-tab button [data-role=value][data-empty]{color:var(--color-text-subtle)}.sidebar-placeholders-tab li .clause-field-suggestions{margin:var(--sp-1) 0 0}}
.upload-zone{--zone-border-color:var(--color-border);justify-content:center;align-items:stretch;gap:var(--sp-4);text-align:center;width:min(100%,640px);transition:border-color .15s var(--ease-out), background .15s var(--ease-out);flex-direction:column;margin:0 auto;padding:0;display:flex;position:relative}.upload-zone .upload-action-card{width:100%;padding:var(--sp-12) var(--sp-8);gap:var(--sp-4);margin:0}.upload-zone .upload-action-card__icon{width:72px;height:72px}.upload-zone .upload-action-card__icon svg{width:36px;height:36px}.upload-zone .upload-action-card__title{font-size:var(--text-size-lg)}.upload-trust-strip{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--color-surface-secondary,var(--color-brand-subtle));color:var(--color-text-muted);font-size:var(--text-size-sm);flex-wrap:wrap;display:flex}.upload-trust-strip__icon{color:var(--color-brand);flex-shrink:0}.upload-trust-strip__heading{font-weight:var(--text-weight-semibold);color:var(--color-text-heading);margin:0}.upload-trust-strip__list{gap:var(--sp-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.upload-trust-strip__list li{padding-left:var(--sp-4);position:relative}.upload-trust-strip__list li:before{content:"✓";color:var(--color-brand);font-weight:var(--text-weight-bold);position:absolute;left:0}.upload-zone[data-state=uploading]{cursor:not-allowed;pointer-events:none}.upload-zone[data-state=error]{--zone-border-color:var(--color-danger);background:var(--color-danger-subtle,color-mix(in srgb, var(--color-danger) 8%, transparent))}.upload-zone-progress{--progress-pct:0%;background:var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);height:4px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.upload-zone-progress:after{content:"";height:100%;width:var(--progress-pct);background:var(--color-brand);transition:width .15s var(--ease-out);display:block}.upload-zone-hint{font-size:var(--text-xs);color:var(--color-muted)}.upload-zone-icon{width:32px;height:32px;color:var(--color-muted)}.upload-zone-icon--danger{color:var(--color-danger)}.upload-zone-icon--spin{animation:1s linear infinite upload-zone-spin}@keyframes upload-zone-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-zone-primary{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin:0}.upload-zone-secondary{font-size:var(--text-sm);color:var(--color-muted);margin:0}.upload-org-picker-inline{width:100%;margin-top:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.upload-org-picker-inline__title{font-size:var(--text-xs);color:var(--color-muted);margin:0}.upload-org-picker-inline__select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-2);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text)}.upload-org-picker-inline__actions{justify-content:center;gap:var(--space-2);display:flex}.upload-org-picker-inline__button{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-text-on-brand,#fff);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);cursor:pointer}.upload-org-picker-inline__button--ghost{border-color:var(--color-border);background:var(--color-surface-secondary);color:var(--color-text)}
@layer components{.contract-invite-modal{gap:var(--sp-4);grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);min-height:min(700px,72vh);display:grid}.contract-invite-modal>section,.contract-invite-modal>aside{gap:var(--sp-3);flex-direction:column;min-height:0;display:flex}.contract-invite-modal>section{padding-right:var(--sp-2);overflow-y:auto}.contract-invite-modal>aside{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:radial-gradient(circle at top right, color-mix(in srgb, var(--color-brand) 10%, transparent), transparent 52%), var(--color-surface-secondary);padding:var(--sp-4);overflow:hidden}.contract-invite-modal fieldset{gap:var(--sp-2);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface-secondary);padding:var(--sp-4);flex-direction:column;margin:0;display:flex}.contract-invite-modal legend{font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-heading);padding:0 var(--sp-1)}.contract-invite-modal label{font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-heading)}.contract-invite-modal textarea,.contract-invite-modal select{border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);width:100%;color:var(--color-text-body);padding:var(--sp-3) var(--sp-4);font:inherit}.contract-invite-modal select{padding:var(--sp-2) var(--sp-3)}.contract-invite-modal textarea[data-variant=message]{min-height:8rem;line-height:var(--text-leading-relaxed)}.contract-invite-modal ul[data-list=emails]{gap:var(--sp-2);min-height:calc(var(--sp-6) + var(--sp-1));flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.contract-invite-modal ul[data-list=emails] li{border:1px solid color-mix(in srgb, var(--color-brand) 28%, var(--color-border));border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-brand) 12%, var(--color-surface));color:var(--color-brand);padding:var(--sp-1) var(--sp-3);font-size:var(--text-size-sm);font-weight:var(--text-weight-medium)}.contract-invite-modal p[data-helper]{font-size:var(--text-size-sm);color:var(--color-text-muted);margin:0}.contract-invite-modal p[data-error]{font-size:var(--text-size-sm);color:var(--color-danger);margin:0}.contract-invite-modal aside>h3{font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-heading);margin:0}.contract-invite-modal ol[data-list=preview]{align-content:flex-start;gap:var(--sp-3);padding-right:var(--sp-1);flex-flow:wrap;margin:0;list-style:none;display:flex;overflow:auto}.contract-invite-modal article{gap:var(--sp-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:100%;padding:var(--sp-4);background:var(--color-surface);flex-direction:column;flex:300px;display:flex}.contract-invite-modal article>header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.contract-invite-modal article button[data-remove]{border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface-secondary);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-colors), border-color var(--duration-fast);justify-content:center;align-items:center;display:flex}.contract-invite-modal article button[data-remove]:hover{border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-border));background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));color:var(--color-danger)}.contract-invite-modal article dl{gap:var(--sp-1) var(--sp-2);font-size:var(--text-size-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.contract-invite-modal article dt{color:var(--color-text-muted)}.contract-invite-modal article dd{color:var(--color-text-heading);font-weight:var(--text-weight-semibold);overflow-wrap:anywhere;margin:0}@media (max-width:768px){.contract-invite-modal{grid-template-columns:1fr;min-height:auto}.contract-invite-modal>section{max-height:none;padding-right:0;overflow:visible}.contract-invite-modal textarea[data-variant=message]{min-height:6.5rem}}}
.contract-auth-backdrop{z-index:100;pointer-events:none;background:#00000026;position:fixed;inset:0}.contract-auth-modal-shell{z-index:9999;overscroll-behavior:contain;padding:var(--sp-6) var(--sp-4);pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}@media (min-height:640px){.contract-auth-modal-shell{align-items:center}}.contract-auth-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-8);width:100%;max-width:420px;box-shadow:var(--shadow-lg);gap:var(--sp-4);pointer-events:auto;flex-direction:column;margin-block:auto;display:flex}.contract-auth-modal nav.button-group{justify-content:stretch;align-items:stretch;gap:var(--sp-2);display:flex}.contract-auth-modal nav.button-group .button.outline{flex:1 0}.contract-auth-modal .logo{justify-content:center;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);height:32px;display:flex}.contract-auth-modal .brand-name{color:var(--color-brand);font-size:var(--text-size-xl);font-weight:var(--text-weight-semibold);line-height:var(--text-leading-tight)}.contract-auth-modal .form{gap:var(--sp-4);flex-direction:column;display:flex}.contract-auth-modal .heading{font-size:var(--text-size-lg);color:var(--color-text-heading);font-weight:600}.contract-auth-modal .sub{font-size:var(--text-size-sm);color:var(--color-text-muted)}.contract-auth-modal .intent-row{justify-content:center;align-items:stretch;gap:var(--sp-2);display:flex}.contract-auth-modal .intent-button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text-body);font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.contract-auth-modal .intent-button:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm)}.contract-auth-modal .intent-button[data-selected]{border-color:var(--color-brand);background:var(--color-brand-subtle);color:var(--color-brand)}.contract-auth-modal .contract-auth-upload-step{align-items:stretch;gap:var(--sp-5);width:min(560px,100%);padding:var(--sp-2);border-radius:var(--radius-lg);flex-direction:column;margin:0 auto;display:flex}.contract-auth-modal .contract-auth-upload-step .upload-zone{border-radius:var(--radius-lg);width:100%;min-height:232px;box-shadow:none;background:0 0;border:none;padding:0}.contract-auth-modal .contract-auth-upload-step .actions{width:100%;padding:var(--sp-4) 0 0;justify-content:flex-end;display:flex}.contract-auth-modal .contract-auth-upload-step .cancel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text-body);padding:var(--sp-3) var(--sp-5);font-size:var(--text-size-sm);font-weight:var(--text-weight-medium);line-height:var(--text-leading-tight);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.contract-auth-modal .contract-auth-upload-step .cancel:hover{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-surface-secondary) 85%, var(--color-brand-subtle) 15%);box-shadow:var(--shadow-sm)}.contract-auth-modal .contract-auth-upload-step .cancel:focus-visible{outline:2px solid color-mix(in srgb, var(--color-brand) 35%, transparent);outline-offset:2px}@media (max-width:700px){.contract-auth-modal{padding:var(--sp-5);gap:var(--sp-3)}.contract-auth-modal .contract-auth-upload-step{gap:var(--sp-4);padding:0}.contract-auth-modal .contract-auth-upload-step .upload-zone{min-height:208px}.contract-auth-modal .contract-auth-upload-step .actions{padding:var(--sp-3)}.contract-auth-modal .intent-row{flex-direction:column}.contract-auth-modal .intent-button{padding:var(--sp-3)}}.contract-auth-modal .error{color:var(--color-danger);font-size:var(--text-size-sm);margin-top:var(--sp-2)}.contract-auth-modal .footer{font-size:var(--text-size-sm);color:var(--color-text-muted)}.contract-auth-modal .link{color:var(--color-brand);font-size:var(--text-size-sm);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.contract-auth-modal .link:disabled{opacity:.5;cursor:not-allowed}.contract-auth-modal .consent{gap:var(--sp-2);width:fit-content;font-size:var(--text-size-sm);color:var(--color-text-muted);justify-content:center;align-items:flex-start;margin-inline:auto;display:flex}.contract-auth-modal .consent input[type=checkbox]{appearance:checkbox;width:16px;height:16px;accent-color:var(--color-brand);flex:0 0 16px;margin-top:2px}.contract-auth-modal .consent-note{font-size:var(--text-size-xs);color:var(--color-text-muted);text-align:center;margin-top:calc(var(--sp-2) * -1)}
