:root{--bg: #ffffff;--surface: #ffffff;--border: #aeaeae;--text: #222222;--muted: #808285;--accent: #009fe3;--accent-strong: #0079b3;--header: #232a52;--ok: #1c7c44;--ok-soft: #e1f5e9;--warn: #b54708;--warn-soft: #fdf1e2;--danger: #b42334;--danger-soft: #fdebed;--info: #2a5bd7;--info-soft: #e8eefc;--neutral-soft: #eef0f4}body.app-operations{--header: #e6332a}body.app-support{--header: #96c11f}body.app-admin{--header: #f39200}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px}.app-header{display:flex;align-items:center;gap:28px;padding:10px 50px;background:var(--header);color:#fff}.app-header h1{font-size:16px;font-weight:700;margin:0;letter-spacing:.2px}.app-nav{display:flex;gap:4px}.app-nav button{background:transparent;border:none;color:#c8cde6;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px}.app-nav button:hover{background:#ffffff1a;color:#fff}.app-nav button[aria-current=page]{background:#ffffff2e;color:#fff;font-weight:600}.app-switcher{margin-left:auto;display:flex;gap:4px;align-items:center}.app-switcher:before{content:"Apps:";color:#8a90b8;font-size:12px;margin-right:4px}.app-switcher a{color:#c8cde6;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:13px}.app-switcher a:hover{background:#ffffff1a;color:#fff}.app-main{max-width:none;margin:0;padding:24px 50px}.screen h1{font-size:20px;margin:0 0 16px}.screen-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.screen-header h1{margin:0}.screen-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.search{padding:8px 12px;border:1px solid var(--border);border-radius:8px;width:320px;font-size:14px;background:var(--surface)}.muted{color:var(--muted);font-size:13px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.card-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 980px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.card-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 1px 2px #1018280d}.card-main{flex:1 1 240px;display:flex;flex-direction:column;gap:2px}.record-link{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0;font-size:14px;text-align:left}.record-link:hover{color:var(--accent-strong);text-decoration:underline}.card-title-link{font-size:15px;font-weight:700}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.link-context{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.link-context-card{flex:1 1 240px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.link-context-card h2{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.link-context-card p{margin:2px 0}.guided-progression{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.guided-actions{display:flex;gap:8px;margin-left:auto}.badge-active,.badge-logged{background:var(--ok-soft);color:var(--ok)}.badge-enquiry,.badge-qualified-enquiry{background:var(--info-soft);color:var(--info)}.badge-awaiting-review,.badge-on-hold{background:var(--warn-soft);color:var(--warn)}.badge-follow-up{background:var(--danger-soft);color:var(--danger)}.badge-exited,.badge-no-further-action,.badge-cold{background:var(--neutral-soft);color:var(--muted)}.badge-arrange-visit,.badge-visited,.badge-consultation-requested,.badge-consultation-sent,.badge-subject-to-approval{background:var(--info-soft);color:var(--info)}.badge-commissioned{background:var(--ok-soft);color:var(--ok)}.badge-urgent{background:var(--danger-soft);color:var(--danger)}.badge-high{background:var(--warn-soft);color:var(--warn)}.badge-medium{background:var(--ok-soft);color:var(--ok)}.badge-low,.badge-new{background:var(--info-soft);color:var(--info)}.badge-in-progress{background:var(--warn-soft);color:var(--warn)}.badge-resolved{background:var(--ok-soft);color:var(--ok)}.badge-closed{background:var(--neutral-soft);color:var(--muted)}.card-overdue{border-left:3px solid var(--danger)}.badge-count{background:var(--warn);color:#fff}.pill{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;background:var(--neutral-soft);color:var(--muted)}.profile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:640px}.profile h1{margin-top:0}.profile-identity{display:flex;align-items:center;gap:16px}.student-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--border)}.student-photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface-muted, #eef0f3);color:var(--text-muted, #6b7280);font-weight:600;letter-spacing:.5px}.profile-grid{display:grid;grid-template-columns:180px 1fr;row-gap:10px;column-gap:16px;margin:16px 0}.profile-grid dt{color:var(--muted);font-size:13px}.profile-grid dd{margin:0;font-weight:500}.btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 14px;cursor:pointer;font-size:14px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed;background:var(--surface);border-color:var(--border);color:var(--text)}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent);color:#fff}.entry-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:720px}.entry-form h1{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:12px 0}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.form-grid label:first-child,.form-grid label.field-wide{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:var(--surface)}.form-grid textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.form-actions-split{justify-content:space-between}.app-main input:not([type=checkbox]):not([type=radio]),.app-main select,.app-main textarea{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:var(--surface)}.app-main textarea{display:block;width:100%;min-height:80px;resize:vertical}.app-main label:has(>input:not([type=checkbox]):not([type=radio])),.app-main label:has(>select),.app-main label:has(>textarea){display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px;color:var(--muted);font-weight:600;margin:6px 0}.form-grid label{margin:0}.form-grid label:has(>textarea){grid-column:1 / -1}.form-grid label:has(>input[type=checkbox]),.form-grid label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:8px;font-weight:400;color:var(--text)}.form-grid label:has(>input[type=checkbox]){width:max-content}.form-grid textarea,.app-main textarea{field-sizing:content;max-height:45vh}.form-section{margin:16px 0;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.form-section legend{font-size:13px;color:var(--muted);font-weight:600;padding:0 4px}.form-section h3{font-size:15px;margin:4px 0 2px}.form-section>label:has(input[type=checkbox]),.form-section>label:has(input[type=radio]){display:flex;flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:400;color:var(--text);margin:4px 0}.multi-picker{flex-basis:100%;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:left}.multi-picker legend{font-size:12px;color:var(--muted);padding:0 4px}.multi-picker label{display:flex;align-items:center;gap:8px;font-size:13px;padding:2px 0;text-align:left}.picker-assigned{list-style:none;margin:0 0 8px;padding:0}.picker-assigned li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:2px 0}.card-actions{display:flex;gap:6px;flex-basis:100%}.btn-small{padding:4px 10px;font-size:12px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);color:#fff}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.confirm-delete{display:flex;gap:8px;margin-top:8px}.profile-actions{display:flex;gap:8px;margin:8px 0}.record-360{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:640px;margin-top:16px}.record-360 h2{margin:16px 0 8px;font-size:16px}.record-360 h2:first-child{margin-top:0}.record-360 h3{margin:12px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.record-360 .card{flex-direction:column;align-items:flex-start;gap:2px}.record-360-pipeline p{margin:8px 0 0}.contact-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 980px){.contact-detail{grid-template-columns:1fr}}.archive-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted, #555)}.pipeline-board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;overflow-y:hidden;width:100%;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--accent) var(--neutral-soft)}.pipeline-board::-webkit-scrollbar{height:10px}.pipeline-board::-webkit-scrollbar-track{background:var(--neutral-soft);border-radius:6px}.pipeline-board::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px}.pipeline-board>.lane{background:var(--neutral-soft);border-radius:10px;flex:0 0 160px;width:160px;scroll-snap-align:start;display:flex;flex-direction:column;transition:outline-color .12s ease;outline:2px solid transparent}.pipeline-board>.lane.lane-drop{outline-color:var(--accent);background:var(--info-soft)}.lane-header{font-size:14.3px;font-weight:700;color:#fff;margin:0;padding:11px 12px;border-radius:10px 10px 0 0;letter-spacing:.2px}.lane-body{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:44px}.lane-empty{margin:4px;font-size:12px}.pipeline-board ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lane-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:10px 12px;box-shadow:0 1px 2px #1018280d;display:flex;flex-direction:column;gap:2px;cursor:grab}.lane-card:active{cursor:grabbing}.lane-card-urgent{background:var(--danger-soft)}.lane-card-meta{font-size:12px;min-width:0;overflow-wrap:anywhere}.support-board>.lane{flex:0 0 224px;width:224px}.lane-priority-summary{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 0}.priority-chip{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;line-height:1}.priority-glyph{margin-right:3px;font-size:10px}.ticket-detail-head{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.comment-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}.comment{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.comment-meta{font-size:12px;margin-bottom:2px}.comment-body{white-space:pre-wrap}.comment-input{width:100%;box-sizing:border-box;min-height:72px;resize:vertical;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:var(--surface)}.area-access{width:100%;border-collapse:collapse;margin:10px 0 4px}.area-access th{text-align:left;font-size:11px;font-weight:700;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.area-access td{padding:4px 6px;vertical-align:top}.area-access select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text)}
