*,*::before,*::after{box-sizing:border-box}body{margin:0;background:#f5f7f7;color:#202827;font:15px/1.5 system-ui,-apple-system,sans-serif}a{color:#245b52;text-decoration:none}a:hover{text-decoration:underline}.manager{max-width:1100px;margin:0 auto;padding:2rem 1rem}header{margin-bottom:1.5rem}h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:.1rem 0}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#52716c}.muted,footer{color:#687674;font-size:.9rem}.breadcrumbs{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.breadcrumbs span{color:#9aa5a3}.panel,.listing{background:#fff;border:1px solid #d9e1df;border-radius:.7rem;padding:1rem;margin:0 0 1rem;box-shadow:0 1px 2px #102a2510}.panel h2,.listing h2{font-size:1rem;margin:0 0 .8rem}.panel form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}input[type=text],input[type=file]{font:inherit;max-width:100%;border:1px solid #bdcbc7;border-radius:.35rem;padding:.55rem;background:#fff;color:inherit}button{font:inherit;border:1px solid #245b52;background:#245b52;color:#fff;border-radius:.35rem;padding:.55rem .85rem;cursor:pointer}button:hover{filter:brightness(.94)}button.danger{background:#fff;color:#9a2828;border-color:#d5a4a4}.secondary{background:#fff;color:#245b52}.file-input{display:inline-flex;align-items:center;gap:.5rem}.listing-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.8rem}.listing-head h2{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{padding:.65rem .5rem;border-top:1px solid #e5ebea;text-align:left;vertical-align:middle}th{font-size:.8rem;color:#62716e;font-weight:650}.select-col{width:4.5rem;text-align:center}input[type=checkbox]{width:1.1rem;height:1.1rem;vertical-align:middle}.file-link{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.file-icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;min-width:1.65rem;font-size:1.2rem}.thumbnail{width:42px;height:34px;object-fit:cover;border-radius:.25rem;border:1px solid #d9e1df;background:#f5f7f7}.size,.date{white-space:nowrap;color:#657370}.row-actions{white-space:nowrap}.row-actions button{padding:.35rem .55rem}.empty{padding:2rem;text-align:center;color:#687674}.parent-link{font-weight:600}footer{padding:1rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop,.image-lightbox{position:fixed;inset:0;z-index:1000;background:#101817b8;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop[hidden],.image-lightbox[hidden]{display:none}.modal{background:#fff;color:#202827;border-radius:.75rem;padding:1.25rem;width:min(100%,26rem);box-shadow:0 1rem 3rem #0004}.modal h2{font-size:1.15rem;margin:0 0 1rem}.modal form{display:grid;gap:.55rem}.modal label{font-size:.9rem;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.image-lightbox{flex-direction:column;gap:.75rem}.image-lightbox img{display:block;max-width:min(96vw,1400px);max-height:82vh;object-fit:contain;box-shadow:0 1rem 3rem #0006}.image-lightbox p{color:#fff;margin:0;overflow-wrap:anywhere}.lightbox-close{position:absolute;top:1rem;right:1rem;border:0;background:#fff;color:#202827;border-radius:50%;font-size:1.7rem;line-height:1;width:2.5rem;height:2.5rem;padding:0}@media(max-width:700px){.manager{padding:1rem .6rem}.date{display:none}th:nth-child(4){display:none}.listing{padding:.6rem}.panel{padding:.8rem}.thumbnail{width:34px;height:30px}.file-icon{width:1.3rem;min-width:1.3rem;font-size:1rem}}


/* Shared styling for KaraDAV account, login and administration templates. */
#content:not(:has(iframe)){max-width:1100px;width:auto;flex-grow:1;margin:1rem auto;padding:2rem;background:#f5f7f7;border-radius:1rem;color:#202827;font:15px/1.5 system-ui,-apple-system,sans-serif}
#content h2,#content h3{color:#202827}
#content fieldset{border:1px solid #d9e1df;border-radius:.7rem;background:#fff;padding:1.25rem;text-align:left}
#content legend{font-size:1rem;font-weight:650;padding:0 .4rem}
#content dl{display:grid;grid-template-columns:minmax(8rem, 12rem) minmax(0,1fr);gap:.55rem 1rem;align-items:center}
#content dl dt,#content dl dd{margin:0;min-width:0}
#content dl dt{font-weight:600;color:#52615e}
#content dl dd.help{grid-column:2;color:#687674;font-size:.9rem}
#content input[type=text],#content input[type=password],#content input[type=number]{font:inherit;max-width:100%;border:1px solid #bdcbc7;border-radius:.35rem;padding:.55rem;background:#fff;color:inherit}
#content input[type=submit],#content .btn{font:inherit;border:1px solid #245b52;background:#245b52;color:#fff;border-radius:.35rem;padding:.55rem .85rem;cursor:pointer;text-decoration:none;display:inline-block;margin:.2rem 0}
#content .btn.sm{font-size:.9rem;padding:.35rem .6rem}
#content input[type=submit]:hover,#content .btn:hover{filter:brightness(.94);box-shadow:none}
#content a{color:#245b52}
#content table{border-collapse:collapse;width:100%;font-size:.92rem;background:#fff;border:1px solid #d9e1df;border-radius:.7rem;overflow:hidden}
#content table thead{background:#eef3f2;color:#52615e}
#content table th,#content table td{text-align:left;padding:.65rem .75rem;border-top:1px solid #e5ebea;vertical-align:middle}
#content table tbody tr:nth-child(even){background:#f8faf9}
#content table img{max-width:2.5rem;border-radius:50%;vertical-align:middle}
#content p.error{background:#fff0f0;border:1px solid #e6bcbc;border-radius:.4rem;color:#8c2525;padding:.7rem;margin:0 0 1rem}
#content p.info{background:#edf5f3;border:1px solid #d9e1df;border-radius:.4rem;color:#245b52;padding:.7rem;margin:0 0 1rem;box-shadow:none;font-size:1rem}
#content progress{max-width:100%;accent-color:#245b52}
#content > h3{margin:0 0 1rem}
#content > dl{background:#fff;border:1px solid #d9e1df;border-radius:.7rem;padding:1.25rem}
#content > .actions{margin:0 0 1rem}
@media(max-width:800px){#content:not(:has(iframe)){margin:.5rem;padding:1rem}#content dl{grid-template-columns:1fr;gap:.25rem}#content dl dd{margin-bottom:.65rem}#content dl dd.help{grid-column:1}#content table{display:block;overflow-x:auto;white-space:nowrap}}

/* Drag-and-drop file operations and upload drop zone. */
.upload-dropzone{position:relative;display:flex;align-items:center;gap:.9rem;flex:1;min-width:min(100%,18rem);min-height:5.25rem;padding:1rem;border:2px dashed #a9bfba;border-radius:.65rem;background:#f8fbfa;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.upload-dropzone:hover,.upload-dropzone.is-dragover{border-color:#245b52;background:#edf6f3;box-shadow:inset 0 0 0 1px #245b5220}
.upload-dropzone-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:50%;background:#e2efeb;color:#245b52;font-size:1.6rem;font-weight:700}
.upload-dropzone-copy{display:grid;gap:.1rem}.upload-dropzone-copy strong{color:#245b52}.upload-dropzone-copy span{color:#687674;font-size:.88rem}
.upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.upload-file-names{margin-left:auto;max-width:45%;color:#52615e;font-size:.82rem;overflow-wrap:anywhere}
.file-row[draggable=true]{cursor:grab}.file-row.is-dragging{opacity:.45}.file-row.is-drop-target td{background:#eaf5f1!important;box-shadow:inset 0 2px #245b52,inset 0 -2px #245b52}.parent-drop-target.is-drop-target{display:inline-block;background:#eaf5f1;outline:2px dashed #245b52;outline-offset:4px;border-radius:.2rem}.file-row .file-link{cursor:pointer}
@media(max-width:600px){.upload-dropzone{min-width:100%}.upload-file-names{max-width:40%}}
