:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18322e;background:#f4f6f2;font-synthesis:none;line-height:1.55}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{border:1px solid #b4c7bf;border-radius:.5rem;padding:.6rem 1rem;color:#183e34;background:#fff;cursor:pointer;font-weight:600}button:hover{background:#edf4ee}button:disabled{opacity:.55;cursor:default}.primary{background:#235f4c;border-color:#235f4c;color:#fff}.primary:hover{background:#194936}a{color:#235f4c}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b87715;outline-offset:3px}[hidden]{display:none!important}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem max(1.5rem,calc((100vw - 72rem)/2));background:#fff;border-bottom:1px solid #dce5dc}.brand{text-decoration:none;font-size:1.6rem;font-weight:750;letter-spacing:-.05em}.brand span{font-weight:400;color:#718b78}.environment{font-size:.8rem;color:#596b62;background:#edf3e9;padding:.35rem .75rem;border-radius:1rem}main{max-width:72rem;margin:auto;padding:1.5rem}.status{min-height:1.6rem;margin:0 0 1.25rem}.login-card{max-width:29rem;margin:2.5rem auto 5rem;background:#fff;border:1px solid #dce5dc;border-radius:1rem;padding:2.25rem;box-shadow:0 10px 35px #18322e07}h1{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.2;letter-spacing:-.035em;margin:.4rem 0 1rem}.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#627d66;margin:0}label{display:block;font-weight:600;margin:1.1rem 0 .35rem}input,textarea{width:100%;max-width:100%;border:1px solid #b4c7bf;border-radius:.4rem;background:#fff;color:#18322e;padding:.6rem .75rem}textarea{resize:vertical}#login-form button{width:100%;margin-top:1.4rem}.quiet{font-size:.9rem;color:#63746b}.login-card .quiet{margin-top:1.6rem}.workspace-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:2rem}.logout{margin-left:auto}fieldset{border:0;padding:0;margin:0;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.document-list{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:.7rem}.document-row{background:#fff;border:1px solid #dce5dc;border-radius:.7rem;padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem}.document-open{border:0;padding:0;text-align:left;display:block;min-width:0;overflow-wrap:anywhere;background:none;font-size:1.05rem}.document-info{flex:1;min-width:0}.document-meta{display:block;font-size:.85rem;color:#718175;margin-top:.3rem}.delete-document{font-weight:500;font-size:.85rem;color:#884d3b}#create-panel{max-width:48rem;background:#fff;padding:2rem;border:1px solid #dce5dc;border-radius:.8rem}.form-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0}.praeppen-editor{background:#fff;border:1px solid #dce5dc;border-radius:.8rem;padding:1.7rem;max-width:none}.praeppen-editor textarea{border-color:#b4c7bf;border-radius:.35rem}.praeppen-editor h1{font-size:1.9rem}.praeppen-editor .editor-actions{padding:1rem 0;border-bottom:1px solid #e4eae0}.praeppen-editor .editor-actions button{font-weight:500;font-size:.9rem}footer{max-width:72rem;margin:2rem auto;padding:1.5rem;color:#829186;font-size:.8rem}.skip-link{position:absolute;top:-10rem;left:1rem;background:white;padding:1rem}.skip-link:focus{top:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.site-header{align-items:flex-start;flex-direction:column;padding:1rem}main{padding:1rem}.login-card{margin:1rem auto;padding:1.5rem}.workspace-nav{flex-wrap:wrap;gap:.45rem}.workspace-nav button{font-size:.9rem;padding:.55rem .75rem}.document-row{align-items:flex-start;padding:1rem;gap:.5rem}.section-heading{align-items:flex-start}.section-heading button{font-size:.85rem}.praeppen-editor,#create-panel{padding:1rem}.logout{margin-left:0}}

#password-panel{max-width:34rem;background:#fff;padding:2rem;border:1px solid #dce5dc;border-radius:.8rem}#password-hint{margin:.5rem 0} @media(max-width:600px){#password-panel{padding:1rem}}

.session-list {list-style: none; padding: 0; display: grid; gap: 1rem; max-width: 44rem;}
.session-row {border: 1px solid var(--line, #cbd5cf); border-radius: .75rem; padding: 1rem;}
.session-row h2 {font-size: 1.1rem; margin-top: 0;}
.session-row p {margin: .4rem 0;}
.session-row button {margin-top: .6rem;}

.workspace-nav {flex-wrap: wrap;}

#guide-panel{max-width:52rem;background:#fff;padding:2rem;border:1px solid #dce5dc;border-radius:.8rem}.start-steps{padding-left:1.5rem}.start-steps li{padding:.5rem 0 1rem .5rem}.start-steps h2{font-size:1.2rem;margin:.3rem 0}.start-steps p{max-width:65ch}#guide-title:focus{outline:2px solid #315d48;outline-offset:4px}@media(max-width:600px){#guide-panel{padding:1rem}}

/* Keep enlarged text and narrow document lists within their available width. */
button{max-width:100%;overflow-wrap:anywhere}
h1{overflow-wrap:anywhere}
.section-heading{flex-wrap:wrap}
@media(max-width:600px){.document-row{flex-wrap:wrap}.document-info{flex-basis:16rem}}

.session-notice{max-width:52rem;margin:0 0 1.5rem;padding:1rem;border:1px solid #b87715;border-radius:.7rem;background:#fff8e9;overflow-wrap:anywhere}
.session-notice h2{margin:0;font-size:1.1rem}.session-notice p{margin:.5rem 0}.session-notice .form-actions{margin:.7rem 0 0}

[tabindex="-1"]:focus{outline:3px solid #b87715;outline-offset:3px}

.office-import-content {max-height:28rem;overflow:auto;border:1px solid var(--border,#cbd5d8);padding:1rem;margin-block:1rem;white-space:pre-wrap;}
.office-import-content table {border-collapse:collapse;margin-block:1rem;min-width:100%;}
.office-import-content td, .office-import-content th {border:1px solid #cbd5d8;padding:.45rem;vertical-align:top;min-width:5rem;}

.office-import-image {display:block;max-width:100%;height:auto;margin-block:1rem;}

#office-import-images-label {display:flex;align-items:center;gap:.6rem;}
#office-import-images {width:auto;flex:0 0 auto;padding:0;margin:0;accent-color:#235f4c;}

.document-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:100%}
@media(max-width:600px){.document-actions{justify-content:flex-start;flex-basis:100%}}
