:root{--navy:#173f4b;--navy-dark:#123440;--teal:#226575;--ink:#233d47;--muted:#76858a;--line:#e3e9e9;--bg:#f4f7f7;--pale:#e9f2f2;--green:#34826b;--amber:#a66d22;--white:#fff;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #4ba2bc;outline-offset:3px}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-60px;left:15px;background:var(--navy);color:#fff;padding:12px;z-index:50}.skip:focus{top:8px}[hidden]{display:none!important}
.sidebar{position:fixed;width:202px;inset:0 auto 0 0;background:var(--navy);color:#d7e2e6;padding:29px 16px 18px;display:flex;flex-direction:column;z-index:12}.brand{display:flex;gap:12px;align-items:center;padding:0 7px;text-decoration:none;color:#fff;font-size:27px;font-weight:600;letter-spacing:-1px;line-height:1.1}.brand-sub{font-size:7px;display:block;letter-spacing:1.45px;font-weight:500;line-height:2.6;color:#bdcfd5}.brand-mark{border:1px solid #6d8c97;border-radius:10px;width:36px;height:40px;display:flex;align-items:center;justify-content:center;font-size:27px;position:relative;flex-shrink:0}.brand-mark span{position:absolute;background:#76bfb2;width:5px;height:5px;border-radius:50%;right:-2px;top:6px}.workspace-label{font-size:9px;font-weight:600;letter-spacing:1.35px;margin:49px 12px 14px;color:#9fb7bf}.nav-item{border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:6px;color:#bcd0d6;font-size:13px;text-align:left;margin-bottom:5px}.nav-item.active{background:#ffffff14;color:#fff;box-shadow:inset 3px 0 #80c3b5}.nav-item:hover{background:#ffffff0c;color:#fff}.nav-item.active:hover{background:#ffffff19}.nav-count{font-size:11px;min-width:22px;height:22px;display:grid;place-items:center;background:#ffffff0e;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto}.campaign{display:flex;gap:10px;padding:15px 12px;border:1px solid #ffffff16;border-radius:6px;font-size:11px;margin-bottom:23px}.campaign-dot{width:6px;height:6px;background:#7fbba9;border-radius:50%;margin-top:6px}.campaign small{display:block;font-size:10px;color:#95afb8;margin-top:4px}.sidebar-note{border-top:1px solid #ffffff13;padding:17px 12px 0;margin-top:14px;color:#90aab4;font-size:10px;line-height:1.8}.app{margin-left:202px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.breadcrumbs{display:flex;gap:15px;align-items:center;color:#7d8b90;font-size:12px}.breadcrumbs strong{font-weight:500;color:#425962}.breadcrumbs svg{width:12px;height:12px}.topbar-right{display:flex;align-items:center;gap:27px}.demo-pill{font-size:10px;letter-spacing:.1px;background:#f7f4e9;border:1px solid #eee7cd;color:#827039;padding:5px 9px;border-radius:4px;display:flex;align-items:center;gap:7px}.demo-pill span{width:5px;height:5px;background:#b5a369;border-radius:50%}.profile{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600}.profile small{display:block;color:#869399;font-weight:400;font-size:9px}.profile-avatar{display:grid;place-items:center;width:33px;height:33px;background:#ebf0ed;border:1px solid #dce5df;border-radius:50%;color:#5a7567}
main{padding:27px 30px 12px;height:calc(100dvh - 73px);min-height:700px;display:flex;flex-direction:column}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#7b9295}.page-heading h1{font-weight:600;font-size:27px;letter-spacing:-.65px;margin:6px 0 6px;line-height:1.2}.page-heading p{font-size:12px;color:#7a898e;margin:0}.btn{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.btn svg{width:16px;height:16px}.primary{background:var(--navy);border-color:var(--navy);color:white}.primary:hover{background:#245767;border-color:#245767}.secondary{background:#fff;border-color:#dbe3e5}.secondary:hover{background:#f4f7f7}.subtle{background:transparent;color:#657b84;font-weight:500;border:0;padding:0 9px;height:32px}.subtle:hover{background:#e8eeee}.new-btn{height:40px;padding:0 18px;box-shadow:0 2px 3px #173f4b12}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}.view-switch{display:flex;gap:3px;padding:3px;background:#e9eeee;border:1px solid #e2e8e9;border-radius:6px}.view-switch button{display:flex;gap:7px;align-items:center;padding:5px 11px;background:none;border:0;border-radius:4px;font-size:11px;color:#718188}.view-switch svg{height:14px;width:14px}.view-switch .chosen{background:#fff;box-shadow:0 1px 3px #1639460d;color:#284e5b;font-weight:600}.file-actions{display:flex;gap:9px}
.work-area{display:grid;grid-template-columns:minmax(310px,.83fr) minmax(480px,1.48fr);gap:20px;flex:1;min-height:0}.records-panel,.editor-panel{background:#fff;border:1px solid #dde5e6;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #0e394304}.records-panel{display:flex;flex-direction:column;min-height:0}.panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;padding:18px 18px 15px}.panel-heading h2{font-size:12px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.panel-heading h2 span{background:#f0f4f4;font-size:10px;padding:1px 6px;border-radius:4px;color:#6d8086}.small-label{font-size:9px;color:#91a0a4}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #dfe6e7;border-radius:5px;background:#fff;margin:0 17px;height:38px;padding:0 10px}.search-box svg{width:16px;height:16px;color:#8a9da4}.search-box input{border:0;outline:0;width:100%;min-width:0;font-size:11px;color:var(--ink);height:100%;background:transparent}.search-box:focus-within{border-color:#488a9d;box-shadow:0 0 0 2px #488a9d15}.search-box kbd{font-size:10px;color:#9aabad;border:1px solid #e5eaea;border-radius:3px;padding:0 4px}.list-tools{display:flex;gap:5px;align-items:center;padding:13px 18px;color:#87979c;font-size:9px;border-bottom:1px solid var(--line)}.list-tools select{border:0;background:white;outline:0;color:#47606a;font-size:10px;max-width:145px;cursor:pointer}.list-tools>span{margin-left:auto;white-space:nowrap}.records-content{overflow:auto;flex:1;min-height:0}.record-row{position:relative;width:100%;background:#fff;border:0;border-bottom:1px solid #edf1f2;padding:17px 18px;text-align:left;display:block;transition:background .15s}.record-row:hover{background:#f7faf9}.record-row.selected{background:#edf5f4;box-shadow:inset 3px 0 #387e81}.row-top{display:flex;align-items:center;gap:10px}.row-avatar{display:grid;place-items:center;height:33px;width:33px;flex-shrink:0;border-radius:8px;background:#edf1f6;color:#677f99;font-size:11px;font-weight:600;overflow:hidden}.row-avatar.sage{background:#e6eeea;color:#6a8977}.row-avatar.sand{background:#f2eddf;color:#9d8c60}.row-avatar img{height:100%;width:100%;object-fit:cover}.row-person{min-width:0;flex:1}.row-person strong{display:block;font-size:12px;font-weight:600;color:#314f59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-person small{display:block;font-size:9px;color:#8a999e;margin-top:3px}.row-num{font-size:9px;color:#9aabae;align-self:flex-start;margin-top:2px}.row-job{font-size:10px;color:#809097;margin:11px 0 10px;padding-left:43px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-bottom{display:flex;justify-content:space-between;align-items:center;padding-left:43px}.row-date{font-size:9px;color:#8a9a9e;display:flex;gap:5px;align-items:center}.row-date svg{width:12px;height:12px}.status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:500;padding:3px 7px;border-radius:4px;white-space:nowrap}.status:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.status.pass{color:#40806a;background:#edf5ee}.status.fail{color:#9b7335;background:#f7f0e3}.status.pending{color:#7d8995;background:#f0f3f6}.list-footer{display:flex;gap:7px;align-items:center;color:#8c9ba0;font-size:9px;padding:12px 15px;border-top:1px solid #e7eded;background:#fcfdfd}.list-footer svg{width:13px;height:13px}.editor-panel{min-height:0;display:flex;flex-direction:column}.editor-panel form{display:flex;flex-direction:column;height:100%;min-height:0}.editor-heading{display:flex;align-items:center;gap:12px;padding:18px 23px;border-bottom:1px solid var(--line);min-height:94px}.record-photo{border:1px solid #dce7e4;background:#eaf2ee;color:#6e8c7b;border-radius:9px;width:51px;height:55px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;overflow:hidden;flex-shrink:0}.record-photo img{width:100%;height:100%;object-fit:cover}.record-heading-text{min-width:0;flex:1}.record-overline{font-size:8px;letter-spacing:1.3px;font-weight:600;color:#83979e;margin-bottom:3px}.editor-heading h2{font-size:17px;font-weight:600;letter-spacing:-.3px;margin:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-link{padding:4px 0 0;border:0;background:none;color:#789099;display:flex;gap:5px;align-items:center;font-size:9px}.photo-link svg{width:11px;height:11px}.photo-link:hover{color:var(--teal)}.icon-btn{width:32px;height:32px;border:0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#87989e;flex-shrink:0}.icon-btn:hover{background:#eff3f3;color:#496570}.icon-btn svg{width:17px;height:17px}.delete-btn:hover{color:#a84e4e;background:#fff1ee}.form-scroll{overflow:auto;padding:22px 24px 15px;flex:1;min-height:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#d9e3e5 transparent}.form-section+.form-section{margin-top:23px;padding-top:19px;border-top:1px solid #edf0f0}.section-heading{display:flex;align-items:center;gap:8px;margin-bottom:14px}.step-number{font-size:9px;font-weight:600;color:#82999e;background:#f0f5f5;border:1px solid #e6eded;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.section-heading h3{font-size:12px;font-weight:600;margin:0}.required-note{margin-left:auto;font-size:9px;color:#9aabad}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.form-grid label,.text-label,.textarea-heading label{font-size:10px;font-weight:600;color:#5a7079}.full{grid-column:1/-1}.required{color:#78959e}.form-grid input{display:block;width:100%;border:1px solid #dbe3e6;border-radius:4px;background:#fff;padding:9px 10px;height:37px;margin-top:5px;color:#36505b;font-size:12px;outline:0}.form-grid input:focus,textarea:focus{border-color:#5596a5;box-shadow:0 0 0 3px #5396a511}.form-grid input[aria-invalid=true]{border-color:#c16d63;background:#fffafa}input::placeholder,textarea::placeholder{color:#a7b2b6;font-weight:400}.result-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;border:0;padding:0;margin:0}.result-option{position:relative;border:1px solid #e1e7e8;padding:10px 8px;display:flex;gap:7px;align-items:center;border-radius:5px;font-size:11px;cursor:pointer;white-space:nowrap;color:#849098}.result-option input{position:absolute;opacity:0;width:1px;height:1px}.radio-dot{width:13px;height:13px;display:flex;align-items:center;justify-content:center;border:1px solid #c4d0d3;border-radius:50%;flex-shrink:0}.result-option:has(input:checked){border-color:#7a9b9e;background:#f2f7f6;color:#45656e}.result-option:has(input:checked) .radio-dot{border-color:currentColor}.result-option:has(input:checked) .radio-dot:after{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.result-option.pass:has(input:checked){background:#f0f7f1;border-color:#88ad95;color:#41836c}.result-option.fail:has(input:checked){background:#fcf7ed;border-color:#d4b477;color:#9d793f}.result-option:has(input:focus-visible){outline:3px solid #4ba2bc;outline-offset:2px}.field-hint{font-size:9px;color:#94a2a7;margin:6px 0 0}.text-label{display:block;margin-bottom:6px}textarea{display:block;width:100%;border:1px solid #dce5e7;border-radius:5px;padding:11px 12px;color:#49616b;font-size:12px;line-height:1.8;resize:vertical;outline:0;min-height:88px;background:#fff}.textarea-heading{display:flex;justify-content:space-between;align-items:center;margin:17px 0 6px;gap:10px}.text-button{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:4px 0;color:#6e8d97;font-size:9px}.text-button svg{width:12px;height:12px}.text-button:hover{color:var(--navy)}#admissions{min-height:180px}.text-footer{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#9aa8ad;margin-top:7px}.record-meta{display:flex;gap:6px;align-items:center;font-size:9px;color:#98a7ab;margin-top:19px}.record-meta svg{width:12px;height:12px}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.save-state{display:flex;gap:5px;align-items:center;color:#88a195;font-size:9px;min-width:0}.save-state svg{width:12px;height:12px}.save-state.dirty{color:#b38e4b}.editor-actions{display:flex;gap:8px}.editor-actions .btn{height:35px;font-size:11px;padding:0 12px}.prototype-note{display:flex;align-items:center;gap:6px;justify-content:center;font-size:9px;color:#99a6aa;padding:11px 0 0;text-align:center}.mini-dot{height:4px;width:4px;background:#adbbc0;border-radius:50%;flex-shrink:0}.form-error{padding:10px 12px;border-radius:4px;font-size:11px;background:#fff2ef;color:#9c5145;border:1px solid #efdbd5;margin-bottom:16px}.editor-empty,.empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 15px;color:#93a2a7;height:100%}.editor-empty>svg,.empty-list>svg{width:36px;height:36px;margin-bottom:14px;color:#a6bbc0}.editor-empty h2,.empty-list h3{font-size:17px;color:#486771;margin:0 0 8px;font-weight:500}.editor-empty p,.empty-list p{font-size:12px;margin:0 0 20px}.mobile-back{display:none}.flip{transform:rotate(180deg)}
.work-area.table-mode{display:block}.table-mode .records-panel{height:100%}.table-mode .editor-panel{display:none}.table-mode .panel-heading{padding-bottom:12px}.table-mode .search-box{max-width:380px}.table-mode .list-tools{justify-content:flex-start}.table-mode .list-tools>span{margin-left:10px}.data-table{border-collapse:collapse;width:100%;font-size:11px;min-width:730px}.data-table th{text-align:left;background:#f7f9f9;border-bottom:1px solid #e0e8e9;position:sticky;top:0;padding:12px 16px;font-size:9px;letter-spacing:.3px;font-weight:600;color:#81939a;z-index:1}.data-table td{padding:15px 16px;border-bottom:1px solid #edf1f2;color:#6d848e}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f1f7f6}.data-table .table-person{font-weight:600;color:#3d5a64}.table-open{background:none;border:0;color:var(--teal);font-size:11px;font-weight:500;padding:5px}.data-table .status{font-size:10px}.trash-row{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.trash-row .trash-person{flex:1;min-width:0}.trash-row strong{display:block;font-size:12px}.trash-row small{font-size:10px;color:#87979c}.restore-btn{font-size:10px;padding:0 9px;height:30px}.restore-btn svg{width:13px;height:13px}
dialog{border:1px solid #e0e9ea;border-radius:12px;background:#fff;color:var(--ink);padding:0;width:480px;max-width:calc(100% - 32px);box-shadow:0 24px 100px #0e2e4333;max-height:90dvh}dialog::backdrop{background:#12343f66;backdrop-filter:blur(2px)}.modal-content{padding:25px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2,.modal-content h2{font-size:20px;font-weight:600;letter-spacing:-.4px;margin:4px 0 12px}.modal-content p,.modal-description{font-size:12px;color:#7c9199;line-height:1.75}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.modal-footer>span:first-child{margin-right:auto}.danger{background:#ab574e;color:white}.danger:hover{background:#94483f}.modal-content ul{padding-left:17px;font-size:12px;color:#65808a;line-height:1.9}.modal-content li+li{margin-top:10px}.modal-content strong{color:#3d5f6d}.modal-icon{width:43px;height:43px;border-radius:50%;background:#f8eeee;color:#b66b60;display:grid;place-items:center;margin-bottom:15px}.text-modal{width:850px;padding:24px;max-height:90dvh}.text-modal .modal-head h2{margin:4px 0}.text-modal .modal-description{margin:10px 0 15px}.text-modal textarea{height:53dvh;min-height:180px;resize:none;font-size:14px;line-height:1.9}.text-modal .modal-footer{margin-top:16px}.muted{font-size:11px;color:#8a9ba2}.toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#244c59;border:1px solid #38616e;box-shadow:0 5px 22px #16374426;color:white;border-radius:7px;max-width:calc(100% - 30px);font-size:12px;white-space:nowrap}.toast>svg{color:#a3d5c0;width:17px;height:17px}.toast .icon-btn{width:24px;height:24px;color:#c5d5da}.toast button:not(.icon-btn){background:none;border:0;color:#c7e8d9;text-decoration:underline;font-weight:600;font-size:11px}.import-box{background:#f3f7f7;border:1px dashed #cbdadc;border-radius:6px;padding:16px;margin:16px 0;font-size:11px;color:#66818c;line-height:1.8}.import-summary{padding:12px;border-radius:6px;background:#edf6f1;color:#4c8067;font-size:12px}.error-list{max-height:170px;overflow:auto;background:#fff8ef;padding:12px 18px!important;color:#a07a42!important}.header-preview{font-size:10px;word-break:break-word;font-family:ui-monospace,monospace;background:#f3f6f7;padding:10px}.storage-warning{font-size:11px;color:#a86b31}.photo-options{display:flex;gap:8px;margin:18px 0}







/* Responsive workspace rules live in cco-theme.css. */

.modal-content p,.modal-description,.modal-content ul{font-size:14px}
.table-open svg{width:13px;height:13px;vertical-align:middle}
