:root{--color-primary: #1a365d;--color-primary-light: #2a4a7f;--color-accent: #2b6cb0;--color-success: #276749;--color-warning: #c05621;--color-error: #c53030;--color-bg: #f7fafc;--color-surface: #ffffff;--color-text: #1a202c;--color-text-muted: #718096;--color-border: #e2e8f0;--font-body: Arial, Helvetica, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--max-width: 960px;--radius: 6px;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.3;color:var(--color-primary)}a{color:var(--color-accent);text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);transition:background-color .15s ease}button.primary{background:var(--color-primary);color:#fff}button.primary:hover{background:var(--color-primary-light)}button.primary:disabled{background:var(--color-text-muted);cursor:not-allowed}textarea,input{font-family:var(--font-body);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);width:100%;line-height:1.6}textarea:focus,input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #2b6cb033}label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--color-primary);color:#fff}.app-title{font-size:var(--font-size-lg);color:#fff;margin:0}.auth-stub{font-size:var(--font-size-sm);opacity:.85}.app-nav{display:flex;gap:var(--space-xs);padding:var(--space-sm) var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.nav-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease,background-color .15s ease}.nav-link:hover{color:var(--color-text);background:var(--color-bg)}.nav-link--active{color:var(--color-primary);background:var(--color-bg);font-weight:600}.app-main{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:var(--space-xl)}.module-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow)}.module-shell h2{margin-bottom:var(--space-sm)}.module-description{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.module-placeholder{padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius);color:var(--color-text-muted);text-align:center;font-size:var(--font-size-sm)}.field{margin-bottom:var(--space-md)}.field label{margin-bottom:var(--space-xs)}.data-warning{font-size:var(--font-size-sm);color:var(--color-warning);margin-bottom:var(--space-md);font-weight:500}.error-message{background:#fff5f5;color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);border:1px solid #feb2b2;margin-bottom:var(--space-md);font-size:var(--font-size-sm)}button.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}button.secondary:hover{background:var(--color-bg)}.work-order h3{margin-bottom:var(--space-md)}.wo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.wo-field{display:flex;flex-direction:column;gap:var(--space-xs)}.wo-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.wo-value{font-size:var(--font-size-base)}.wo-task-type{font-weight:600;color:var(--color-primary)}.wo-confidence--high{color:var(--color-success)}.wo-confidence--medium{color:var(--color-warning)}.wo-confidence--low{color:var(--color-error)}.wo-section{margin-bottom:var(--space-md)}.wo-summary{margin-top:var(--space-xs);color:var(--color-text);line-height:1.6}.wo-list{margin-top:var(--space-xs);padding-left:var(--space-lg)}.wo-list li{margin-bottom:var(--space-xs);line-height:1.5}.wo-list--warning li{color:var(--color-warning)}.wo-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.intake-toggle{display:flex;gap:0;margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;width:fit-content}.toggle-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-surface);color:var(--color-text-muted);border-radius:0;font-size:var(--font-size-sm);font-weight:500;border-right:1px solid var(--color-border)}.toggle-btn:last-child{border-right:none}.toggle-btn--active{background:var(--color-primary);color:#fff}.toggle-btn:hover:not(.toggle-btn--active){background:var(--color-bg)}.file-upload-area{margin-top:var(--space-xs)}.file-upload-area input[type=file]{font-size:var(--font-size-sm);padding:var(--space-sm);border:1px dashed var(--color-border);border-radius:var(--radius);width:100%;cursor:pointer}.file-info{display:flex;gap:var(--space-md);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-radius:var(--radius);font-size:var(--font-size-sm)}.file-name{font-weight:600;color:var(--color-text)}.file-size,.file-type{color:var(--color-text-muted)}.qg{border-radius:var(--radius);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.qg--passed{background:#f0fff4;border:1px solid #9ae6b4}.qg--failed{background:#fff5f5;border:1px solid #feb2b2}.qg-header{margin-bottom:var(--space-sm)}.qg-badge{font-size:var(--font-size-sm);font-weight:700;letter-spacing:.05em}.qg--passed .qg-badge{color:var(--color-success)}.qg--failed .qg-badge{color:var(--color-error)}.qg-section{margin-top:var(--space-sm)}.qg-section-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted)}.qg-list{margin-top:var(--space-xs);padding-left:var(--space-lg)}.qg-list li{margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.qg-list--failures li{color:var(--color-error)}.qg-list--warnings li{color:var(--color-warning)}.qg-details{margin-top:var(--space-sm)}.qg-details summary{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.qg-checks{list-style:none;padding:0;margin-top:var(--space-xs)}.qg-checks li{font-size:var(--font-size-sm);padding:var(--space-xs) 0}.qg-check-icon{margin-right:var(--space-sm);font-weight:700}.qg-check--pass .qg-check-icon{color:var(--color-success)}.qg-check--fail .qg-check-icon{color:var(--color-error)}.qg-check-note{color:var(--color-text-muted)}.lod-header{margin-bottom:var(--space-lg)}.lod-header h3{margin-bottom:var(--space-xs)}.lod-file-ref{font-weight:600;color:var(--color-primary);margin-bottom:var(--space-xs)}.lod-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.lod-priv-count{color:var(--color-warning);font-weight:600}.lod-part{margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.lod-part--privilege{border-color:var(--color-warning)}.lod-part-header{background:var(--color-bg);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.lod-part--privilege .lod-part-header{background:#fffbeb;border-bottom-color:var(--color-warning)}.lod-part-header h4{font-size:var(--font-size-base);margin:0}.lod-part-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.lod-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.lod-table th{text-align:left;padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-text-muted);font-size:var(--font-size-sm)}.lod-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);vertical-align:top}.lod-table tr:last-child td{border-bottom:none}.lod-priv-type{font-weight:600;color:var(--color-warning)}.lod-empty{padding:var(--space-md);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.lod-notes{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius)}.lod-notes p{margin-top:var(--space-xs);font-size:var(--font-size-sm);line-height:1.6}.corr-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.letter-preview{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2xl);margin-bottom:var(--space-lg);box-shadow:var(--shadow-lg);font-family:var(--font-body);line-height:1.7;max-width:680px}.letter-date{text-align:right;margin-bottom:var(--space-xl);color:var(--color-text)}.letter-addressee{margin-bottom:var(--space-lg)}.letter-addressee p{margin:0;line-height:1.5}.letter-file-ref{font-weight:600;margin-bottom:var(--space-md);color:var(--color-primary)}.letter-subject{font-weight:600;margin-bottom:var(--space-lg)}.letter-body{margin-bottom:var(--space-xl)}.letter-body p{margin-bottom:var(--space-md)}.letter-body p:last-child{margin-bottom:0}.letter-signoff{margin-top:var(--space-xl)}.letter-signoff p{margin:0}.letter-lawyer-name{margin-top:var(--space-xl)!important;font-weight:600}.corr-notes{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius)}.corr-notes p{margin-top:var(--space-xs);font-size:var(--font-size-sm);line-height:1.6}
