*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #0d3b5e;--navy-dark: #082a44;--sky: #3a9fd5;--sky-light: #d6edf9;--sky-dark: #2b84b5;--green: #4caf50;--green-light:#e8f5e9;--bg: #f0f5f9;--surface: #ffffff;--border: #dce6ee;--text: #1a2b3c;--muted: #607d8b;--danger: #d32f2f;--warning: #f57c00;--radius: 8px;--shadow: 0 1px 3px rgba(13,59,94,.08), 0 1px 2px rgba(13,59,94,.05);--shadow-md: 0 4px 12px rgba(13,59,94,.1), 0 2px 4px rgba(13,59,94,.06)}body{font-family:Inter,system-ui,sans-serif;font-size:14px;color:var(--text);background:var(--bg);line-height:1.5}.navbar{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #082a4440}.navbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.nav-tabs{display:flex;align-items:stretch;gap:2px;height:100%}.nav-tab{display:flex;align-items:center;padding:0 16px;color:#ffffffb3;text-decoration:none;font-size:13px;font-weight:500;border-bottom:3px solid transparent;transition:all .15s;white-space:nowrap}.nav-tab:hover{color:#fff;background:#ffffff14}.nav-tab-active{color:#fff!important;border-bottom-color:#4db6f5}.navbar-brand img{height:36px;width:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}.navbar-brand-text{display:flex;flex-direction:column;line-height:1.2}.navbar-brand-name{font-size:15px;font-weight:700;letter-spacing:-.2px}.navbar-brand-sub{font-size:11px;color:#90caf9;font-weight:400}.navbar-actions{display:flex;gap:12px;align-items:center}.navbar-user{font-size:13px;color:#90caf9}.btn-ghost{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px 16px;border-radius:var(--radius);cursor:pointer;font-size:13px;transition:background .15s}.btn-ghost:hover{background:#ffffff1f}.page{max-width:1100px;margin:0 auto;padding:32px 24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:22px;font-weight:700;color:var(--navy)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s;text-decoration:none;font-family:inherit}.btn-primary{background:var(--sky);color:#fff}.btn-primary:hover{background:var(--sky-dark)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--sky-light);border-color:var(--sky)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b71c1c}.btn-sm{padding:5px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:20px;border:1px solid var(--border)}.form-card h2{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--sky-light);text-transform:uppercase;letter-spacing:.5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.full{grid-column:1 / -1}label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}input,select,textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px #3a9fd526}textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.table-wrap{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border)}table{width:100%;border-collapse:collapse}th{background:var(--navy);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;text-align:left}td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr{cursor:pointer;transition:background .1s}tbody tr:hover{background:var(--sky-light)}.empty-row td{text-align:center;color:var(--muted);padding:48px;cursor:default;font-size:15px}.empty-row:hover{background:none!important}.search-bar{margin-bottom:16px}.search-bar input{width:100%;max-width:420px;padding:10px 14px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,#1a5f8a 100%)}.login-card{background:#fff;border-radius:16px;padding:44px 40px;width:400px;box-shadow:0 24px 64px #082a4459}.login-logo{text-align:center;margin-bottom:32px}.login-logo img{width:90px;height:90px;border-radius:50%;margin-bottom:14px}.login-logo h1{font-size:18px;font-weight:700;color:var(--navy)}.login-logo p{color:var(--muted);font-size:13px;margin-top:4px}.login-card .form-group{margin-bottom:16px}.login-card .form-group label{margin-bottom:6px;display:block}.login-card .form-group input{width:100%}.login-card .btn-primary{width:100%;justify-content:center;padding:12px;margin-top:8px;font-size:15px}.error-msg{color:var(--danger);font-size:13px;margin-top:8px;text-align:center}.password-field{position:relative}.password-field input{padding-right:42px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center}.password-toggle:hover{color:var(--navy)}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-not-started{background:#eceff1;color:#607d8b}.badge-draft{background:#fff8e1;color:#f57c00}.badge-in-progress{background:#e3f2fd;color:#1565c0}.badge-complete{background:var(--green-light);color:#2e7d32}.participant-header{background:linear-gradient(135deg,var(--navy) 0%,#1a5f8a 100%);color:#fff;padding:28px;border-radius:var(--radius);margin-bottom:24px;box-shadow:var(--shadow-md)}.participant-header h1{font-size:24px;font-weight:700;margin-bottom:4px}.participant-header .ndis{color:#90caf9;font-size:13px;margin-top:2px}.participant-meta{display:flex;gap:24px;margin-top:14px;flex-wrap:wrap}.participant-meta span{font-size:13px;color:#b0bec5}.participant-meta strong{color:#fff}.plans-section{margin-bottom:24px}.plans-section h2{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:16px}.plan-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;border:1px solid var(--border)}.plan-card h3{font-size:16px;font-weight:600;color:var(--navy)}.sections-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}.section-row{display:flex;align-items:center;padding:10px 12px;border-radius:6px;transition:background .1s;gap:10px}.section-row:hover{background:var(--sky-light)}.section-num{font-size:12px;font-weight:700;color:var(--sky);width:24px;flex-shrink:0}.section-name{font-size:13px;color:var(--text);flex:1}.no-plans{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:56px;text-align:center;border:2px dashed var(--border)}.no-plans p{color:var(--muted);margin-bottom:24px;font-size:15px}.loading{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--muted);font-size:15px}.tiptap{outline:none}.tiptap p{margin:6px 0}.tiptap h1{font-size:20px;font-weight:700;margin:18px 0 8px;color:var(--navy)}.tiptap h2{font-size:17px;font-weight:700;margin:16px 0 6px;color:var(--navy);border-bottom:1px solid var(--border);padding-bottom:4px}.tiptap h3{font-size:15px;font-weight:600;margin:14px 0 5px;color:var(--navy)}.tiptap ul,.tiptap ol{padding-left:24px;margin:8px 0}.tiptap li{margin:4px 0}.tiptap strong{font-weight:700}.tiptap em{font-style:italic}.tiptap table{border-collapse:collapse;width:100%;margin:14px 0}.tiptap th{background:var(--navy);color:#fff;padding:9px 12px;font-size:12px;font-weight:700;text-align:left}.tiptap td{border:1px solid var(--border);padding:9px 12px;vertical-align:top}.tiptap .selectedCell{background:var(--sky-light)!important}.add-row-btn{margin-top:10px;padding:7px 18px;border-radius:6px;border:1.5px dashed var(--sky);background:#fff;cursor:pointer;font-size:13px;color:var(--sky);font-family:inherit;transition:background .12s}.add-row-btn:hover{background:var(--sky-light)}.export-toolbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:12px 32px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.export-document{max-width:860px;margin:32px auto;padding:0 24px 64px}.export-cover{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px;margin-bottom:40px;text-align:center}.export-cover-logo{margin-bottom:24px}.export-title{font-size:26px;font-weight:700;color:var(--navy);margin-bottom:28px}.export-cover-table{width:100%;max-width:520px;margin:0 auto;border-collapse:collapse;text-align:left}.export-cover-table th{width:180px;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;border-bottom:1px solid var(--border)}.export-cover-table td{padding:8px 12px;border-bottom:1px solid var(--border);font-weight:500}.export-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 40px;margin-bottom:24px;page-break-inside:avoid}.export-section-heading{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--sky)}.export-subsection-heading{font-size:14px;font-weight:600;color:var(--navy);margin:18px 0 8px;padding-left:10px;border-left:3px solid var(--sky)}@media print{.no-print{display:none!important}body{background:#fff;font-size:11pt}.export-document{max-width:100%;margin:0;padding:0}.export-cover{border:none;border-radius:0;padding:0 0 24pt;break-after:page}.export-section{border:none;border-radius:0;padding:0;margin-bottom:0;break-before:auto}.export-section-heading{font-size:14pt;border-bottom:1.5pt solid #3a9fd5;padding-bottom:4pt;margin-bottom:12pt}.export-subsection-heading{font-size:11pt;border-left:2pt solid #3a9fd5;padding-left:8pt}.tiptap table{font-size:10pt}.tiptap th{background:#0d3b5e!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.export-title{font-size:20pt}}
