#dv-gallery-app { --paper:#faf8f4;--ink:#2a2420;--muted:#73675d;--line:#e0d8d0;--copper:#a96130;--white:#fff; color:var(--ink);background:var(--paper);font:15px/1.6 system-ui,-apple-system,sans-serif;position:relative;min-height:740px;color-scheme:light; }
#dv-gallery-app *{box-sizing:border-box}#dv-gallery-app [hidden]{display:none!important}
#dv-gallery-app h1,#dv-gallery-app h2,#dv-gallery-app h3{font-family:Georgia,serif;color:var(--ink);line-height:1.2;font-weight:400;margin:0 0 12px}
#dv-gallery-app h1{font-size:32px}#dv-gallery-app h2{font-size:27px}#dv-gallery-app h3{font-size:21px}
#dv-gallery-app p{margin:0 0 16px}#dv-gallery-app button,#dv-gallery-app input{font:inherit}
#dv-gallery-app button{min-height:42px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:9px 16px}#dv-gallery-app button:hover{border-color:var(--copper)}
#dv-gallery-app .primary{background:var(--copper);color:#fff;border-color:var(--copper)}#dv-gallery-app button:disabled{opacity:.5;cursor:default}
#dv-gallery-app .plain{background:transparent;border:0;padding:6px 8px;color:var(--muted)}#dv-gallery-app .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted)}
#dv-gallery-app .previewbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 100px 12px 24px;border-bottom:1px solid var(--line);background:#f0ebe5;font-size:12px}
#dv-gallery-app .switch{display:flex;gap:4px}#dv-gallery-app .switch button{font-size:12px;padding:6px 12px;min-height:34px}#dv-gallery-app .switch button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
#dv-gallery-app .brandbar{padding:22px 32px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line)}#dv-gallery-app .brand{font-family:Georgia,serif;font-size:21px;letter-spacing:.12em;text-transform:uppercase}#dv-gallery-app .small{font-size:13px;color:var(--muted)}
#dv-gallery-app .workspace{padding:30px 32px 36px}#dv-gallery-app .headingrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}#dv-gallery-app .headingrow p{margin:0}
#dv-gallery-app .owner-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px}#dv-gallery-app .clients{border-right:1px solid var(--line);padding-right:22px}#dv-gallery-app .client-row{width:100%;text-align:left;margin-top:9px;border:0;padding:12px;background:transparent;display:block}#dv-gallery-app .client-row.selected{background:#eee6dc;border-left:3px solid var(--copper)}#dv-gallery-app .client-row span{display:block}#dv-gallery-app .client-row .small{font-size:12px}
#dv-gallery-app .galleryhead{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}#dv-gallery-app .contactline{overflow-wrap:anywhere}#dv-gallery-app .actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 22px}#dv-gallery-app .actions button{font-size:13px}
#dv-gallery-app .private{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;align-items:center;gap:5px}
#dv-gallery-app .media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#dv-gallery-app .media{padding:0;background:transparent;border:0;text-align:left;min-width:0;width:100%;display:block}#dv-gallery-app .media img{width:100%;height:150px;object-fit:cover;display:block;background:#e9e1d7}#dv-gallery-app .media .filename{display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}#dv-gallery-app .media .small{font-size:11px}#dv-gallery-app .media-cover{position:relative;display:block}#dv-gallery-app .video-label{position:absolute;bottom:8px;left:8px;background:var(--ink);color:#fff;padding:3px 8px;font-size:11px}
#dv-gallery-app .empty{padding:52px 20px;text-align:center;border:1px dashed var(--line);color:var(--muted)}#dv-gallery-app .empty h3{margin-top:10px}
#dv-gallery-app .notice{margin-top:20px;padding:11px 14px;border-left:3px solid var(--copper);background:#f0ebe5;font-size:13px;overflow-wrap:anywhere}
#dv-gallery-app .login-help{margin-top:20px}#dv-gallery-app .login{max-width:430px;margin:40px auto 60px;padding:0 24px}#dv-gallery-app .login h1{margin:12px 0}#dv-gallery-app label{display:block;font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:5px}#dv-gallery-app input{width:100%;padding:11px;border:1px solid var(--line);background:#fff;color:var(--ink);min-width:0;font-size:16px;border-radius:0}#dv-gallery-app .field{margin-bottom:17px}#dv-gallery-app .full{width:100%}#dv-gallery-app .passwordrow{display:flex;gap:6px}#dv-gallery-app .passwordrow button{font-size:12px}
#dv-gallery-app .clienthero{padding:34px 32px 26px;background:#eee6dc}#dv-gallery-app .clienthero .headingrow{margin:0}#dv-gallery-app .client-media{padding:26px 32px 40px}#dv-gallery-app .client-media .media img{height:210px}
#dv-gallery-app .overlay{position:absolute;inset:0;background:rgba(42,36,32,.55);z-index:5;display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;min-height:100%}#dv-gallery-app .modal{width:100%;max-width:520px;background:var(--paper);padding:27px;box-shadow:0 16px 60px rgba(0,0,0,.2);min-width:0}#dv-gallery-app .modalhead{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}#dv-gallery-app .modalhead h2{margin:0}#dv-gallery-app .twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}#dv-gallery-app .modalfooter{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}#dv-gallery-app .error{color:#9d3020;font-size:13px;margin:8px 0}
#dv-gallery-app .uploadzone{text-align:center;border:1px dashed #bbaa99;padding:28px 16px;margin:18px 0}#dv-gallery-app .filelist{list-style:none;padding:0;margin:16px 0}#dv-gallery-app .filelist li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
#dv-gallery-app .email{background:white;border:1px solid var(--line);padding:20px;margin-top:18px}#dv-gallery-app .email .brand{font-size:16px;margin-bottom:20px}#dv-gallery-app .email p{font-size:14px}#dv-gallery-app .mailbutton{display:inline-block;background:var(--copper);color:#fff;padding:10px 20px;font-size:13px}
#dv-gallery-app .lightbox{width:100%;max-height:360px;object-fit:contain;background:#eee6dc}#dv-gallery-app .progress{height:6px;background:var(--line);margin:22px 0}#dv-gallery-app .progress span{display:block;width:100%;height:100%;background:var(--copper)}
@media(max-width:650px){#dv-gallery-app .brandbar,#dv-gallery-app .workspace,#dv-gallery-app .clienthero,#dv-gallery-app .client-media{padding:22px 18px}#dv-gallery-app .brand{font-size:17px}#dv-gallery-app .owner-grid{grid-template-columns:1fr}#dv-gallery-app .clients{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}#dv-gallery-app .client-row{display:inline-block;width:auto;margin-right:8px}#dv-gallery-app .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#dv-gallery-app .media img,#dv-gallery-app .client-media .media img{height:160px}#dv-gallery-app .twocol{grid-template-columns:1fr;gap:0}#dv-gallery-app .overlay{padding:12px}#dv-gallery-app .modal{padding:20px}#dv-gallery-app .previewbar{padding-left:18px}#dv-gallery-app .brandbar{flex-wrap:wrap}}

#dv-gallery-app { min-height: 540px; }
#dv-gallery-app .workspace { max-width:1200px; margin:auto; }
#dv-gallery-app button { cursor:pointer; }
#dv-gallery-app button:disabled { cursor:wait; }
#dv-gallery-app .previewbar { display:none; }
#dv-gallery-app .owner-grid { margin-top:24px; }
#dv-gallery-app .site-message { margin:0 0 22px; }
#dv-gallery-app .login { margin:24px auto 50px; }
#dv-gallery-app .media { border:1px solid var(--line); background:white; padding:8px; }
#dv-gallery-app .media button { width:100%; font-size:12px; margin-top:8px; }
#dv-gallery-app .media .open-media { padding:0; border:0; margin:0; }
#dv-gallery-app .file-stats { display:block; color:var(--muted); font-size:12px; margin-top:6px; }
#dv-gallery-app .video-cover { height:150px; background:#eee6dc; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px; }
#dv-gallery-app .media .filename { white-space:normal; overflow-wrap:anywhere; }
#dv-gallery-app dialog { border:0; margin:auto; background:var(--paper); color:var(--ink); width:min(560px,calc(100vw - 28px)); padding:26px; max-height:90vh; overflow:auto; }
#dv-gallery-app dialog::backdrop { background:rgba(42,36,32,.6); }
#dv-gallery-app video.lightbox { height:auto; }
#dv-gallery-app .history-list { list-style:none; padding:0; margin:0; }
#dv-gallery-app .history-list li { border-bottom:1px solid var(--line); padding:12px 0; }
#dv-gallery-app .history-list span { display:block; font-size:12px; overflow-wrap:anywhere; }
#dv-gallery-app progress { width:100%; accent-color:var(--copper); }
#dv-gallery-app .save-download { display:inline-block; min-height:44px; padding:12px 16px; text-align:center; text-decoration:none; overflow-wrap:anywhere; }
#dv-gallery-app .login-help { margin-top:20px; }
#dv-gallery-app .footer-action { margin-top:24px; }
#dv-gallery-app .download-note { margin-top:14px; }
#dv-gallery-app .form-actions { display:flex; gap:12px; flex-wrap:wrap; }

#dv-gallery-app input[type="checkbox"] { width:auto; margin-right:8px; }

#dv-gallery-app .admin-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:36px 0; }
#dv-gallery-app .admin-card { display:block; padding:30px; border:1px solid var(--line); background:white; color:var(--ink); text-decoration:none; }
#dv-gallery-app .admin-card:hover { border-color:var(--copper); }
#dv-gallery-app .admin-card h2 { margin-top:14px; }
#dv-gallery-app .admin-card > span:last-child { color:var(--copper); }
@media(max-width:650px) { #dv-gallery-app .admin-cards { grid-template-columns:1fr; } }

#dv-gallery-app .client-group { margin:18px 0 24px; overflow-wrap:anywhere; }
#dv-gallery-app .client-email { display:block; font-size:12px; }
#dv-gallery-app .archive-filter { margin-top:14px; font-size:12px; letter-spacing:normal; }
#dv-gallery-app .danger { color:#9d3020; border-color:#9d3020; background:white; }
#dv-gallery-app #gallery-shoot-name { margin-top:8px; overflow-wrap:anywhere; }
