:root{--red:#af302d;--ink:#263e36;--paper:#f7f0df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'Trebuchet MS',Arial,sans-serif}header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9cfb7;gap:20px}a{color:inherit}header>a:last-child{font-size:13px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:bold 24px Georgia;color:var(--red)}small{display:block;font:9px Arial;letter-spacing:2px;margin-top:6px}main{max-width:1200px;margin:auto;padding:30px 24px 70px}.panel{background:#fffdf6;border:1px solid #dcd4c2;border-radius:12px;padding:30px;margin:25px 0;scroll-margin-top:20px}.login{max-width:550px;margin:50px auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--red)}h1,h2,h3{font-family:Georgia,serif;line-height:1.2}h1{font-size:42px;margin:10px 0 25px;color:var(--red)}h2{font-size:29px;margin-top:0}h3{font-size:22px}p{color:#58665c;font-size:14px}label{display:block;margin:15px 0;font-size:13px;font-weight:bold}input,textarea,select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #b7bfad;border-radius:6px;background:white;color:var(--ink);margin-top:7px}input[type=file]{font-size:12px}input[type=checkbox]{width:18px;height:18px;margin:0}.check{display:flex;gap:12px;align-items:center;font-size:15px}button{border:1px solid var(--red);background:var(--red);color:white;border-radius:25px;padding:12px 20px;cursor:pointer;font: bold 13px 'Trebuchet MS',Arial;min-height:44px}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--red)}.dashboard-heading,.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.section-top p{max-width:680px}.section-top button{flex-shrink:0}.tabs{display:flex;gap:20px;flex-wrap:wrap;padding:15px 0;font-size:13px;font-weight:bold}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.photo-editor{border:1px dashed #b7bfad;padding:18px;border-radius:8px;min-width:0}.photo-editor>img{width:100%;height:220px;object-fit:cover;background:#e8e8df;border-radius:5px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions button{font-size:12px;padding:9px 15px}.date-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:18px 0;border-bottom:1px dashed #bbc2af}.date-row .date-note{grid-column:1/3}.date-row .check{margin:0}.logo-editor{display:flex;align-items:center;gap:25px}.logo-editor>img{object-fit:contain;background:#eee8d9;border-radius:8px}.logo-editor>div{flex:1}.save-bar{position:sticky;bottom:12px;background:var(--ink);color:white;padding:17px 22px;border-radius:10px;box-shadow:0 3px 18px #0003;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2}.save-bar span{font-size:12px}.save-bar button{background:var(--paper);color:var(--red);border:0}#status:not(:empty){position:sticky;top:12px;z-index:5;padding:15px 20px;border-radius:8px;background:#e4edd9;border:1px solid #779560;box-shadow:0 3px 12px #0001}#status.error{background:#fbe4dd;border-color:#b44c3c}#password-form{max-width:520px}[hidden]{display:none!important}:focus-visible{outline:3px solid #c89536;outline-offset:4px}@media(max-width:700px){main{padding:18px 14px 60px}.panel{padding:22px 17px}.photo-grid{grid-template-columns:1fr}.section-top,.dashboard-heading{align-items:flex-start;flex-direction:column;gap:5px}.date-row{grid-template-columns:1fr 1fr}.date-row>label:first-child{grid-column:1/-1}.date-row .date-note{grid-column:1/-1}.logo-editor{align-items:flex-start;flex-direction:column}.save-bar{padding:13px;gap:10px}.save-bar span{font-size:10px}h1{font-size:35px}.brand{font-size:19px}header{padding:16px 5%}}
.date-row>button{align-self:end;margin-bottom:15px}.photo-grid h4{margin:0 0 12px}.photo-editor{overflow-wrap:anywhere}
#activity-list{padding-left:22px;font-size:13px;max-height:360px;overflow:auto}#activity-list li{padding:9px 0;border-bottom:1px solid #ded6c3}#create-user{max-width:520px;margin-top:30px}
/* Persistent section navigation: only the selected workspace is displayed. */
main{max-width:1450px;padding-top:20px}#dashboard{padding-left:230px;position:relative}.tabs{position:fixed;top:130px;left:max(24px,calc((100vw - 1402px)/2));width:205px;display:flex;flex-direction:column;gap:5px;padding:14px;background:#fffdf6;border:1px solid #dcd4c2;border-radius:14px;max-height:calc(100vh - 155px);overflow:auto}.tabs a{text-decoration:none;padding:12px 15px;border-radius:8px}.tabs a:hover{background:#eee8d7}.tabs a[aria-current=page]{background:var(--ink);color:#fffdf6}.dashboard-heading h1{font-size:32px;margin-bottom:10px}.panel{margin-top:20px}.invite-row{display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd3be;padding:10px 0}#invite-result{padding:16px;border:1px dashed #779560;background:#edf2e4;margin:20px 0}#team-list .photo-editor h3{margin-bottom:8px}
@media(max-width:850px){#dashboard{padding-left:0}.tabs{position:sticky;top:0;left:auto;width:100%;flex-direction:row;flex-wrap:nowrap;overflow:auto;max-height:none;z-index:4;padding:8px;gap:5px}.tabs a{white-space:nowrap;padding:10px 12px;flex-shrink:0}.dashboard-heading{flex-direction:row}.dashboard-heading h1{font-size:27px}.invite-row{align-items:flex-start;flex-direction:column}}
@media(min-width:851px){body:has(#dashboard:not([hidden])) #status{margin-left:230px}}
@media(max-width:850px){#status:not(:empty){position:static}}
.workspace-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:14px;border:1px solid #dcd4c2;border-radius:12px;background:#fffdf6;margin:12px 0}.workspace-bar button{padding:9px 14px;font-size:12px}.workspace-bar select{width:auto;max-width:220px;margin:0;padding:9px}.workspace-bar span{flex-basis:100%;font-size:12px;color:#58665c}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-card{padding:20px;border:1px solid #d7d0bc;background:#f7f0df;border-radius:10px;min-height:115px}.overview-card small{font:11px 'Trebuchet MS',sans-serif;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;color:#58665c}.overview-card strong{display:block;font:22px/1.4 Georgia;color:#285343;overflow-wrap:anywhere}#collaboration{background:#fff2c9;border:1px solid #c0a45c;padding:14px 18px;border-radius:8px;font-size:13px}#preview-result{padding:12px;background:#e4edd9;border-radius:8px}#preview-result a{font-weight:bold}.crop-frame{height:220px;width:100%;overflow:hidden;border-radius:6px;background:#eee7d6}.crop-frame>img{width:100%;height:100%;object-fit:cover;display:block}.photo-editor input[type=range]{padding:4px;accent-color:#af302d}.photo-editor>button{margin:6px 6px 6px 0}fieldset{border:1px dashed #b7bfad;border-radius:8px;padding:12px 15px;margin:15px 0}legend{font-size:12px;color:#58665c}.photo-editor fieldset .check{font-size:12px}.history-row{padding:15px 0;border-bottom:1px solid #ddd3be;display:flex;align-items:center;gap:20px;justify-content:space-between}.history-row button{flex-shrink:0}#mfa-panel{border-top:1px dashed #b7bfad;margin-top:30px;padding-top:20px;max-width:650px}#mfa-enrollment,#mfa-recovery{padding:20px;background:#edf2e4;border:1px solid #779560;border-radius:8px;margin-top:15px}#mfa-secret,#recovery-codes{font-family:monospace}#mfa-manage button{margin:5px 10px 5px 0}.tabs{top:112px;max-height:calc(100vh - 135px)}.tabs a{padding-block:10px}
@media(max-width:850px){.tabs{top:0;max-height:none}.overview-grid{grid-template-columns:1fr}.workspace-bar{gap:8px}.workspace-bar button{flex:1 1 130px}.workspace-bar select{max-width:none;flex:1 1 160px}.history-row{display:block}.history-row button{margin-top:8px}.overview-card strong{font-size:20px}}
.compare-dialog{width:min(960px,94vw);max-height:88dvh;border:1px solid #cbbd9e;border-radius:16px;padding:28px;background:#fffdf6;color:var(--ink)}.compare-dialog::backdrop{background:#142b24aa}.diff-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border-top:1px dashed #cbbd9e;padding:12px 0}.diff-row h4{grid-column:1/-1;margin:0;overflow-wrap:anywhere}.diff-cell{background:#f7f0df;padding:12px;border-radius:8px;min-width:0;overflow-wrap:anywhere}.diff-cell:last-child{background:#eaf0e1}.diff-cell img{width:100%;height:150px;object-fit:contain}.diff-cell p{white-space:pre-wrap;margin-bottom:0}.review-actions{position:sticky;bottom:0;background:#fffdf6;padding:14px 0;display:flex;justify-content:flex-end;gap:10px}.publication-card{padding:20px;margin:18px 0;border:1px solid #dcd4c2;border-radius:12px}.publication-card h3{margin-top:0}.publication-detail>button{margin:10px 8px 0 0}.bulk-hours{border:1px dashed #b7bfad;padding:18px;border-radius:10px;margin:18px 0}.bulk-hours summary{cursor:pointer;font-weight:bold}.bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weekday-options{display:flex;flex-wrap:wrap;gap:15px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.library-grid img{height:150px!important}.library-grid h3{font-size:18px}.library-grid button{margin:5px 0;width:100%}#library>select{max-width:400px}button:disabled{cursor:not-allowed}input,select{min-width:0}#publications,#library,#backups{overflow-wrap:anywhere}
@media(max-width:1100px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.diff-row,.library-grid,.bulk-grid{grid-template-columns:1fr}.compare-dialog{padding:18px}.diff-row h4{grid-column:1}.publication-card{padding:14px}.review-actions{flex-wrap:wrap}.review-actions button{flex:1}.weekday-options{gap:8px}.weekday-options label{min-width:60px}}
.mobile-navigation{display:none}@media(max-width:850px){.tabs{display:none}.mobile-navigation{display:block;position:sticky;top:0;z-index:4;background:#fffdf6;border:1px solid #dcd4c2;border-radius:12px;padding:10px 14px}.mobile-navigation select{margin-top:4px;background:#f7f0df}}

.tabs{flex-wrap:nowrap}
/* Comfortable touch controls and contained layouts on small screens. */
@media(max-width:850px){
 input,textarea,select{font-size:16px;max-width:100%}
 input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}
 .check{min-height:44px;line-height:1.5}
 .panel,.panel>*,.logo-editor>div,fieldset,form{min-width:0}
 .panel img{max-width:100%}
 button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
 .panel p,.panel h2,.panel h3,.panel a,#signed-in,#presence-list{overflow-wrap:anywhere}
 .mobile-navigation{margin:12px 0;padding:9px 12px}
 .mobile-navigation select{min-height:44px}
 .save-bar{flex-wrap:wrap;bottom:max(8px,env(safe-area-inset-bottom));padding:14px}
 .save-bar span{font-size:12px;line-height:1.5;flex:1 1 100%}
 .save-bar button{width:100%}
 .review-actions{position:static}
 .compare-dialog{overflow:auto}
 .photo-actions button{flex:1 1 120px}
}
@media(max-width:480px){
 header{flex-wrap:wrap;gap:12px}.brand{font-size:20px}header>a:last-child{min-height:44px;display:flex;align-items:center}
 .dashboard-heading{flex-wrap:wrap;gap:10px}.dashboard-heading h1{font-size:28px}
 .login{margin:20px auto}h1{font-size:32px;overflow-wrap:anywhere}h2{font-size:26px}
 .panel{padding:20px 15px}.photo-editor{padding:12px}
 .date-row{grid-template-columns:minmax(0,1fr)}.date-row .date-note{grid-column:auto}
 .workspace-bar select{width:100%;flex-basis:100%}
 .section-top>button{width:100%;margin:10px 0}
 .logo-editor>div{width:100%}
 #mfa-enrollment,#mfa-recovery{padding:12px}
 .bulk-hours{padding:12px}.bulk-grid{grid-template-columns:minmax(0,1fr)}
}
.date-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #dcd4c2}.date-tools .check{flex-basis:100%;margin:0}.date-select{grid-column:1/-1;background:#f0eddf;padding:10px;border-radius:6px}.date-row .date-select{margin:0}.date-row:has(.date-select input:checked){background:#f0f3e8;border-radius:8px;padding:14px}.date-tools button{font-size:12px}@media(max-width:480px){.date-tools button{width:100%}}

.save-bar.no-changes{display:none!important}

.save-bar{transition:transform .3s cubic-bezier(.22,.8,.25,1),opacity .25s ease;transform:translateY(0);opacity:1}
.save-bar.save-enter,.save-bar.save-exit{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
#save-site,#save-photos{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;position:relative;overflow:hidden}
@media(hover:hover){#save-site:not(:disabled):hover,#save-photos:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 5px 14px #0003}}
#save-site:not(:disabled):active,#save-photos:not(:disabled):active{transform:translateY(1px) scale(.97);box-shadow:none}
#save-site:focus-visible,#save-photos:focus-visible{outline:3px solid #c89536;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.save-bar,#save-site,#save-photos{transition:none!important;transform:none!important}}
.settings-group,.workspace-tools{border:1px solid #dcd4c2;border-radius:10px;background:#fffdf6;margin:14px 0;padding:0 18px}
.settings-group>summary,.workspace-tools>summary{cursor:pointer;padding:18px 0;font-weight:bold;font-size:16px;min-height:54px;color:#263e36}
.settings-group[open]{padding-bottom:18px}.settings-group>p{margin-top:0}
.workspace-tools .workspace-bar{border:0;padding:0 0 16px;margin:0}
.settings-group[open]>summary{border-bottom:1px solid #e4ddcc;margin-bottom:18px}
@media(max-width:480px){.settings-group,.workspace-tools{padding-inline:12px}.settings-group>summary,.workspace-tools>summary{font-size:15px}}
