:root{--ink:#192a35;--muted:#536572;--line:#d7e0e5;--paper:#fff;--bg:#f2f5f7;--accent:#2C2E35;--gold:#e8b957}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:white;color:var(--ink)}button:hover{background:#ececee}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.danger{color:#a12626}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #2C2E35;outline-offset:2px;box-shadow:0 0 0 5px #e8b957}header :focus-visible,.on-dark:focus-visible{outline-color:#e8b957;box-shadow:0 0 0 5px #1E2025}header{background:#1E2025;color:white;padding:20px max(24px,calc((100vw - 1440px)/2));border-bottom:5px solid var(--gold)}header p{margin:5px 0;color:#d4d5d9}h1{font-size:28px;margin:0}h2{font-size:22px;margin:0 0 8px}h3{font-size:17px;margin:0}main{max-width:1488px;margin:auto;padding:24px}.toolbar,.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{background:#fff8e8;border:1px solid #e8cf96;border-radius:9px;padding:12px 16px;margin-bottom:20px;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:15px}.stat strong{display:block;font-size:27px;color:var(--accent)}.stat span,.muted{color:var(--muted)}.layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.sidebar{align-self:start;position:sticky;top:15px}.sidebar input,.sidebar select{margin:6px 0 10px}.record-list{max-height:480px;overflow:auto}.record{width:100%;text-align:left;display:block;margin:7px 0;padding:12px}.record.active{border:2px solid var(--accent);background:#eeeef0}.record strong,.record small{display:block;overflow-wrap:anywhere}.record small{color:var(--muted)}.editor-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.badge{font-size:12px;border-radius:20px;padding:4px 9px;background:#edf2f5;display:inline-block}.meta{font-size:12px;color:var(--muted);margin:10px 0}.progress{height:7px;background:#e4eaee;border-radius:8px;overflow:hidden;margin:10px 0 5px}.progress div{height:100%;background:var(--accent)}nav{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}nav button{font-size:13px;padding:7px 10px}nav button.active{background:var(--accent);color:white}.section-title{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}label{display:block;font-weight:600;font-size:14px;margin-bottom:5px}input:not([type=checkbox]),select,textarea{width:100%;padding:10px 11px;border:1px solid #6b7f8c;border-radius:6px;background:white;color:var(--ink)}textarea{min-height:95px;resize:vertical}input[readonly]{background:#f3f6f8}.required{color:#9d2525}.hint{font-size:12px;color:var(--muted);margin-top:4px}.section-note{padding:10px 12px;background:#f0f0f2;border-radius:7px;margin-bottom:18px;font-size:14px}.footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.empty{padding:25px 0;color:var(--muted)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1E2025;color:white;padding:12px 20px;border-radius:8px;z-index:10;max-width:90vw;box-shadow:0 4px 20px #0003}#toast:empty{opacity:0;padding:0;pointer-events:none;box-shadow:none}.param{display:grid;grid-template-columns:1fr 1.5fr 1fr auto auto;gap:8px;margin:10px 0;align-items:end}.param label{font-size:12px}.param input[type=checkbox]{margin:12px}.storage{font-size:13px;font-weight:400;display:flex;align-items:center;gap:7px;margin:0}.review-list{padding-left:20px}.review-list button{border:0;padding:3px;background:none;color:var(--accent);text-decoration:underline}#validationBox{margin-top:15px;background:#fff8e8;padding:12px;border-radius:8px}a{color:var(--accent)}[hidden]{display:none!important}.print-only{display:none}@media(max-width:950px){.layout{grid-template-columns:1fr}.sidebar{position:static}.record-list{max-height:220px}}@media(max-width:600px){main{padding:12px}.stats{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.panel{padding:15px}.param{grid-template-columns:1fr 1fr}.editor-head{display:block}}@media print{body{background:white;font-size:11px}header{background:white;color:black;padding:0;border-bottom:2px solid black}header p{color:black}main{padding:10px 0}.toolbar,.stats,.sidebar,nav,.footer,.notice,#toast,#validationBox,.editor-head .actions,#formArea,#help{display:none!important}.layout{display:block}.panel{border:0;padding:0}.print-only{display:block}.print-section{break-inside:avoid;border-top:1px solid #aaa;margin-top:15px;padding-top:10px}.print-field{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.print-field strong{display:inline-block;min-width:180px}.meta{color:black}}

/* ---- Shared / auth / account chrome ---- */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-row{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap}
.user-menu{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin:0;font-size:14px}
.user-menu a,.user-menu .link-button{color:#fff;text-decoration:underline}
.user-menu a:hover,.user-menu .link-button:hover{color:var(--gold);background:none}
.role-badge{display:inline-block;background:var(--gold);color:#1E2025;font-size:12px;font-weight:600;border-radius:20px;padding:2px 9px;margin-left:4px}
.link-button{background:none;border:0;border-radius:3px;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
.link-button:hover{background:none;text-decoration-thickness:2px}
.inline-form{display:inline;margin:0}
main.narrow{max-width:480px}
.auth-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}
.auth-panel h2{margin-bottom:12px}
.auth-panel label{margin-top:14px}
.auth-panel input:not([type=checkbox]),.auth-panel select{margin-top:2px}
.auth-panel button.primary{width:100%;margin-top:22px;padding:11px 14px}
.auth-links{margin-top:16px;font-size:14px}
.alert{border:2px solid #a12626;background:#fdf0f0;color:#6e1414;padding:12px 14px;border-radius:8px;margin:0 0 16px}
.alert:empty{display:none}
/* ---- Workspace additions ---- */
a.btn,.btn{display:inline-block;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:white;color:var(--ink);text-decoration:none}
fieldset.plain{border:0;margin:0;padding:0;min-width:0}
input:disabled,select:disabled,textarea:disabled{background:#eef1f3;color:#3b4a55;border-color:#c3ced6;opacity:1;cursor:not-allowed}
input[readonly],textarea[readonly]{border-style:dashed;color:#3b4a55;background:#f3f6f8}
.ro-tag{font-weight:400;color:var(--muted);font-size:12px}
.unsaved{display:inline-block;font-size:12px;font-weight:600;background:#fff3cd;color:#5c4100;border:1px solid #c48816;border-radius:20px;padding:3px 10px;margin-left:6px}
.readonly-banner{background:#edf2f5;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:10px 0;font-size:14px}
.tag-deleted{display:inline-block;font-size:11px;font-weight:600;background:#fdf0f0;color:#6e1414;border:1px solid #a12626;border-radius:20px;padding:1px 8px;margin-top:3px}
.show-deleted{display:flex;align-items:center;gap:7px;font-weight:400;margin:4px 0 12px}
#validationBox:focus-visible{outline-offset:2px}
#validationBox .error-list{margin:6px 0 0}
dialog{max-width:640px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:12px;padding:22px;color:var(--ink);background:white}
dialog::backdrop{background:rgba(30,32,37,.6)}
dialog h2{outline:none}
.dlg-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px}
.diff-list{columns:2;margin:6px 0 0}
.history-list{list-style:none;padding:0;margin:10px 0 0;max-height:55vh;overflow:auto}
.history-list>li{border-top:1px solid var(--line);padding:10px 0}
.history-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.history-changes{margin:6px 0 0;padding-left:18px;font-size:13px}
.history-changes li{padding:2px 0;overflow-wrap:anywhere}
@media(max-width:600px){.diff-list{columns:1}}
@media print{dialog,.unsaved,.readonly-banner,.header-row .user-menu{display:none!important}}

.row-between{justify-content:space-between}
.sidebar-rule{border:0;border-top:1px solid var(--line);margin:20px 0}
.help-panel{margin-top:20px}
#toast .toast-dismiss{margin-left:12px;padding:3px 10px;background:transparent;color:#fff;border-color:#fff}
#toast .toast-dismiss:hover{background:#3a3d46}
#toast a{color:#fff}
#toast.persist{max-width:min(90vw,640px)}
#validationBox .field-error-hint{font-weight:400}
#toast .toast-link{margin-left:12px}

/* ---- Brand header (white, FSU logo) ---- */
.brand{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand-logo{height:60px;width:auto;display:block}
.brand-title{border-left:2px solid rgba(255,255,255,.3);padding-left:20px}
.brand-title h1{font-size:24px;line-height:1.2}
.brand-title p{font-size:14px}
@media(max-width:600px){.brand{gap:12px}.brand-logo{height:44px}.brand-title{border-left:0;padding-left:0;flex-basis:100%}.brand-title h1{font-size:21px}}
@media print{.brand-logo{display:none}}
