:root{--text:#4b5563;--text-h:#111827;--bg:#f9fafb;--bg-card:#fff;--border:#e5e7eb;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-bg:#2563eb14;--success:#059669;--warning:#d97706;--danger:#dc2626;--muted:#9ca3af;--sidebar-bg:#1e293b;--sidebar-text:#94a3b8;--sidebar-active:#fff;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0}body{margin:0}#root{min-height:100vh}.sign-in-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.sign-in-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:12px;padding:48px 40px}.sign-in-card h1{color:var(--text-h);margin:0 0 4px;font-size:28px;font-weight:600}.sign-in-card .subtitle{color:var(--muted);margin-bottom:32px}.sign-in-card form{flex-direction:column;gap:16px;display:flex}.sign-in-card label{color:var(--text-h);margin-bottom:-12px;font-size:13px;font-weight:500}.sign-in-card input{border:1px solid var(--border);font-size:15px;font-family:var(--sans);border-radius:8px;outline:none;padding:10px 14px;transition:border-color .15s}.sign-in-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.sign-in-card button[type=submit]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:500;transition:background .15s}.sign-in-card button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.sign-in-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.code-sent{color:var(--text);background:var(--primary-bg);border-radius:8px;padding:12px;font-size:14px}.link-button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px}.link-button:hover{text-decoration:underline}.error-message{color:var(--danger);background:#fef2f2;border-radius:8px;margin-bottom:8px;padding:10px 14px;font-size:14px}.dashboard{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:240px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{border-bottom:1px solid #ffffff14;padding:24px 20px 20px}.sidebar-header h2{color:#fff;margin:0;font-size:20px;font-weight:600}.org-name{color:var(--sidebar-text);margin-top:4px;font-size:12px;display:block}.nav-list{flex:1;padding:12px 8px;list-style:none}.nav-list li{margin-bottom:2px}.nav-list button,.nav-list a{text-align:left;width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 16px;font-size:15px;text-decoration:none;transition:all .15s;display:block}.nav-list button:hover,.nav-list a:hover{color:#fff;background:#ffffff0f}.nav-list button.active,.nav-list a.active{color:var(--sidebar-active);background:#ffffff1f;font-weight:500}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px}.sign-out{width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .15s}.sign-out:hover{color:#fff;background:#ffffff0f}.mobile-header,.sidebar-backdrop{display:none}.content{flex:1;min-width:0;overflow-y:auto}.page{max-width:1200px;padding:32px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-h);font-size:24px;font-weight:600}.loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:16px;display:flex}.loading-text{color:var(--muted);padding:40px}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;display:flex}.form-row{gap:16px;display:flex}.form-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.form-field label{color:var(--text-h);font-size:13px;font-weight:500}.form-field input,.form-field select{border:1px solid var(--border);font-size:14px;font-family:var(--sans);background:var(--bg);border-radius:8px;outline:none;width:100%;padding:8px 12px;transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.data-table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.data-table thead{background:var(--bg)}.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text);padding:12px 16px;font-size:14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--primary-bg)}.name-cell{color:var(--text-h);font-weight:500}.mono{font-family:var(--mono);font-size:13px}.badge{border-radius:9999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-active{color:var(--success);background:#ecfdf5}.badge-paused{color:var(--warning);background:#fffbeb}.badge-concluded{color:var(--primary);background:#eff6ff}.badge-archived{color:var(--muted);background:#f3f4f6}.empty-state{text-align:center;color:var(--muted);padding:64px 32px}.empty-state p{margin-bottom:8px}.hint{font-size:14px}.form-actions{gap:10px;display:flex}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .15s}.btn-secondary:hover{background:var(--border)}.actions-cell{white-space:nowrap;text-align:right}.btn-icon{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:13px;transition:background .15s}.btn-icon:hover{background:var(--primary-bg)}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover{background:#fef2f2}.btn-back{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:14px;text-decoration:none;display:block}.btn-back:hover{text-decoration:underline}.case-info-grid{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-wrap:wrap;gap:32px;margin-bottom:32px;padding:20px 24px;display:flex}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.info-value{color:var(--text-h);font-size:14px}.notes-block{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:32px;padding:16px 24px}.notes-block p{color:var(--text);margin-top:6px;font-size:14px;line-height:1.6}.detail-section{margin-bottom:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{color:var(--text-h);font-size:18px;font-weight:600}.link-cell{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px;font-weight:500;text-decoration:none}.link-cell:hover{text-decoration:underline}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-header h2{color:var(--text-h);font-size:18px;font-weight:600}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:24px;line-height:1}.modal-close:hover{color:var(--text-h)}.modal-body{padding:16px 24px 24px}.modal-body .form-card{box-shadow:none;border:none;margin:0;padding:0}.upload-progress{color:var(--primary);background:var(--primary-bg);border-radius:8px;padding:8px 12px;font-size:14px}.mobile-cards{display:none}@media (width<=1024px){.data-table th:nth-child(n+4),.data-table td:nth-child(n+4){display:none}.data-table th:last-child,.data-table td:last-child{display:table-cell}}@media (width<=768px){.sidebar{z-index:200;width:280px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:199;background:#0006;display:block;position:fixed;inset:0}.mobile-header{background:var(--sidebar-bg);color:#fff;align-items:center;gap:12px;padding:16px;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.hamburger span{background:#fff;border-radius:1px;width:22px;height:2px;display:block}.mobile-title{font-size:17px;font-weight:600}.page{padding:20px 16px}.page-header h1{font-size:20px}.form-row{flex-direction:column;gap:12px}.modal-overlay{align-items:flex-end;padding:16px}.modal-content{border-radius:16px 16px 0 0;max-width:100%;max-height:85vh}.data-table thead{display:none}.data-table,.data-table tbody{display:block}.data-table tr{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 16px;padding:12px 16px;display:flex}.data-table tbody tr:last-child{border-bottom:none}.data-table td{border:none;padding:0;font-size:14px}.data-table td:nth-child(n+3){display:none}.data-table td:first-child{flex:1;min-width:0;display:block}.data-table td:nth-child(2){display:block}.data-table td:last-child{width:100%;margin-top:4px;display:block}.data-table td.actions-cell{text-align:left}.case-info-grid{gap:16px;padding:16px}.info-item{min-width:calc(50% - 8px)}.section-header{flex-wrap:wrap;gap:8px}.sign-in-card{padding:32px 24px}.empty-state{padding:40px 16px}}@media (width<=480px){.page{padding:16px 12px}.page-header{flex-wrap:wrap}.case-info-grid{flex-direction:column;gap:12px}.info-item{min-width:100%}.form-actions{flex-direction:column}.form-actions button{width:100%}}
