:root{--fordham-maroon:#8b1538;--fordham-maroon-dark:#67102a;--fordham-blush:#f8edf1;--navy:#173a59;--navy2:#24577f;--teal:#2a7c7d;--teal2:#e0f3f2;--ink:#172638;--muted:#5a6675;--line:#d5dfe9;--bg:#f4f6f8;--red:#b61f45;--redbg:#fff0f3;--amber:#8a5a00;--amberbg:#fff7df;--green:#176b4b;--greenbg:#e8f7ef;--bluebg:#eaf3ff}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,.buttonlike{color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b9c8d8;border-radius:6px;padding:8px 12px;font-weight:650}button:hover,.buttonlike:hover{background:#eef5fb}.primary{background:var(--fordham-maroon);color:#fff;border-color:var(--fordham-maroon)}.primary:hover{background:var(--fordham-maroon-dark)}.danger-button{color:var(--red)}.text-button{color:var(--navy);text-align:left;background:0 0;border:0;padding:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--fordham-maroon);color:#fff;border-bottom:4px solid var(--fordham-maroon-dark);justify-content:space-between;align-items:center;min-height:78px;padding:10px 24px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{background:#ffffff1a;border:1px solid #ffffffb3;border-radius:4px;place-items:center;width:45px;height:45px;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:700;line-height:1;display:grid}.brand strong,.brand small,.brand-university{display:block}.brand-university{letter-spacing:.13em;text-transform:uppercase;color:#f4dfe6;font-size:10px;font-weight:800}.brand strong{letter-spacing:.01em;font-family:Georgia,Times New Roman,serif;font-size:22px}.brand small{color:#f5dce4;margin-top:2px}.top-actions{align-items:center;gap:8px;display:flex}.top-actions button,.top-actions .buttonlike{color:var(--fordham-maroon-dark);background:#fff;border-color:#ffffff73}.top-actions button:hover,.top-actions .buttonlike:hover{background:var(--fordham-blush)}.top-actions .danger-button{color:#8b1538}.role-label{color:#f5dce4;font-size:12px}.role-label select{border-radius:5px;margin-top:3px;padding:7px;display:block}.buttonlike input{display:none}.storage-line{height:30px;color:var(--muted);background:#f5eef1;border-bottom:1px solid #dec7cf;align-items:center;gap:7px;padding:0 24px;font-size:12px;display:flex}.storage-ok,.storage-error{background:#23825b;border-radius:50%;width:8px;height:8px}.storage-error{background:#d03b61}.nav-tabs{border-bottom:1px solid var(--line);background:#fff;padding:0 18px;display:flex;overflow-x:auto}.nav-tabs button{color:#466079;white-space:nowrap;background:#fff;border:0;border-bottom:3px solid #0000;border-radius:0;padding:14px 16px}.nav-tabs button.active{color:var(--fordham-maroon);border-color:var(--fordham-maroon);font-weight:800}.patient-banner{background:#edf3f7;border-bottom:1px solid #bdccd8;grid-template-columns:2fr repeat(4,1fr);gap:0;padding:10px 24px;display:grid}.patient-banner>div{border-right:1px solid #c4d4e3;padding:0 14px}.patient-banner>div:first-child{padding-left:0}.patient-banner>div:last-child{border:0}.patient-banner strong,.patient-banner span,.patient-banner label{display:block}.patient-banner>div:first-child strong{color:var(--fordham-maroon);font-size:18px}.patient-banner label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px;font-size:10px}.patient-banner span{color:var(--muted);font-size:12px}main{flex:1;padding:20px 24px 28px}.grid{gap:18px;display:grid}.two-one{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.directory{grid-template-columns:310px minmax(0,1fr)}.stack{flex-direction:column;gap:18px;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 2px 8px #1e2d3d0f}.panel-head{border-bottom:1px solid #e5ebf1;border-top:3px solid var(--fordham-maroon);padding:16px 18px 12px}.panel h2{color:var(--navy);margin:0;font-size:19px}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.panel>p,.panel>h3,.panel>h4,.panel>ol,.panel>ul,.panel>label,.panel>.form-actions,.panel>textarea{margin-left:18px;margin-right:18px}.panel h3{color:var(--navy);margin-top:18px;font-size:15px}.panel h4{color:#334e68;margin:14px 0 6px}.panel table{border-collapse:collapse;width:100%}.panel th{color:#40576d;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--line);background:#f0f3f6;padding:9px 11px;font-size:10px}.panel td{vertical-align:top;border-bottom:1px solid #e9eef3;padding:10px 11px}.panel tr:last-child td{border-bottom:0}.panel tr[tabindex]{cursor:pointer}.panel tr[tabindex]:hover{background:#f8f2f4}.panel td small{color:var(--muted);margin-top:3px;display:block}.status{color:#41566b;background:#edf1f5;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:750;display:inline-block}.status.good{background:var(--greenbg);color:var(--green)}.status.warn{background:var(--amberbg);color:var(--amber)}.status.danger{background:var(--redbg);color:var(--red)}.danger-text{color:var(--red)!important}.task-list{padding:4px 18px 14px;list-style:none;margin:0!important}.task-list li{border-bottom:1px solid #edf1f5;padding:10px 0}.task-list label{align-items:flex-start;gap:10px;display:flex}.task-list input{margin-top:3px}.task-list small{color:var(--muted);margin-top:3px;display:block}.done{color:var(--muted);text-decoration:line-through}.facts{margin:8px 18px 18px}.facts>div{border-bottom:1px solid #edf1f5;padding:9px 0}.facts dt{color:var(--muted);text-transform:uppercase;font-size:11px}.facts dd{margin:3px 0 0}.form-stack{flex-direction:column;gap:12px;padding:16px 18px 20px;display:flex}.form-stack label,.panel>label{color:#4b6074;font-size:12px;font-weight:650}.form-stack input,.form-stack select,.form-stack textarea,.panel>label select,.panel>textarea{width:100%;margin-top:4px;display:block}.form-stack input,.form-stack select,.panel>label select,.search{background:#fff;border:1px solid #b9c8d8;border-radius:5px;height:39px;padding:8px 10px}.form-stack textarea,.panel textarea,textarea{resize:vertical;border:1px solid #b9c8d8;border-radius:5px;padding:9px 10px}.form-actions{justify-content:flex-end;gap:8px;padding:4px 0 18px;display:flex}.form-message{border-radius:5px;margin:0;padding:10px}.form-message.error{background:var(--redbg);color:var(--red)}.form-message.success{background:var(--greenbg);color:var(--green)}.button-row{flex-wrap:wrap;gap:6px;display:flex}.button-row button{padding:5px 8px;font-size:12px}.search{width:calc(100% - 36px);margin:16px 18px}.patient-list{flex-direction:column;display:flex}.patient-list>button{text-align:left;background:#fff;border:0;border-top:1px solid #e8edf2;border-radius:0;padding:12px 16px;display:block}.patient-list>button.selected{background:var(--fordham-blush);border-left:4px solid var(--fordham-maroon);padding-left:12px}.patient-list strong,.patient-list span{display:block}.patient-list span{color:var(--muted);margin:3px 0;font-size:11px}.inline-alert{background:var(--bluebg);border-left:4px solid #4285bd;border-radius:4px;margin:14px 18px;padding:12px 14px}.inline-alert p{margin:4px 0 8px}.inline-alert.warn{background:var(--amberbg);border-color:#d09a2b}.inline-alert.danger{background:var(--redbg);border-color:var(--red)}.inline-alert.info{background:var(--bluebg);border-color:#4285bd}.subtabs{border-bottom:1px solid var(--line);gap:3px;padding:10px 16px 0;display:flex;overflow-x:auto}.subtabs button{border:0;border-bottom:3px solid #0000;border-radius:0;padding:8px 10px;font-size:12px}.subtabs button.active{border-color:var(--fordham-maroon);color:var(--fordham-maroon)}.summary-grid{grid-template-columns:1fr 1.3fr;gap:18px;padding:8px 0 20px;display:grid}.summary-grid>div{padding-right:18px}.timeline{padding:16px 18px}.timeline article{border-left:4px solid var(--teal);margin-bottom:18px;padding:0 0 14px 14px}.timeline header,.message header,.ai-draft header{justify-content:space-between;gap:10px;display:flex}.timeline header span,.message header span,.ai-draft header span{color:var(--muted);font-size:11px}.timeline p{margin:6px 0}.empty{color:var(--muted);padding:18px;font-style:italic}.soap-grid{grid-template-columns:1fr 1fr;gap:14px;padding:16px 18px;display:grid}.soap-grid label>span{color:var(--navy);text-transform:capitalize;margin-bottom:5px;font-weight:800;display:block}.soap-grid textarea{width:100%}.help{color:var(--muted);font-size:12px}.message{border-bottom:1px solid #e5ebf1;padding:14px 18px}.message header>div strong,.message header>div span{display:block}.portal-card{background:#fbfdff;border:1px solid #cbd9e6;border-radius:8px;margin:16px 18px;padding:16px}.portal-card p{border-bottom:1px solid #e5ebf1;padding-bottom:10px}.portal-card small{color:var(--muted);display:block}.metric-row{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.metric-row>div{text-align:center;background:#fff;padding:16px}.metric-row span,.metric-row strong,.metric-row small{display:block}.metric-row strong{color:var(--fordham-maroon);margin:4px;font-size:29px}.metric-row small{color:var(--muted)}.big-number{color:var(--fordham-maroon);padding:18px 18px 8px;font-size:46px;font-weight:900}.big-number small{color:var(--muted);font-size:12px;font-weight:500;display:block}.checklist{padding-left:38px;margin-bottom:18px!important}.checklist li{padding:4px 0}.ai-draft{background:#fcfdff;border:1px solid #c9d8e6;border-radius:8px;margin:16px 18px;padding:16px}.ai-draft mark{color:#7b1530;background:#ffd7df;padding:0 3px}.evidence-list{padding:0 18px 18px}.evidence-list label{border:1px solid #d8e1ea;border-radius:6px;gap:10px;margin:7px 0;padding:10px;display:flex}.evidence-list input{margin-top:3px}.evidence-list strong,.evidence-list small{display:block}.evidence-list small{color:var(--muted);margin-top:3px}footer{min-height:50px;color:var(--muted);background:#f3ecef;border-top:1px solid #dec7cf;align-items:center;gap:24px;padding:8px 24px;font-size:11px;display:flex}footer button{margin-left:auto;padding:5px 9px}@media (max-width:900px){.topbar{flex-direction:column;align-items:flex-start;gap:16px;height:auto;padding:14px}.top-actions{flex-wrap:wrap}.patient-banner{grid-template-columns:1fr 1fr}.patient-banner>div{border:0;padding:4px}.two-one,.directory,.summary-grid,.soap-grid,.metric-row{grid-template-columns:1fr}.nav-tabs{padding:0}.panel{overflow-x:auto}}@media print{.topbar,.storage-line,.nav-tabs,footer,.top-actions{display:none!important}.patient-banner{padding:8px}.grid{display:block}.panel{box-shadow:none;break-inside:avoid;margin-bottom:14px}main{padding:8px}}.login-page{background:radial-gradient(circle at 18% 12%,#fff 0,#f8f2f4 32%,#eef2f6 100%);place-content:center;gap:24px;min-height:100vh;padding:36px 20px;display:grid}.login-brand{text-align:center;color:var(--fordham-maroon)}.login-mark{background:var(--fordham-maroon);color:#fff;border-radius:5px;place-items:center;width:58px;height:58px;margin:0 auto 12px;font:700 36px/1 Georgia,serif;display:grid;box-shadow:0 8px 24px #67102a38}.login-brand .brand-university{color:var(--fordham-maroon);font-size:11px}.login-brand h1{margin:5px 0 0;font:700 30px/1.1 Georgia,serif}.login-brand p{color:var(--muted);margin:6px 0 0}.login-card{background:#fff;border:1px solid #d7c5cb;border-radius:9px;width:min(520px,100vw - 32px);overflow:hidden;box-shadow:0 16px 45px #2c24291f}.login-card-head{background:var(--fordham-maroon);color:#fff;text-transform:uppercase;letter-spacing:.08em;padding:12px 22px;font-size:12px;font-weight:800}.login-card-body{padding:26px}.login-card h2{color:var(--navy);margin:0 0 10px;font-size:23px}.login-card p{color:#405366;font-size:16px;line-height:1.55}.google-button{width:100%;color:var(--fordham-maroon);background:#fff;border:1px solid #c5cfd8;justify-content:center;align-items:center;gap:12px;margin:22px 0 18px;padding:13px 16px;font-size:16px;font-weight:800;display:flex;box-shadow:0 2px 5px #17263812}.google-button:hover{background:var(--fordham-blush)}.google-g{color:#4285f4;background:#fff;border:1px solid #d8dfe5;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.login-error{border-left:4px solid var(--red);background:var(--redbg);color:#7b1530;padding:12px 14px;line-height:1.45}.login-notes{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:14px 0 0 21px;line-height:1.65}.login-footer{text-align:center;color:var(--muted);font-size:12px}.account-chip{text-align:right;border-right:1px solid #ffffff59;max-width:220px;padding-right:12px}.account-chip strong,.account-chip span{display:block}.account-chip strong{font-size:13px}.account-chip span{color:#f5dce4;margin-top:2px;font-size:10px}.assignment-layout{grid-template-columns:350px minmax(0,1fr);align-items:start}.assignment-list,.student-list{flex-direction:column;display:flex}.assignment-list>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e7edf2;border-radius:0;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:14px;display:grid}.assignment-list>button.selected{background:var(--fordham-blush);box-shadow:inset 4px 0 var(--fordham-maroon)}.assignment-list strong,.assignment-list small{display:block}.assignment-list small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.assignment-number{background:var(--fordham-maroon);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.assignment-summary{background:#f6f8fa;padding:16px}.assignment-summary p{color:var(--muted);font-size:12px;line-height:1.5}.assignment-header{border-bottom:1px solid var(--line);background:#f4f6f8;grid-template-columns:1.5fr 1fr 1fr;display:grid}.assignment-header>div{border-right:1px solid var(--line);padding:13px 16px}.assignment-header>div:last-child{border:0}.assignment-header span,.assignment-header strong{display:block}.assignment-header span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:9px}.assignment-header strong{color:var(--navy);margin-top:4px}.assignment-body{padding:8px 18px 18px}.assignment-body p,.assignment-body li{line-height:1.55}.assignment-body li{margin:6px 0}.assignment-body h3{margin-left:0!important}.submission-box{padding:16px 18px 20px}.submission-box>p{line-height:1.55}.submission-box label{color:#41566b;font-size:12px;font-weight:800;display:block}.submission-box textarea{width:100%;margin-top:6px;display:block}.submission-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.submission-actions span{color:var(--muted);font-size:11px}.feedback-card{border-left:4px solid var(--green);background:var(--greenbg);margin-top:16px;padding:14px}.feedback-card p{margin-bottom:0;line-height:1.5}.gradebook-layout{grid-template-columns:310px minmax(0,1fr);align-items:start}.student-list>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e7edf2;border-radius:0;padding:13px 16px}.student-list>button.selected{background:var(--fordham-blush);box-shadow:inset 4px 0 var(--fordham-maroon)}.student-list strong,.student-list span,.student-list small{display:block}.student-list span,.student-list small{color:var(--muted);margin-top:3px;font-size:11px}.gradebook-tabs{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.gradebook-tabs button{background:#fff;border:0;border-radius:0;padding:14px}.gradebook-tabs button.active{background:var(--fordham-blush);color:var(--fordham-maroon);box-shadow:inset 0 -4px var(--fordham-maroon)}.gradebook-tabs strong,.gradebook-tabs span{display:block}.gradebook-tabs span{margin-top:3px;font-size:11px}.student-response{white-space:pre-wrap;border:1px solid var(--line);background:#f7f9fb;padding:14px;line-height:1.6}.grade-entry{border-top:1px solid var(--line);gap:12px;margin-top:18px;padding-top:16px;display:grid}.grade-entry input,.grade-entry textarea{border:1px solid #b9c8d8;border-radius:5px;width:100%;margin-top:5px;padding:9px;display:block}.grade-entry input{max-width:140px}@media (max-width:1050px){.account-chip{text-align:left;border:0;order:3;max-width:none}.assignment-layout,.gradebook-layout{grid-template-columns:1fr}}@media (max-width:700px){.assignment-header,.gradebook-tabs{grid-template-columns:1fr}.assignment-header>div{border-right:0;border-bottom:1px solid var(--line)}}
