:root{--navy:#1a2332;--navy-light:#243044;--navy-lighter:#2d3b52;--teal:#2a9d8f;--teal-hover:#238478;--red:#ef4444;--red-hover:#dc2626;--amber:#f59e0b;--green:#22c55e;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--sidebar-width:240px;--header-height:56px;--radius:8px;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #0000001a, 0 2px 4px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--gray-100);color:var(--gray-800);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1.5}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--navy);color:#fff;z-index:100;flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--navy-lighter);letter-spacing:.02em;color:var(--teal);padding:1rem 1.25rem;font-size:.875rem;font-weight:700}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.sidebar-nav a{color:var(--gray-300);border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.625rem 1.25rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav a:hover{background:var(--navy-light);color:#fff}.sidebar-nav a.active{background:var(--navy-light);color:var(--teal);border-left-color:var(--teal)}.sidebar-nav a svg{flex-shrink:0;width:18px;height:18px}.sidebar-nav .nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);padding:1rem 1.25rem .375rem;font-size:.6875rem}.main-area{margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}.header{height:var(--header-height);border-bottom:1px solid var(--gray-200);z-index:50;background:#fff;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:sticky;top:0}.header-title{color:var(--gray-800);font-size:1rem;font-weight:600}.header-campus{color:var(--gray-500);font-size:.8125rem}.hamburger{color:var(--gray-600);cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.hamburger svg{width:24px;height:24px}.content{flex:1;padding:1.5rem}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1.25rem}.card+.card{margin-top:1rem}.card-title{color:var(--gray-800);margin-bottom:.75rem;font-size:1rem;font-weight:600}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-hover)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:var(--red-hover)}.btn-outline{border-color:var(--gray-300);color:var(--gray-700);background:#fff}.btn-outline:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--gray-700);margin-bottom:.25rem;font-size:.8125rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);background:#fff;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #2a9d8f26}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.8125rem}thead th{text-align:left;background:var(--gray-50);border-bottom:2px solid var(--gray-200);color:var(--gray-600);white-space:nowrap;padding:.625rem .75rem;font-weight:600}tbody td{border-bottom:1px solid var(--gray-100);padding:.625rem .75rem}tbody tr:hover{background:var(--gray-50)}tbody tr:nth-child(2n){background:#f9fafb80}tbody tr:nth-child(2n):hover{background:var(--gray-50)}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-intake{color:#1e40af;background:#dbeafe}.badge-open{color:#92400e;background:#fef3c7}.badge-conference{color:#9d174d;background:#fce7f3}.badge-decision{color:#5b21b6;background:#ede9fe}.badge-disposition{color:#065f46;background:#d1fae5}.badge-closed{background:var(--gray-200);color:var(--gray-600)}.badge-teal{color:#0f766e;background:#ccfbf1}.badge-red{color:#991b1b;background:#fee2e2}.badge-amber{color:#92400e;background:#fef3c7}.badge-green{color:#065f46;background:#d1fae5}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;width:100%;max-width:560px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal-title{margin-bottom:1rem;font-size:1.125rem;font-weight:700}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.metric-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1rem 1.25rem}.metric-value{color:var(--gray-800);font-size:1.75rem;font-weight:700}.metric-label{color:var(--gray-500);margin-top:.15rem;font-size:.75rem}.metric-card.accent-teal{border-top:3px solid var(--teal)}.metric-card.accent-amber{border-top:3px solid var(--amber)}.metric-card.accent-red{border-top:3px solid var(--red)}.metric-card.accent-green{border-top:3px solid var(--green)}.page-title{color:var(--gray-800);margin-bottom:1rem;font-size:1.25rem;font-weight:700}.page-subtitle{color:var(--gray-500);margin-top:-.5rem;margin-bottom:1.25rem;font-size:.875rem}.empty-state{text-align:center;color:var(--gray-400);padding:3rem 1rem}.empty-state svg{opacity:.5;width:48px;height:48px;margin-bottom:.75rem}.setup-wizard{border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow-md);background:#fff;margin:3rem auto;padding:2rem}.setup-wizard h1{margin-bottom:.25rem;font-size:1.25rem}.setup-wizard p{color:var(--gray-500);margin-bottom:1.5rem;font-size:.875rem}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.hamburger{display:block}.sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.show{display:block}.form-row{grid-template-columns:1fr}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-header h1{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:700}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card-header{border-bottom:1px solid var(--gray-200);margin-bottom:.75rem;padding-bottom:.75rem}.card-header h2{color:var(--gray-800);margin:0;font-size:1rem;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.form-label{color:var(--gray-700);margin-bottom:.25rem;font-size:.8125rem;font-weight:600;display:block}.form-label-inline{color:var(--gray-700);margin-left:.5rem;font-size:.8125rem;font-weight:600;display:inline}.form-input{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);background:#fff;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #2a9d8f26}.form-input-sm{width:auto;padding:.35rem .5rem;font-size:.8125rem}.form-input-xs{width:auto;padding:.25rem .4rem;font-size:.75rem}textarea.form-input{resize:vertical;min-height:80px}.intake-form .card+.card{margin-top:1rem}.toggle-group{border:1px solid var(--gray-300);border-radius:6px;display:inline-flex;overflow:hidden}.toggle-btn{color:var(--gray-600);cursor:pointer;background:#fff;border:none;padding:.4rem 1rem;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s}.toggle-btn[data-active=true]{background:var(--teal);color:#fff}.toggle-btn:not(:last-child){border-right:1px solid var(--gray-300)}.alert{border-radius:6px;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5}.alert-danger{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-warning{color:#92400e;background:#fffbeb;border:1px solid #fed7aa}.accordion-card{overflow:hidden}.accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:none;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:0;display:flex}.accordion-header h2{color:var(--gray-800);margin:0;font-size:.9375rem;font-weight:700}.accordion-icon{color:var(--gray-400);text-align:center;flex-shrink:0;width:24px;font-size:1.25rem;font-weight:700}.accordion-body{padding-top:1rem}.checklist-item{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.625rem 0;display:flex}.checklist-item:last-child{border-bottom:none}.checklist-item label{color:var(--gray-700);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-size:.8125rem;font-weight:500;display:flex}.checklist-item label input[type=checkbox]{flex-shrink:0}.checklist-meta{color:var(--gray-500);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.radio-group{flex-direction:column;gap:.5rem;display:flex}.radio-group label{color:var(--gray-700);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-size:.8125rem;font-weight:500;display:flex}.readonly-grid{color:var(--gray-700);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem 1rem;font-size:.8125rem;display:grid}.readonly-grid .form-label{color:var(--gray-500);margin:0;font-weight:600;display:inline}.kanban-board{gap:.75rem;min-height:400px;padding-bottom:1rem;display:flex;overflow-x:auto}.kanban-column{background:var(--gray-50);border-radius:var(--radius);flex-direction:column;flex:1;min-width:200px;display:flex}.kanban-column-header{color:var(--gray-700);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:.75rem;font-size:.8125rem;font-weight:700;display:flex}.kanban-count{background:var(--gray-200);color:var(--gray-600);border-radius:9999px;padding:.1rem .5rem;font-size:.6875rem;font-weight:700}.kanban-cards{flex-direction:column;flex:1;gap:.5rem;min-height:60px;padding:.5rem;transition:background .15s;display:flex}.kanban-cards.kanban-drop-active{border-radius:0 0 var(--radius) var(--radius);background:#2a9d8f14}.kanban-card{box-shadow:var(--shadow);cursor:grab;background:#fff;border-left:3px solid #0000;border-radius:6px;padding:.625rem .75rem;transition:opacity .15s,box-shadow .15s}.kanban-card:hover{box-shadow:var(--shadow-md)}.kanban-card-sped{border-left-color:var(--red)}.kanban-card-dragging{opacity:.5}.kanban-card-id{color:var(--teal);font-size:.6875rem;font-weight:700}.kanban-card-name{color:var(--gray-800);margin-top:.15rem;font-size:.8125rem;font-weight:600}.kanban-card-meta{color:var(--gray-500);justify-content:space-between;align-items:center;margin-top:.35rem;font-size:.6875rem;display:flex}.badge-danger{color:#991b1b;background:#fee2e2}.badge-warning{color:#92400e;background:#fef3c7}.metric-card-danger{border-top:3px solid var(--red)}.metric-card-warning{border-top:3px solid var(--amber)}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.witness-card{position:relative}.clickable-row{cursor:pointer}.clickable-row:hover{color:var(--teal)}@media print{.sidebar,.header,.hamburger{display:none!important}.main-area{margin-left:0!important}.content{padding:0!important}.card{box-shadow:none;break-inside:avoid;border:1px solid #ddd}.btn{display:none!important}}@media (width<=768px){.kanban-board{flex-direction:column}.kanban-column{min-width:unset}.page-header{flex-direction:column;align-items:flex-start}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
