/* Alderlight V2: client branding can override these tokens without changing flows. */
:root{--bg:#f5f3ec;--panel:#fffef9;--panel2:#eeeee5;--ink:#243a31;--muted:#647066;--accent:#325747;--accent-dim:#8d784a;--line:#d9ded3;--danger:#a13d31;--ok:#305d3d}
body{font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b89653;outline-offset:3px}button:disabled{cursor:not-allowed}a{color:var(--accent)}
.btn{min-height:44px;border-radius:7px;font-size:14px;background:var(--panel);padding:9px 15px}.btn.primary{color:#fff;background:var(--accent)}.btn.danger{border-color:#d9b9b1}.btn.danger:hover{background:#f9e9e5}.btn:hover{background:var(--panel2)}.btn.primary:hover{background:#234435}
header{position:static;background:var(--panel);padding:18px max(24px,calc((100vw - 1320px)/2));backdrop-filter:none;gap:16px}header .logo{font:24px var(--serif);letter-spacing:-.5px}header .who{font-size:12px}header small{font:10px var(--sans);letter-spacing:2px}header a.btn{display:none}.tabbar{max-width:1320px;margin:auto;padding:18px 24px 0;gap:24px;border-bottom:1px solid var(--line)}.tab{padding:9px 0 14px;min-height:44px;border:0;border-radius:0;font-size:14px}.tab.active{border:0;border-bottom:2px solid var(--accent);background:transparent}
main{max-width:1320px;padding:28px 24px 60px}main>.section{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 20px}.toolbar label{font-size:12px;text-transform:uppercase;letter-spacing:1px}.toolbar select{max-width:380px!important;flex:1;min-height:44px}.toolbar .note{margin:0}.section{margin-bottom:24px}#galleryNote{font-size:12px;margin-top:8px}
.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 20px}.workspace-heading h1{font:normal clamp(28px,3vw,40px)/1.15 var(--serif);letter-spacing:-.7px;margin:6px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#8a7548;margin:0;font-weight:650}.section-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 24px}#sectionNav{display:flex;gap:6px;flex-wrap:wrap;flex:1}.section-tab{min-height:44px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:6px;padding:9px 14px}.section-tab.active{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:0 2px 4px #1c332508}#sectionForm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}#sectionName{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px}#operationStatus{font-size:14px;color:var(--accent);overflow-wrap:anywhere}#operationStatus:empty{display:none}#operationStatus.err{color:var(--danger)}
.grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:24px}.cell{border:0;border-radius:3px;aspect-ratio:auto;box-shadow:0 1px 3px #243a3115;background:var(--panel);transition:box-shadow .15s}.cell:hover{box-shadow:0 4px 16px #243a3122}.photo-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--ink)}.cell .photo-open img{aspect-ratio:4/3;height:auto;object-fit:cover}.cell .cap{display:block;position:static;padding:14px 14px 4px;background:transparent;color:var(--ink);font:16px var(--serif)}.cell .num{top:12px;left:12px;border-radius:3px;font-size:11px;padding:3px 7px;background:#1f312bd9}.cell .flags{top:12px;right:12px}.photo-controls{display:flex;align-items:center;gap:4px;padding:2px 8px 8px 14px}.photo-controls span{font-size:11px;color:var(--muted);flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.order-button{min-width:44px;min-height:44px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-size:20px}.order-button:hover{background:var(--panel2)}.order-button:disabled{opacity:.25}.order-hint{font-size:12px}.empty{border:1px dashed var(--line);padding:65px 25px;margin-top:12px;font-family:var(--serif);font-size:20px}
.upload-panel{background:var(--panel);box-shadow:none;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:26px}.upload-kicker{display:none}.upload-head h2{font-size:25px}.upload-head p{font-size:13px}.destination-pill{background:var(--bg);border-color:var(--line);border-radius:6px}.destination-pill b{color:var(--accent);max-width:24rem}.drop{background:var(--bg);border:1px dashed #99ab9b;border-radius:6px;min-height:150px;grid-template-columns:auto 1fr}.drop:hover,.drop.over{background:#e9eee4}.drop-icon{background:#e1e7dc;color:var(--accent);box-shadow:none;width:48px;height:48px}.drop-title{font-size:19px;font-weight:500;font-family:var(--serif)}.drop-copy{font-size:12px}.choose-btn{background:var(--accent);color:white;min-height:44px;font-size:14px;padding:10px 16px}.upload-side{background:transparent;border:0;padding:0 0 0 16px}.upload-file{background:var(--bg);border-color:var(--line)}.upload-progress{grid-template-columns:1fr auto}.upload-progress progress{grid-column:1/-1;grid-row:2}.upload-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-progress span{font-size:11px}
input,select,textarea,.field input[type=text],.field textarea,.invite input,#loginWrap input{background:var(--panel);color:var(--ink);border-color:var(--line);font-size:16px}.field label{font-size:12px}.field select{min-height:44px}.tog{min-height:40px}.tog input{width:20px;height:20px;flex:none}summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent)}details{margin-bottom:16px}.note{font-size:13px;line-height:1.55}.banner.locked{background:#f6ecd3;color:#745522;border-color:#d8c08c}.banner.locked b{color:inherit}
#drawer{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - 40px);padding:0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 100px #12271e55}#drawer[open]{display:flex;flex-direction:column}#drawer::backdrop,#cropDialog::backdrop{background:#11281ed0}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;border-bottom:1px solid var(--line)}.editor-header h2{font:25px var(--serif);margin:0}.editor-body{padding:24px;overflow:auto;overscroll-behavior:contain;min-height:0}.drawer .prev{width:100%;height:230px;object-fit:contain;background:#e8ebe2;border:0;border-radius:4px}.editor-footer{padding:14px 24px;border-top:1px solid var(--line);flex-shrink:0;background:var(--panel)}.drawer-actions{border:0;padding:0;margin:0;flex-wrap:nowrap}.drawer-actions .primary{flex:1}.savehint{font-size:12px;overflow-wrap:anywhere}.image-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-body .field{margin:18px 0}#cropDialog{margin:auto}#cropDialog input{accent-color:var(--accent)}#cropDialog .cropActions{background:#faf8f0}#captionToolbar .btn{min-height:44px}#captionPreview{background:var(--bg)}.exif{background:var(--bg)}
.trash-card{border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:6px}.trash-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.trash-card h3{font:19px var(--serif);margin:12px 0 4px}.trash-card p{font-size:12px;color:var(--muted)}.trash-card button{width:100%}.toast{background:var(--ink);color:white;max-width:90vw;text-align:center}.member{overflow-wrap:anywhere}.member .em{min-width:0}.card{box-shadow:0 10px 50px #243a3112}#loginWrap button.send{background:var(--accent);color:white}
@media(max-width:760px){header{padding:14px 18px;gap:10px}header .logo{font-size:20px;flex:1}header .who{order:3;flex-basis:100%;font-size:11px;overflow-wrap:anywhere}header .spacer{display:none}.tabbar{padding:8px 16px 0;gap:0;justify-content:space-between;flex-wrap:wrap}.tab{font-size:12px;padding:12px 6px}main{padding:18px 16px 40px}.toolbar select{min-width:100%!important}.toolbar #galleryLink{margin-left:auto}.toolbar .btn{font-size:12px;padding:8px 11px}#galleryNote{display:none}.workspace-heading{margin:20px 0;align-items:center}.workspace-heading h1{font-size:27px}.workspace-heading .btn{white-space:nowrap;padding:10px 12px;font-size:13px}.eyebrow{font-size:9px;letter-spacing:1.4px}.section-tools{gap:5px}#sectionNav{flex-basis:100%;gap:3px}.section-tab{padding:8px 10px;font-size:12px}.section-tools>.btn{font-size:12px;min-height:44px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.cell .cap{font-size:15px;padding:10px 10px 0}.photo-controls{padding:0 4px 2px 8px;flex-wrap:wrap}.photo-controls span{flex-basis:100%;padding:4px 2px 0;font-size:10px}.order-button{flex:1;min-height:44px}.order-hint{flex-basis:100%;order:3;font-size:11px}.toolbar .count{font-size:12px}.upload-panel{padding:14px}.upload-side{padding:10px 0 0}.upload-head h2{font-size:23px}.destination-pill{font-size:11px}.destination-pill b{max-width:60vw;white-space:normal;overflow-wrap:anywhere}.drop{grid-template-columns:1fr;padding:14px;gap:10px}.drop-icon{display:none}.choose-btn{min-height:44px;width:100%}.upload-file{grid-template-columns:1fr}.upload-file .meta{font-size:11px}.upload-actions .btn{flex:1;font-size:12px}#sectionName{width:100%}#drawer{width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0}.editor-header{padding:12px 16px}.editor-header h2{font-size:22px}.editor-body{padding:16px}.editor-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.drawer .prev{height:190px}.editor-body .note{font-size:12px}#cropDialog{max-height:96dvh;padding:14px}.cropActions{bottom:-14px}#tab-trash h1{font-size:26px}#tab-trash .workspace-heading{align-items:flex-end}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){header .who{display:none}header{padding:12px 16px}.toolbar label{display:none}.workspace-heading{margin:18px 0 12px}.section-tools{margin-bottom:10px}#sectionNav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:3px 0 8px;scrollbar-width:thin}.section-tab{white-space:nowrap;flex-shrink:0}.section-tools>.btn{min-height:44px}.toolbar{margin-bottom:10px}.order-hint{margin:0}#operationStatus{font-size:12px}.workspace-heading h1{font-size:26px}#newGallery{background:var(--panel);border-color:var(--line);color:var(--ink);font-weight:400}}
