:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#232920;background:#f6f7f3;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{max-width:1080px;min-height:100svh;margin:auto;padding:28px 22px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#dce9d7;color:#416447;display:grid;place-items:center;font-size:27px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:#71806c;margin:0 0 4px}.brand h1{font-size:16px;margin:0}.card{width:min(100%,820px);margin:auto;padding:38px 36px;background:#fff;border:1px solid #e8ebe4;border-radius:24px;box-shadow:0 16px 50px #23351d0b}.card h2{font-weight:800;font-size:clamp(34px,8vw,48px);line-height:1.08;letter-spacing:-.055em;margin:14px 0}.muted{color:#72796f;font-size:14px;line-height:1.55;margin:0 0 28px}form{display:grid;gap:9px}[hidden]{display:none!important}label{font-size:12px;font-weight:600;margin-top:5px}input,select{width:100%;min-height:48px;padding:0 14px;border:1px solid #dfe4da;border-radius:11px;font:inherit;background:#fcfdfa;outline:none}select[multiple]{padding:8px 12px}input:focus,select:focus{border-color:#799679;box-shadow:0 0 0 3px #dce9d780}button{min-height:50px;margin-top:13px;padding:0 14px;background:#385f42;color:#fff;border:0;border-radius:12px;font:600 14px system-ui,sans-serif;cursor:pointer}button span{margin-left:8px}button:hover{background:#2e5037}.card h3{margin:28px 0 10px;font-size:17px}.card section{margin-top:26px;border-top:1px solid #edf0ea;padding-top:12px}.card section .muted{margin-bottom:14px}.secret-key{padding:12px;border-radius:10px;background:#f1f5ee;overflow-wrap:anywhere;font:600 14px ui-monospace,monospace;letter-spacing:.04em}#form-message,#setup-message,#user-message,#album-message,#request-message,#confirm-message{min-height:18px;margin:0;color:#9a423a;font-size:12px}.text-link{display:inline-block;margin-top:16px;color:#385f42;font-size:13px;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.user-list{padding:0;list-style:none}.user-list li{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid #edf0ea;font-size:13px}.text-button{height:auto;min-height:34px;width:max-content;margin:0;padding:0 10px;font-size:12px}footer{text-align:center;color:#8a9086;font-size:11px;padding:20px 0 2px}@media(min-width:700px){.shell{padding-top:36px}.card{padding:44px}.brand{margin-left:18px}}@media(max-width:420px){.card{padding:30px 23px;border-radius:20px}}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:18px}.photo-grid figure{margin:0;overflow:hidden;border-radius:14px;background:#f1f4ef}.photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-grid figcaption{padding:8px 10px;color:#72796f;font-size:11px}.photo-grid .text-link,.photo-grid .text-button{margin:0 10px 10px}.photo-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0 10px 10px}.photo-actions select{min-height:34px;padding:0 7px;font-size:11px}.photo-actions .text-button{margin:0}.card #gallery-panel .muted{margin-bottom:14px}input[type=file]{padding:10px;height:auto}
.audit-list{padding-left:22px}.audit-list li{padding:9px 0;border-bottom:1px solid #edf0ea;font-size:12px;line-height:1.5}
#trash-panel{margin-top:22px}#trash-panel>h3{margin-top:20px}
input[type=checkbox]{width:auto;min-height:auto;padding:0;margin-right:8px;vertical-align:middle}textarea{width:100%;padding:12px 14px;border:1px solid #dfe4da;border-radius:11px;font:inherit;line-height:1.5;background:#fcfdfa;resize:vertical}textarea:focus{border-color:#799679;box-shadow:0 0 0 3px #dce9d780}.consent-content{max-height:48vh;overflow:auto;white-space:pre-wrap;padding:14px;background:#f7f8f5;border:1px solid #e8ebe4;border-radius:12px;font-size:14px;line-height:1.6}

.gallery-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 12px;align-items:end;margin-bottom:6px}.filter{display:grid;gap:4px}.filter label{margin:0}.gallery-toolbar .text-button{margin:0;min-height:48px}
.bulk-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:10px 0}.bulk-actions label{display:flex;align-items:center;gap:6px;margin:0}.bulk-actions input{width:auto;min-height:0}.bulk-actions span{font-size:13px;color:#72796f}.bulk-actions .text-button{margin:0}
.text-button.danger-button{background:#fbefed;color:#9a423a;border:1px solid #ecd0cb}.text-button.danger-button:disabled{opacity:.5;cursor:default}
.photo-grid figure{position:relative}.media-tile{display:block;width:100%;min-height:0;margin:0;padding:0;border-radius:0;background:none;color:inherit}.media-tile:focus-visible{outline:3px solid #799679;outline-offset:-3px}.video-tile{display:grid;place-items:center;aspect-ratio:1;background:#dce9d7;color:#385f42;font-size:15px;font-weight:700}
.media-select{position:absolute;top:6px;left:6px;margin:0;padding:6px;background:#fffc;border-radius:9px;line-height:0}.media-select input{width:20px;height:20px;min-height:0;margin:0}
#gallery-load-more{display:block;margin:18px auto 0}
.media-details{width:min(94vw,760px);max-height:92vh;overflow:auto;border:1px solid #e8ebe4;border-radius:20px;padding:20px;background:#fff;color:#232920}.media-details::backdrop{background:#23292070}.media-details-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.media-details-head h3{margin:0}.media-details-head .text-button{margin:0}
.media-details-preview img,.media-details-preview video{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:12px;background:#f1f4ef;margin-top:12px}
.media-details-list{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0;font-size:14px}.media-details-list dt{color:#72796f}.media-details-list dd{margin:0}
.media-details-actions{display:grid;gap:10px}.media-details-actions .photo-actions{padding:0}.media-details-actions .text-button,.media-details-actions .text-link{margin:0}.media-details-actions select[multiple]{min-height:0}
.media-tile{position:relative}.media-tile.has-poster::after{content:"▶";position:absolute;right:8px;bottom:8px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#232920b3;color:#fff;font-size:12px}
.brand-mark{overflow:hidden;background:none}.brand-mark img{display:block;width:42px;height:42px}
.hero-art{display:block;width:100%;height:auto;margin:0 0 6px;border-radius:18px}
.faq h3{margin:30px 0 10px;font-size:20px}.faq-nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 6px}.faq-nav .text-link{margin:0}
.faq details{margin:8px 0;padding:0 16px;border:1px solid #e8ebe4;border-radius:14px;background:#fcfdfa}.faq details[open]{background:#fff;border-color:#cfdcc9}
.faq summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:15px}.faq summary:focus-visible{outline:3px solid #799679;outline-offset:2px;border-radius:6px}
.faq details p{margin:0 0 14px;color:#4c5547;font-size:14px;line-height:1.65}.faq-contact{margin:26px 0 0}
.brand #logout-button{margin:0 0 0 auto}
