:root{--bg:#f5f6f8;--surface:#fff;--text:#111827;--muted:#667085;--border:#e5e7eb;--dark:#111827;--accent:#c58b58;--green:#107c41;--red:#b42318;--radius:18px;--shadow:0 12px 35px rgba(17,24,39,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:13px}.brand-mark.light{background:#fff;color:var(--dark)}.inverse{color:#fff}.guest-header{min-height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}.guest-header nav{display:flex;align-items:center;gap:20px}.guest-footer{padding:28px;text-align:center;color:var(--muted);font-size:14px;background:#fff;border-top:1px solid var(--border)}.btn{border:1px solid transparent;padding:13px 20px;border-radius:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;border-color:var(--border)}.btn-small{padding:9px 14px;border-radius:11px;font-size:14px}.btn-full{width:100%}.hero{max-width:1200px;margin:auto;padding:72px 32px 90px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.hero-copy h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.065em;margin:18px 0 24px;max-width:800px}.hero-copy>p{font-size:19px;line-height:1.65;color:var(--muted);max-width:680px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#8b5e37}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px}.trust-row span,.progress-badge{padding:7px 10px;border:1px solid var(--border);background:#fff;border-radius:999px;font-size:12px;color:var(--muted)}.phone-preview{background:#fff;border:8px solid #111827;border-radius:38px;padding:16px;box-shadow:0 30px 80px rgba(17,24,39,.18);max-width:390px;margin:auto}.phone-top{display:flex;justify-content:space-between;font-size:12px;padding:8px 4px 18px}.phone-hero{padding:28px;border-radius:24px;background:linear-gradient(145deg,#1f2937,#0f172a);color:#fff}.phone-hero h2{font-size:27px;line-height:1.08;margin:10px 0 0}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.preview-grid>div,.preview-card{border:1px solid var(--border);border-radius:16px;padding:16px}.preview-grid strong{display:block;font-size:22px}.preview-grid small,.preview-card small{display:block;color:var(--muted);margin-top:4px}.preview-card{display:flex;gap:12px}.mini-icon{width:32px;height:32px;border-radius:10px;background:#e8f6ee;color:var(--green);display:grid;place-items:center}.feature-strip{background:#111827;color:#fff;padding:48px max(24px,calc((100vw - 1136px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.feature-strip p{color:#aeb6c4;line-height:1.6}.auth-wrap{max-width:1120px;margin:auto;min-height:calc(100vh - 145px);padding:56px 28px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.auth-copy h1{font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.055em;margin:18px 0}.auth-copy p{font-size:18px;color:var(--muted);line-height:1.7}.auth-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.auth-card.wide{max-width:600px}.auth-card h2{margin:0;font-size:28px}.muted{color:var(--muted)}.form-stack{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .span-2{grid-column:span 2}label{font-size:14px;font-weight:650;display:flex;flex-direction:column;gap:7px}input,select{width:100%;border:1px solid #d7dce2;background:#fff;border-radius:12px;padding:12px 13px;outline:none;color:var(--text)}input:focus,select:focus{border-color:#667085;box-shadow:0 0 0 3px rgba(102,112,133,.12)}.auth-foot{text-align:center;font-size:14px;color:var(--muted);margin:22px 0 0}.auth-foot a{font-weight:750;color:var(--text)}.field-error{color:var(--red);font-weight:500}.check-list{padding:0;list-style:none;display:grid;gap:12px}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#e8f6ee;color:var(--green);margin-right:10px}.toast{padding:13px 16px;border-radius:12px;margin:0 0 20px;border:1px solid}.guest-body .toast{max-width:680px;margin:20px auto}.toast.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.toast.error{background:#fef3f2;border-color:#fecdca;color:#b42318}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#111827;color:#e5e7eb;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-nav{display:flex;flex-direction:column;gap:5px;margin-top:38px}.side-nav a{padding:11px 13px;border-radius:11px;color:#cbd5e1;font-size:14px}.side-nav a:hover,.side-nav a.active{background:#253044;color:#fff}.side-nav .disabled{opacity:.42;pointer-events:none}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#718096;margin:22px 12px 8px}.sidebar-foot{margin-top:auto;border-top:1px solid #2c3749;padding-top:18px;display:flex;gap:11px;align-items:center;min-width:0}.sidebar-foot strong,.sidebar-foot small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.sidebar-foot small{color:#94a3b8;font-size:11px;margin-top:3px}.avatar{width:38px;height:38px;border-radius:12px;background:#344055;display:grid;place-items:center;font-weight:800}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.link-button{border:0;background:none;cursor:pointer;color:var(--muted)}.menu-button{display:none;border:1px solid var(--border);background:#fff;border-radius:9px;padding:7px 10px}.page{padding:30px;max-width:1500px;margin:auto}.welcome,.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.welcome h1,.page-head h1{font-size:34px;letter-spacing:-.035em;margin:8px 0}.welcome p,.page-head p{color:var(--muted);margin:0;line-height:1.55}.status-pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#eef2f6;color:#475467}.status-pill.active,.status-pill.trial{background:#ecfdf3;color:#067647}.status-pill.pending,.status-pill.past_due{background:#fffaeb;color:#b54708}.status-pill.suspended,.status-pill.cancelled,.status-pill.failed{background:#fef3f2;color:#b42318}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px}.metric small,.metric span{display:block;color:var(--muted)}.metric strong{font-size:27px;display:block;margin:12px 0 5px;letter-spacing:-.04em}.metric .small-value{font-size:16px;word-break:break-word}.metric span{font-size:12px}.dashboard-grid,.branding-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.panel-head h2{margin:4px 0;font-size:20px}.panel-head p{margin:0;color:var(--muted);font-size:13px}.setup-list,.health-list,.stack-list{display:flex;flex-direction:column}.setup-item{display:flex;gap:13px;padding:14px 0;border-top:1px solid var(--border)}.setup-item:first-child{border-top:0}.setup-item>span{width:34px;height:34px;border:1px solid var(--border);border-radius:11px;display:grid;place-items:center;font-weight:750}.setup-item.complete>span{background:#ecfdf3;color:#067647;border-color:#abefc6}.setup-item strong,.setup-item small{display:block}.setup-item small{color:var(--muted);margin-top:3px}.setup-item.disabled{opacity:.55}.health-list>div,.stack-list>div{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.health-list>div:first-child,.stack-list>div:first-child{border-top:0}.health-list strong,.health-list small,.stack-list strong,.stack-list small{display:block}.health-list small,.stack-list small{color:var(--muted);margin-top:3px}.health-dot{width:11px;height:11px;border-radius:50%;background:#98a2b3}.health-dot.good{background:#12b76a}.form-section{padding-bottom:22px;border-bottom:1px solid var(--border)}.form-section h2{font-size:18px}.colour-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.colour-control{display:grid;grid-template-columns:52px 1fr;gap:8px}.colour-control input[type=color]{padding:3px;height:45px}.preview-panel{position:sticky;top:92px;height:max-content}.brand-preview{background:var(--brand-bg);color:var(--brand-text);border-radius:calc(var(--brand-radius) + 5px);overflow:hidden;border:1px solid var(--border);margin-top:15px}.preview-image{height:230px;background:linear-gradient(140deg,var(--brand-primary),var(--brand-accent))}.preview-body{padding:24px}.preview-body h2{font-size:28px;line-height:1.08}.preview-body p{line-height:1.6;opacity:.72}.preview-body button{background:var(--brand-primary);color:#fff;border:0;border-radius:var(--brand-radius);padding:12px 18px;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}.empty{text-align:center;color:var(--muted);padding:40px}.split{align-items:end}.search-form{display:flex;gap:8px;min-width:340px}.inline-form{display:flex;gap:10px}.detail-list{margin-top:20px}.detail-list>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border);font-size:13px}.detail-list span{color:var(--muted)}.timeline>div{display:grid;grid-template-columns:12px 1fr;gap:12px;padding:10px 0}.timeline>div>span{width:10px;height:10px;background:#98a2b3;border-radius:50%;margin-top:4px}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:4px}.error-page{text-align:center;max-width:600px;margin:100px auto;padding:30px}.error-page>span{font-size:80px;font-weight:800;color:#d0d5dd}.error-page h1{font-size:36px}.error-page p{color:var(--muted);line-height:1.6}.admin-shell .sidebar{background:#0b1220}@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:48px}.phone-preview{display:none}.feature-strip{grid-template-columns:1fr}.auth-wrap{grid-template-columns:1fr;gap:30px;max-width:680px}.auth-copy{display:none}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;z-index:30;width:250px;transition:.2s}.sidebar.open{left:0}.menu-button{display:inline-block}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.branding-layout{grid-template-columns:1fr}.preview-panel{position:static}.page{padding:22px}.welcome,.page-head{flex-direction:column}.split{align-items:flex-start}.search-form{min-width:0;width:100%}}@media(max-width:600px){.guest-header{padding:0 16px}.guest-header nav>a:first-child{display:none}.hero{padding:45px 20px 65px}.hero-copy h1{font-size:46px}.feature-strip{padding:38px 22px}.auth-wrap{padding:30px 16px}.auth-card{padding:22px}.form-grid,.colour-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.metric-grid{grid-template-columns:1fr}.page{padding:18px 14px}.topbar{padding:0 15px}.welcome h1,.page-head h1{font-size:29px}.panel{padding:18px}.search-form,.inline-form{flex-direction:column}.guest-footer{font-size:12px}}

/* Phase 1.1 Gallery Core */
textarea{width:100%;border:1px solid #d7dce2;background:#fff;border-radius:12px;padding:12px 13px;outline:none;color:var(--text);font:inherit;resize:vertical}textarea:focus{border-color:#667085;box-shadow:0 0 0 3px rgba(102,112,133,.12)}.narrow-panel{max-width:850px}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:10px;margin-bottom:16px}.text-link{font-weight:750;color:#344054}.text-link:hover{text-decoration:underline}.danger{color:var(--red)!important}.mt-20{margin-top:20px}.note-box{background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:16px;margin-top:20px}.note-box p{color:var(--muted);line-height:1.65;margin-bottom:0}.stack-list>a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.stack-list>a:first-child{border-top:0}.stack-list>a strong,.stack-list>a small{display:block}.stack-list>a small{color:var(--muted);margin-top:3px}.empty.compact{padding:18px 0}.gallery-list{display:flex;flex-direction:column}.gallery-row{display:grid;grid-template-columns:64px minmax(200px,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.gallery-row:first-child{border-top:0}.gallery-row-cover{width:64px;height:52px;border-radius:12px;overflow:hidden;background:#eef2f6;display:grid;place-items:center;color:#667085;font-weight:800}.gallery-row-cover img{width:100%;height:100%;object-fit:cover}.gallery-row-main strong,.gallery-row-main small{display:block}.gallery-row-main small,.gallery-row-meta{color:var(--muted);font-size:12px;margin-top:4px}.gallery-row-meta{display:flex;gap:15px}.switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.form-check{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:550}.form-check-input{width:18px;height:18px}.form-switch{padding:13px;border:1px solid var(--border);border-radius:12px}.date-control{display:flex;width:100%;min-width:0;border:1px solid #d7dce2;border-radius:12px;padding:12px 13px}.date-control input{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;box-shadow:none}.share-strip{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.share-strip strong,.share-strip span{display:block}.share-strip span{color:var(--muted);font-size:12px;margin-top:4px;word-break:break-all}.upload-box{border:1px dashed #98a2b3;border-radius:16px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.upload-box input{position:absolute;opacity:0;pointer-events:none}.upload-box label{cursor:pointer}.upload-box label strong,.upload-box label span{display:block}.upload-box label span{font-weight:400;color:var(--muted);font-size:12px;margin-top:4px}.admin-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-photo{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#fff}.admin-photo>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef2f6}.admin-photo>div{padding:12px}.admin-photo strong,.admin-photo small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-photo small{color:var(--muted);font-size:11px;margin-top:4px}.photo-actions{display:flex;justify-content:space-between;margin-top:10px}.photo-actions form{margin:0}.photo-actions button{font-size:12px;padding:0}.viz-callout{background:#f0f7ff;border:1px solid #b2ddff;border-radius:16px;padding:18px;margin-bottom:20px}.viz-callout p{margin-bottom:0}.gallery-body{margin:0;background:var(--gallery-bg);color:var(--gallery-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.gallery-toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:20;padding:12px 16px;border-radius:999px;border:1px solid;box-shadow:0 8px 30px rgba(0,0,0,.12);max-width:calc(100% - 30px)}.gallery-toast.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.gallery-toast.error{background:#fef3f2;border-color:#fecdca;color:#b42318}.gallery-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,var(--gallery-bg),var(--gallery-surface))}.gallery-gate-card{width:min(460px,100%);background:var(--gallery-surface);border-radius:calc(var(--gallery-radius) + 8px);padding:34px;border:1px solid rgba(0,0,0,.08);text-align:center}.gallery-gate-card h1{font-size:38px;letter-spacing:-.045em;margin:12px 0}.gallery-gate-card p{opacity:.7;line-height:1.6}.gallery-gate-card form{text-align:left;margin:28px 0}.gallery-gate-card>small{opacity:.5}.gallery-studio{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--gallery-accent)}.gallery-button{background:var(--gallery-primary);color:#fff;border:0;border-radius:var(--gallery-radius);padding:13px 18px;font-weight:750;cursor:pointer}.gallery-button:disabled{opacity:.45;cursor:not-allowed}.gallery-hero{min-height:52vh;display:flex;align-items:flex-end;background:linear-gradient(145deg,var(--gallery-primary),#111);color:#fff;padding:clamp(28px,7vw,88px)}.gallery-hero-inner{max-width:900px}.gallery-hero h1{font-size:clamp(48px,9vw,108px);line-height:.9;letter-spacing:-.065em;margin:18px 0}.gallery-hero p{max-width:700px;font-size:18px;line-height:1.7;opacity:.75}.gallery-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.gallery-meta span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 11px;font-size:12px}.gallery-toolbar{position:sticky;top:0;z-index:10;display:flex;gap:22px;align-items:center;background:color-mix(in srgb,var(--gallery-surface) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08);padding:14px clamp(16px,5vw,60px)}.gallery-toolbar a{font-weight:700;font-size:13px}.gallery-toolbar a span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--gallery-primary);color:#fff;margin-left:5px}.gallery-powered{margin-left:auto;font-size:11px;opacity:.5}.client-photo-grid{columns:3 320px;column-gap:10px;padding:10px}.client-photo{position:relative;break-inside:avoid;margin-bottom:10px;background:var(--gallery-surface);border-radius:var(--gallery-radius);overflow:hidden}.client-photo>img{display:block;width:100%;height:auto}.client-photo-actions{position:absolute;top:10px;right:10px;display:flex;gap:8px}.favourite-button,.download-button{border:0;background:rgba(255,255,255,.92);color:#111;border-radius:999px;min-width:42px;height:42px;display:grid;place-items:center;padding:0 13px;font-weight:800;box-shadow:0 5px 18px rgba(0,0,0,.12)}.favourite-button{font-size:20px;cursor:pointer}.favourite-button.selected{background:var(--gallery-primary);color:#fff}.download-button{font-size:11px}.photo-comment{padding:12px 14px;border-top:1px solid rgba(0,0,0,.08)}.photo-comment summary{cursor:pointer;font-size:12px;font-weight:750}.comment-entry{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}.comment-entry strong{font-size:12px}.comment-entry p{font-size:13px;margin:4px 0 0;opacity:.75}.comment-form{display:grid;gap:8px;margin-top:10px}.comment-form input,.comment-form textarea{border-color:rgba(0,0,0,.12)}.comment-form button{justify-self:start;border:0;border-radius:999px;background:var(--gallery-primary);color:#fff;padding:8px 12px;font-weight:700}.gallery-section{max-width:1100px;margin:70px auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.gallery-section h2{font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.05em;margin:13px 0}.gallery-section p{line-height:1.7;opacity:.7}.gallery-inline-form{display:flex;gap:10px}.selection-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--gallery-surface);padding:24px;border-radius:calc(var(--gallery-radius) + 8px);border:1px solid rgba(0,0,0,.08)}.selection-form .span-2{grid-column:span 2}.selection-success{background:var(--gallery-surface);padding:28px;border-radius:calc(var(--gallery-radius) + 8px);border:1px solid rgba(0,0,0,.08)}.selection-success strong{font-size:24px}.gallery-footer{border-top:1px solid rgba(0,0,0,.08);padding:35px clamp(20px,5vw,60px);display:flex;justify-content:space-between;gap:20px;font-size:12px}.gallery-footer span{opacity:.5}.gallery-empty{text-align:center;padding:70px 20px;opacity:.6}
@media(max-width:900px){.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-row{grid-template-columns:56px 1fr auto}.gallery-row-meta{display:none}.gallery-section{grid-template-columns:1fr;gap:24px}.gallery-hero{min-height:45vh}}
@media(max-width:650px){.filter-bar{grid-template-columns:1fr}.switch-grid{grid-template-columns:1fr}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-row{grid-template-columns:54px 1fr}.gallery-row>.status-pill{display:none}.share-strip{align-items:flex-start;flex-direction:column}.upload-box{grid-template-columns:1fr}.client-photo-grid{columns:2 150px;padding:6px;column-gap:6px}.client-photo{margin-bottom:6px}.gallery-hero{padding:34px 20px}.gallery-hero h1{font-size:54px}.gallery-toolbar{padding:12px 14px;gap:14px}.gallery-powered{display:none}.gallery-section{margin:48px auto;padding:0 18px}.selection-form{grid-template-columns:1fr;padding:18px}.selection-form .span-2{grid-column:auto}.gallery-inline-form{flex-direction:column}.gallery-footer{flex-direction:column}.gallery-gate-card{padding:25px}.client-photo-actions{top:7px;right:7px}.favourite-button,.download-button{height:36px;min-width:36px}.download-button{padding:0 9px}}

/* Phase 1.2 Proofing & Delivery */
.nav-count{margin-left:auto;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#111827;font-size:11px}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.workspace-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:13px;font-weight:700}.workspace-tabs a.active{background:var(--dark);color:#fff;border-color:var(--dark)}.workspace-tabs a span{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(127,127,127,.16);display:grid;place-items:center;font-size:10px}.compact-metrics{margin-bottom:20px}.admin-photo-grid.enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-hidden{opacity:.62}.photo-hidden>img{filter:grayscale(.55)}.image-settings{display:grid;gap:8px;margin-top:10px}.image-settings input{padding:9px 10px;font-size:12px}.image-settings .form-check{font-size:12px}.filter-tabs{display:flex;gap:8px;margin-bottom:16px}.filter-tabs a{padding:9px 13px;border-radius:999px;border:1px solid var(--border);font-weight:700;font-size:13px}.filter-tabs a.active{background:var(--dark);color:#fff}.notification-list{display:flex;flex-direction:column}.notification-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 0;border-top:1px solid var(--border)}.notification-row:first-child{border-top:0}.notification-row.unread{background:#fafcff}.notification-dot{width:9px;height:9px;border-radius:999px;background:#d0d5dd}.notification-row.unread .notification-dot{background:var(--accent)}.notification-copy strong,.notification-copy p,.notification-copy small{display:block}.notification-copy p{margin:4px 0;color:var(--muted)}.notification-copy small{color:var(--muted);font-size:11px}.mini-notification-list{display:flex;flex-direction:column}.mini-notification{display:block;padding:12px 0;border-top:1px solid var(--border)}.mini-notification:first-child{border-top:0}.mini-notification.unread{padding-left:12px;border-left:3px solid var(--accent)}.mini-notification strong,.mini-notification small{display:block}.mini-notification small{color:var(--muted);margin-top:4px;line-height:1.45}.comment-management-list{display:flex;flex-direction:column;gap:14px}.managed-comment{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;border:1px solid var(--border);border-radius:16px;padding:14px}.managed-comment.resolved{opacity:.72}.managed-comment>img{width:110px;height:90px;object-fit:cover;border-radius:12px;background:#eef2f6}.managed-comment-body small{display:block;color:var(--muted);margin-top:4px}.managed-comment-body>p{line-height:1.6}.comment-reply-form{display:grid;gap:10px}.timeline-list{position:relative}.timeline-row{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 22px}.timeline-mark{width:12px;height:12px;margin-top:4px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px #f6eee7}.timeline-row strong,.timeline-row p,.timeline-row small{display:block}.timeline-row p{margin:4px 0;color:var(--muted)}.timeline-row small{font-size:11px;color:var(--muted)}.photo-caption{padding:10px 14px;margin:0;font-size:13px;line-height:1.5}.photographer-reply{margin-top:8px;padding:9px 10px;border-left:3px solid var(--gallery-accent);background:rgba(127,127,127,.08);border-radius:8px}.photographer-reply p{margin:3px 0 0}.gallery-button-link{display:inline-flex;justify-content:center;align-items:center;text-decoration:none}.download-ready{align-items:center}.selection-status{margin-top:18px;padding:14px;border:1px solid rgba(0,0,0,.08);border-radius:var(--gallery-radius);background:var(--gallery-surface)}.selection-status p{margin-bottom:0}.link-button.text-link{padding:0;margin-top:16px}
@media(max-width:900px){.admin-photo-grid.enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-photo-grid.enhanced{grid-template-columns:1fr}.notification-row{grid-template-columns:8px 1fr}.notification-row form{grid-column:2}.managed-comment{grid-template-columns:1fr}.managed-comment>img{width:100%;height:auto;aspect-ratio:16/9}.workspace-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.workspace-tabs a{white-space:nowrap}.compact-metrics{grid-template-columns:1fr 1fr}}

/* Phase 1.3 Bookings & Billing */
.sidebar{overflow-y:auto}.sidebar-foot{flex-shrink:0}.side-nav{padding-bottom:20px}.money-value{font-size:clamp(18px,2.2vw,27px)!important;white-space:nowrap}.status-pill.unpaid,.status-pill.overdue{background:#fef3f2;color:#b42318}.status-pill.part_paid,.status-pill.sent,.status-pill.enquiry{background:#fffaeb;color:#b54708}.status-pill.paid,.status-pill.accepted,.status-pill.confirmed,.status-pill.completed,.status-pill.succeeded{background:#ecfdf3;color:#067647}.status-pill.declined,.status-pill.expired,.status-pill.refunded{background:#f2f4f7;color:#475467}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.package-card h2{margin:12px 0 0;font-size:22px}.package-price{font-size:19px;white-space:nowrap}.package-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.package-meta span{padding:7px 9px;border-radius:999px;background:#f2f4f7;color:var(--muted);font-size:11px}.business-list{display:flex;flex-direction:column}.business-row{display:grid;grid-template-columns:58px minmax(220px,1fr) minmax(145px,auto) auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--border)}.business-row:first-child{border-top:0}.business-main strong,.business-main small,.business-money strong,.business-money small{display:block}.business-main small,.business-money small{color:var(--muted);font-size:12px;margin-top:4px}.business-money{text-align:right}.date-tile,.document-icon{width:52px;height:52px;border-radius:14px;background:#f2f4f7;display:grid;place-items:center;text-align:center}.date-tile strong{font-size:19px;line-height:1}.date-tile small{font-size:9px;letter-spacing:.08em}.document-icon{font-weight:800;color:#475467}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.detail-grid div{border-bottom:1px solid var(--border);padding-bottom:13px}.detail-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.detail-grid dd{margin:5px 0 0;font-weight:700;line-height:1.5}.line-items{display:flex;flex-direction:column;gap:9px}.line-item{display:grid;grid-template-columns:minmax(220px,1fr) 120px 190px;gap:10px}.line-head{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750;padding:0 10px}.totals-inputs{max-width:650px;margin:20px 0 0 auto}.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.document-paper{padding:clamp(22px,4vw,48px)}.document-top,.document-parties{display:flex;justify-content:space-between;gap:28px}.document-top strong,.document-top small,.document-top span,.document-parties strong,.document-parties small,.document-parties span{display:block}.document-top small,.document-parties small,.document-parties span{color:var(--muted);margin-top:4px}.document-paper>h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;margin:50px 0 30px}.document-parties{padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.document-table{width:100%;border-collapse:collapse;margin:28px 0}.document-table th,.document-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--border);font-size:13px}.document-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.document-table th:nth-child(n+2),.document-table td:nth-child(n+2){text-align:right}.document-totals{margin-left:auto;max-width:380px}.document-totals>div{display:flex;justify-content:space-between;gap:30px;padding:9px 0}.document-totals .grand{font-size:19px;border-top:2px solid var(--text);margin-top:8px;padding-top:14px}.document-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.document-note p{color:var(--muted);line-height:1.7}.action-panel{position:sticky;top:90px;display:flex;flex-direction:column;gap:12px}.action-panel h2{margin:0 0 8px}.action-panel form{margin:0}.record-payment{border:1px solid var(--border);border-radius:14px;padding:13px}.record-payment summary{cursor:pointer;font-weight:750}.record-payment form{margin-top:16px}.setup-state{display:block;padding:12px;border:1px solid var(--border);border-radius:12px;font-size:12px;line-height:1.5}.success-state{background:#ecfdf3;color:#067647;border-color:#abefc6}.payment-list{display:flex;flex-direction:column}.payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.payment-row:first-child{border-top:0}.payment-row strong,.payment-row small{display:block}.payment-row small{color:var(--muted);font-size:11px;margin-top:4px}.payment-link:hover{background:#fafafa}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.settings-help{position:sticky;top:90px}.settings-help h2{margin:8px 0 20px}.public-document-wrap{max-width:1050px;margin:0 auto;padding:48px 22px 80px}.public-document-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.public-document-head h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.05em;margin:8px 0}.public-document-head p{color:var(--muted)}.public-paper{background:#fff;border:1px solid var(--border);border-radius:24px}.public-response{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;margin-top:18px}.public-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.public-history{margin-top:18px}.public-payment-grid .panel h2{font-size:24px;margin:8px 0}.public-payment-grid .panel p{line-height:1.65}.settings-grid .form-stack{min-width:0}
@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-layout,.settings-grid{grid-template-columns:1fr}.action-panel,.settings-help{position:static}.document-row{grid-template-columns:52px minmax(180px,1fr) auto auto}}
@media(max-width:760px){.package-grid{grid-template-columns:1fr}.business-row{grid-template-columns:52px minmax(0,1fr) auto}.business-money{grid-column:2;text-align:left}.business-row>.status-pill{grid-column:3;grid-row:1}.line-item{grid-template-columns:1fr 90px 130px}.line-head{display:none}.document-top,.document-parties{flex-direction:column}.document-paper>h2{margin:30px 0 22px}.document-table{display:block;overflow-x:auto}.public-payment-grid{grid-template-columns:1fr}.payment-row{grid-template-columns:minmax(0,1fr) auto}.payment-row>small:last-child{grid-column:1 / -1}.detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.line-item{grid-template-columns:1fr}.business-row{grid-template-columns:44px minmax(0,1fr)}.business-row>.status-pill{grid-column:2;grid-row:auto;justify-self:start}.business-money{grid-column:2}.date-tile,.document-icon{width:42px;height:42px}.public-document-wrap{padding:30px 12px 60px}.public-document-head{flex-direction:column}.document-paper{padding:18px}.document-table th,.document-table td{padding:10px 7px;font-size:12px}.document-totals{max-width:none}.compact-metrics{grid-template-columns:1fr!important}}

/* Phase 1.4 — Photographer websites */
.website-status-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.website-status-strip>div{display:grid;gap:4px}.website-status-strip small{word-break:break-all}.website-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.website-side-stack{display:grid;gap:20px;position:sticky;top:84px}.template-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.template-choice{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:12px;display:grid;gap:7px;cursor:pointer}.template-choice input{width:auto}.template-choice:has(input:checked){outline:2px solid #111827;outline-offset:1px}.template-swatch{height:72px;border-radius:10px;border:1px solid rgba(17,24,39,.1);display:block}.template-swatch.template-minimal{background:linear-gradient(135deg,#fff 0 60%,#ede8e0 60%)}.template-swatch.template-editorial{background:linear-gradient(90deg,#f5f1eb 0 45%,#202020 45%)}.template-swatch.template-luxe{background:linear-gradient(135deg,#151515 0 70%,#b68b5a 70%)}.template-swatch.template-bold{background:linear-gradient(135deg,#f2bd00 0 45%,#111 45%)}.selection-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.selection-check-grid .form-check{border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:12px;align-items:flex-start}.selection-check-grid .form-check-label{display:grid;gap:2px}.visibility-grid{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0 18px}.section-order-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.checklist{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.checklist li{position:relative;padding-left:26px}.checklist li:before{content:'○';position:absolute;left:0;color:#9ca3af}.checklist li.done:before{content:'✓';color:#15803d;font-weight:700}.stack-links{display:grid}.stack-links a{display:grid;gap:2px;padding:13px 0;border-bottom:1px solid var(--border,#e5e7eb);text-decoration:none;color:inherit}.stack-links a:last-child{border-bottom:0}.stack-links small{color:var(--muted,#6b7280)}.testimonial-admin-list,.domain-list{display:grid;gap:16px}.domain-summary{display:grid;grid-template-columns:1fr 2fr;gap:18px}.domain-summary>div{display:grid;gap:5px}.domain-summary a{word-break:break-all}.domain-card{display:grid;gap:14px}.dns-table{display:grid;gap:8px}.dns-table>div{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:start}.dns-table code{background:#f3f4f6;border-radius:9px;padding:9px 10px;white-space:normal;word-break:break-all}.info-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.website-dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;background:linear-gradient(135deg,#fff,#f5f1eb)}.website-dashboard-banner p{margin:5px 0 0;max-width:760px}.message-box{padding:16px;border-radius:14px;background:#f8fafc;margin:18px 0}.message-box p{margin-bottom:0}.website-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.photographer-site{margin:0;background:var(--site-bg);color:var(--site-text);font-family:var(--site-body-font),Arial,Helvetica,sans-serif;line-height:1.6}.photographer-site *{box-sizing:border-box}.photographer-site a{color:inherit}.website-preview-bar{position:relative;z-index:30;display:flex;gap:16px;align-items:center;justify-content:center;padding:10px 18px;background:#111827;color:#fff;font-size:14px}.website-preview-bar a{color:#fff;text-decoration:underline}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,5vw,72px);background:color-mix(in srgb,var(--site-bg) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--site-text) 12%,transparent);backdrop-filter:blur(14px)}.website-preview-bar+.site-header{top:44px}.site-logo{text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.04em}.site-nav{display:flex;gap:26px;align-items:center}.site-nav a{text-decoration:none;font-size:14px}.site-nav a:hover{opacity:.62}.site-menu-button{display:none;border:1px solid color-mix(in srgb,var(--site-text) 20%,transparent);background:transparent;color:inherit;border-radius:999px;padding:8px 14px}.site-hero{position:relative;min-height:min(820px,82vh);display:flex;align-items:flex-end;padding:clamp(36px,8vw,100px) clamp(18px,7vw,100px);overflow:hidden;background:var(--site-surface)}.site-hero.has-image{background-image:var(--hero-image);background-size:cover;background-position:center}.site-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.74) 100%);opacity:0}.site-hero.has-image .site-hero-shade{opacity:1}.site-hero-content{position:relative;z-index:2;max-width:850px}.site-hero.has-image .site-hero-content{color:#fff}.site-kicker,.site-section-head>span,.site-about-label>span,.site-contact-intro>span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin-bottom:14px}.site-hero h1,.site-section h2{font-family:var(--site-heading-font),Arial,Helvetica,sans-serif}.site-hero h1{font-size:clamp(44px,8vw,104px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px;max-width:950px}.site-hero p{font-size:clamp(17px,2vw,22px);max-width:670px;margin:0 0 28px}.site-actions{display:flex;flex-wrap:wrap;gap:12px}.site-btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border-radius:var(--site-radius);text-decoration:none;border:1px solid transparent;font-weight:700;cursor:pointer}.site-btn.primary{background:var(--site-primary);color:#fff}.site-hero.has-image .site-btn.primary{background:#fff;color:#111}.site-btn.secondary{border-color:currentColor;background:transparent}.site-section{padding:clamp(62px,9vw,120px) clamp(18px,7vw,100px);scroll-margin-top:90px}.site-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.site-section-head h2,.site-about h2,.site-contact h2{font-size:clamp(34px,5vw,68px);line-height:1.02;letter-spacing:-.04em;margin:0}.site-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,24px)}.site-gallery-card{grid-column:span 4}.site-gallery-card:nth-child(5n+1){grid-column:span 7}.site-gallery-card:nth-child(5n+2){grid-column:span 5}.site-gallery-card a{text-decoration:none}.site-gallery-image{aspect-ratio:4/5;background:var(--site-surface);overflow:hidden;border-radius:var(--site-radius);display:grid;place-items:center}.site-gallery-card:nth-child(5n+1) .site-gallery-image,.site-gallery-card:nth-child(5n+2) .site-gallery-image{aspect-ratio:16/11}.site-gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.site-gallery-card:hover img{transform:scale(1.025)}.site-gallery-copy{display:flex;justify-content:space-between;gap:12px;padding-top:13px}.site-gallery-copy h3{font-size:18px;margin:0}.site-gallery-copy small{white-space:nowrap;color:color-mix(in srgb,var(--site-text) 62%,transparent)}.site-about{display:grid;grid-template-columns:1fr 2fr;gap:clamp(30px,9vw,130px);background:var(--site-surface)}.site-richtext{font-size:clamp(17px,2vw,22px);max-width:800px}.site-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-service-card{display:flex;flex-direction:column;gap:18px;min-height:320px;padding:clamp(22px,3vw,36px);border:1px solid color-mix(in srgb,var(--site-text) 16%,transparent);border-radius:var(--site-radius)}.site-service-card h3{font-size:26px;line-height:1.1;margin:0 0 10px}.site-service-card p{margin:0;color:color-mix(in srgb,var(--site-text) 72%,transparent)}.site-service-card>strong{font-size:20px}.site-service-card ul{padding-left:20px;margin:0}.site-service-card>a{margin-top:auto;font-weight:700}.site-testimonials{background:var(--site-primary);color:#fff}.site-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-testimonial-grid blockquote{margin:0;padding:clamp(22px,3vw,36px);border:1px solid rgba(255,255,255,.24);border-radius:var(--site-radius)}.site-testimonial-grid blockquote p{font-size:20px;line-height:1.5}.site-testimonial-grid footer{display:grid;gap:2px}.site-testimonial-grid footer span{opacity:.72}.site-stars{letter-spacing:.12em;color:var(--site-accent)}.site-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,8vw,110px)}.site-contact-intro p{font-size:18px;max-width:560px}.site-contact-details{display:grid;gap:7px;margin:24px 0}.site-contact-details a{text-decoration:none}.site-whatsapp{display:inline-flex;padding:10px 16px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-weight:700}.site-enquiry-form{padding:clamp(22px,4vw,42px);background:var(--site-surface);border-radius:var(--site-radius)}.site-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-form-grid label{display:grid;gap:7px;font-size:14px;font-weight:700}.site-form-grid label.wide{grid-column:1/-1}.site-form-grid input,.site-form-grid textarea{width:100%;border:1px solid color-mix(in srgb,var(--site-text) 18%,transparent);border-radius:calc(var(--site-radius) * .72);padding:13px 14px;background:var(--site-bg);color:var(--site-text);font:inherit}.site-form-grid .date-shell{display:block;width:100%;border:1px solid color-mix(in srgb,var(--site-text) 18%,transparent);border-radius:calc(var(--site-radius) * .72);padding:13px 14px;background:var(--site-bg)}.site-form-grid .date-shell input{border:0;padding:0;min-width:0;background:transparent}.site-enquiry-form>.site-btn{margin-top:18px}.site-alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.site-alert.success{background:#dcfce7;color:#14532d}.site-alert.error{background:#fee2e2;color:#7f1d1d}.site-footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:38px clamp(18px,7vw,100px);border-top:1px solid color-mix(in srgb,var(--site-text) 14%,transparent)}.site-footer>div:first-child{display:grid}.site-footer span,.site-footer small{opacity:.68}.site-socials{display:flex;flex-wrap:wrap;gap:16px}.site-socials a{text-decoration:none}.site-empty{grid-column:1/-1;padding:30px;border:1px dashed color-mix(in srgb,var(--site-text) 24%,transparent);border-radius:var(--site-radius);text-align:center}

.template-editorial .site-hero h1,.template-editorial .site-section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.template-editorial .site-hero{min-height:76vh}.template-editorial .site-gallery-image{border-radius:2px}.template-luxe{--site-bg:#111!important;--site-surface:#1a1a1a!important;--site-text:#f7f2e8!important}.template-luxe .site-header{background:rgba(17,17,17,.9)}.template-luxe .site-btn.primary{background:var(--site-accent);color:#111}.template-luxe .site-testimonials{background:#080808}.template-bold .site-hero h1,.template-bold .site-section h2{text-transform:uppercase;font-weight:900}.template-bold .site-btn,.template-bold .site-gallery-image,.template-bold .site-service-card,.template-bold .site-testimonial-grid blockquote,.template-bold .site-enquiry-form{border-radius:3px}.template-bold .site-kicker,.template-bold .site-section-head>span{background:var(--site-accent);color:#111;display:inline-block;padding:4px 8px;letter-spacing:.08em}

@media(max-width:980px){.website-admin-grid{grid-template-columns:1fr}.website-side-stack{position:static}.template-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-service-grid,.site-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-gallery-card,.site-gallery-card:nth-child(5n+1),.site-gallery-card:nth-child(5n+2){grid-column:span 6}.site-gallery-card .site-gallery-image,.site-gallery-card:nth-child(5n+1) .site-gallery-image,.site-gallery-card:nth-child(5n+2) .site-gallery-image{aspect-ratio:4/5}}
@media(max-width:720px){.website-status-strip,.website-dashboard-banner{align-items:flex-start;flex-direction:column}.selection-check-grid,.domain-summary{grid-template-columns:1fr}.dns-table>div{grid-template-columns:1fr}.template-choice-grid{grid-template-columns:1fr 1fr}.site-header{padding:15px 18px}.website-preview-bar{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}.website-preview-bar+.site-header{top:65px}.site-menu-button{display:inline-flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px;background:var(--site-bg);border-bottom:1px solid color-mix(in srgb,var(--site-text) 12%,transparent);flex-direction:column;align-items:flex-start;gap:15px}.site-nav.open{display:flex}.site-hero{min-height:72vh;padding:60px 18px 36px}.site-hero h1,.site-section h2{font-family:var(--site-heading-font),Arial,Helvetica,sans-serif}.site-hero h1{font-size:clamp(42px,14vw,66px)}.site-section{padding:64px 18px}.site-section-head{align-items:flex-start;flex-direction:column}.site-gallery-grid{grid-template-columns:1fr}.site-gallery-card,.site-gallery-card:nth-child(5n+1),.site-gallery-card:nth-child(5n+2){grid-column:1}.site-gallery-card .site-gallery-image,.site-gallery-card:nth-child(5n+1) .site-gallery-image,.site-gallery-card:nth-child(5n+2) .site-gallery-image{aspect-ratio:4/5}.site-about,.site-contact{grid-template-columns:1fr}.site-service-grid,.site-testimonial-grid{grid-template-columns:1fr}.site-form-grid{grid-template-columns:1fr}.site-form-grid label.wide{grid-column:auto}.site-footer{grid-template-columns:1fr;align-items:start}.site-actions .site-btn{width:100%}}

/* Phase 1.5 — Studio operations */
.status-pill.accepted,.status-pill.completed,.status-pill.processed,.status-pill.sent,.status-pill.viewed,.status-pill.scheduled{background:#ecfdf3;color:#067647}.status-pill.draft,.status-pill.queued,.status-pill.unpaid,.status-pill.invited{background:#f2f4f7;color:#475467}.status-pill.declined,.status-pill.expired,.status-pill.void,.status-pill.removed,.status-pill.skipped{background:#fef3f2;color:#b42318}.status-pill.pending,.status-pill.overdue{background:#fffaeb;color:#b54708}.copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.copy-row input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.invite-result{margin-bottom:20px;background:linear-gradient(135deg,#fff,#f8fafc)}.team-invite-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.team-invite-row:first-child{border-top:0}.team-invite-row strong,.team-invite-row small{display:block}.team-invite-row small{color:var(--muted);margin-top:4px}.team-member-list{display:grid;gap:14px}.team-member-card{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:22px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:16px}.team-person{display:flex;gap:13px;align-items:flex-start;min-width:0}.team-person .avatar{flex:0 0 auto;color:#fff}.team-person strong,.team-person small{display:block}.team-person small{color:var(--muted);margin:4px 0 8px;word-break:break-word}.team-role-summary{display:grid;gap:4px;text-align:right}.team-role-summary small{color:var(--muted)}.team-access-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.team-access-form label{min-width:0}.team-access-form input,.team-access-form select{padding:9px 10px}.note-box.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-toolbar>div{display:grid;text-align:center}.calendar-toolbar span{color:var(--muted);font-size:12px;margin-top:3px}.calendar-panel{padding:0;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f8fafc;border-bottom:1px solid var(--border)}.calendar-weekdays span{padding:11px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:160px;padding:10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.today{background:#fffdf5;box-shadow:inset 0 0 0 2px #d8a15f}.calendar-day.empty-day{background:#fafafa}.calendar-date{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.calendar-date>span{display:none;font-size:10px;color:var(--muted)}.calendar-date strong{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;font-size:13px}.calendar-day.today .calendar-date strong{background:var(--dark);color:#fff}.calendar-date a{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--muted)}.calendar-items{display:grid;gap:6px}.calendar-item{display:grid;gap:2px;padding:7px 8px;border-radius:9px;background:#f3f6fb;border-left:3px solid #64748b;min-width:0}.calendar-item.booking{background:#edfdf3;border-left-color:#16a34a}.calendar-item.editing{background:#f5f3ff;border-left-color:#7c3aed}.calendar-item.delivery{background:#fff7ed;border-left-color:#ea580c}.calendar-item.meeting{background:#eff6ff;border-left-color:#2563eb}.calendar-item.cancelled{opacity:.48;text-decoration:line-through}.calendar-item small,.calendar-item span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-item strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:11px;height:11px;border-radius:3px;background:#64748b}.calendar-legend .legend-booking{background:#16a34a}.calendar-legend .legend-today{background:#d8a15f}.calendar-all-day{justify-content:center;align-self:end;min-height:44px}.contract-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.contract-editor-help{position:sticky;top:90px}.contract-editor-help h2{margin:7px 0 12px}.contract-body-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.65;resize:vertical}.placeholder-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.placeholder-list.compact{margin:0}.placeholder-list code{padding:7px 9px;border-radius:8px;background:#f2f4f7;color:#344054;font-size:11px}.template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contract-template-card{display:flex;flex-direction:column;justify-content:space-between;gap:22px}.contract-template-card h2{margin:13px 0 7px}.contract-template-card p{color:var(--muted);line-height:1.55}.share-contract-panel{margin-bottom:20px}.contract-show-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.contract-paper{padding:clamp(24px,4vw,52px)}.contract-paper>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--border)}.contract-paper>header h2{font-size:clamp(27px,4vw,44px);margin:6px 0}.contract-text{white-space:normal;font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.8;color:#27303f}.contract-signature{display:grid;gap:6px;margin-top:44px;padding:24px;border:1px solid #abefc6;background:#ecfdf3;border-radius:14px}.contract-signature.declined{border-color:#fecdca;background:#fef3f2}.contract-signature span,.contract-signature small{color:var(--muted)}.contract-signature strong{font-size:22px}.contract-signature code{margin-top:8px;word-break:break-all;font-size:10px;color:var(--muted)}.contract-public-body{background:#eef1f5}.contract-public-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(18px,5vw,70px);background:#fff;border-bottom:1px solid var(--border)}.contract-public-header small{color:var(--muted)}.contract-public-main{max-width:1050px;margin:auto;padding:45px 22px 80px}.public-contract-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.public-contract-head h1{font-size:clamp(34px,6vw,62px);letter-spacing:-.05em;margin:8px 0}.public-contract-head p{color:var(--muted)}.public-contract-paper{background:#fff;border:1px solid var(--border);border-radius:24px;padding:clamp(24px,6vw,70px);box-shadow:var(--shadow)}.public-contract-alert{padding:15px 18px;margin-bottom:18px;border-radius:14px;background:#fffaeb;color:#7a2e0e;border:1px solid #fedf89}.public-contract-response{margin-top:28px}.public-contract-response>div:first-child{max-width:720px}.public-contract-response h2{font-size:32px;margin:7px 0}.public-contract-response p{color:var(--muted);line-height:1.6}.public-contract-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.reminder-rule-list{display:grid;gap:14px}.reminder-rule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px;border:1px solid var(--border);border-radius:16px}.reminder-rule-card>form:first-child{display:grid;gap:14px}.reminder-rule-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.reminder-rule-head strong,.reminder-rule-head small{display:block}.reminder-rule-head small{color:var(--muted);margin-top:4px}.communication-queue{display:grid;gap:12px}.communication-queue article{display:grid;gap:9px;padding:13px;border:1px solid var(--border);border-radius:13px}.communication-queue strong,.communication-queue small{display:block}.communication-queue small{color:var(--muted);margin-top:3px}.communication-queue p{font-size:13px;line-height:1.5;margin:0}.table-wrap td small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:1150px){.team-member-card{grid-template-columns:1fr}.team-role-summary{text-align:left}.team-access-form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:135px;padding:7px}.contract-editor-layout,.contract-show-layout{grid-template-columns:1fr}.contract-editor-help{position:static}}
@media(max-width:840px){.calendar-weekdays{display:none}.calendar-grid{grid-template-columns:1fr}.calendar-day,.calendar-day:nth-child(7n){min-height:0;border-right:0;padding:13px}.calendar-day.empty-day{display:none}.calendar-date>span{display:block}.calendar-date{justify-content:flex-start}.calendar-date a{margin-left:auto}.calendar-items:empty:after{content:'No events';font-size:11px;color:var(--muted)}.template-list{grid-template-columns:1fr}.public-contract-actions{grid-template-columns:1fr}.reminder-rule-card{grid-template-columns:1fr}.reminder-rule-card>form:last-child{justify-self:start}}
@media(max-width:620px){.copy-row{grid-template-columns:1fr}.team-member-card{padding:14px}.team-access-form{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch}.calendar-toolbar>div{order:-1;flex:1}.calendar-toolbar .btn{padding:9px}.contract-public-header{align-items:flex-start;flex-direction:column}.contract-public-main{padding:28px 12px 60px}.public-contract-head{flex-direction:column}.public-contract-paper{padding:20px}.contract-paper{padding:20px}.contract-paper>header{flex-direction:column}.contract-text{font-size:15px}.reminder-rule-head{flex-direction:column}.reminder-rule-card .form-grid{grid-template-columns:1fr}}

/* Phase 1.6 — Communications and client portal */
.status-pill.processing{background:#eff6ff;color:#1d4ed8}.status-pill.disabled{background:#f2f4f7;color:#667085}.status-pill.part_paid{background:#fffaeb;color:#b54708}.status-pill.paid{background:#ecfdf3;color:#067647}.inline-test{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding-top:18px;border-top:1px solid var(--border)}details{border:1px solid var(--border);border-radius:13px;padding:13px}summary{cursor:pointer;font-weight:700}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.template-card{border:1px solid var(--border);border-radius:15px;padding:16px}.template-card form{display:grid;gap:14px}.template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.template-head strong,.template-head small{display:block}.template-head small{color:var(--muted);margin-top:4px}.danger-text{color:var(--red)!important}.share-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.share-link input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.portal-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-body{background:#f4f5f7}.portal-top{min-height:72px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}.portal-shell{max-width:1180px;margin:auto;padding:38px 22px 80px}.portal-footer{text-align:center;color:var(--muted);font-size:12px;padding:25px}.portal-access{max-width:520px;margin:9vh auto;background:#fff;border:1px solid var(--border);border-radius:24px;padding:clamp(25px,6vw,48px);box-shadow:var(--shadow)}.portal-access h1{font-size:clamp(34px,7vw,52px);letter-spacing:-.05em;margin:10px 0}.portal-access p{color:var(--muted);line-height:1.65;margin-bottom:25px}.portal-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:24px}.portal-hero h1{font-size:clamp(38px,6vw,65px);letter-spacing:-.055em;margin:8px 0}.portal-hero p{color:var(--muted);font-size:17px}.portal-contact{background:#fff;border:1px solid var(--border);border-radius:15px;padding:15px 18px;display:grid;gap:8px;min-width:220px}.portal-contact a{color:#067647;font-weight:700}.portal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:16px}.metric-card span{display:block;color:var(--muted);font-size:12px}.viz-stat-value{display:block;font-size:27px;letter-spacing:-.04em;margin-top:8px}.portal-section{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;margin-top:18px}.portal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--border);border-radius:14px;padding:14px}.portal-card:hover{border-color:#98a2b3}.portal-card strong,.portal-card small{display:block}.portal-card small{color:var(--muted);margin-top:4px}.portal-icon{width:38px;height:38px;border-radius:11px;background:#f2f4f7;display:grid;place-items:center}.portal-list{display:grid}.portal-list article,.portal-list>a{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.portal-list article:first-child,.portal-list>a:first-child{border-top:0}.portal-list strong,.portal-list small{display:block}.portal-list small{color:var(--muted);margin-top:4px}.portal-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-two .portal-section{margin-top:18px}.form-check{display:flex;flex-direction:row;align-items:center;gap:10px}.form-check-input{width:auto}.form-check-label{font-weight:650}.form-switch .form-check-input{width:42px;height:23px}.mt-20{margin-top:20px}
@media(max-width:900px){.template-grid,.portal-two{grid-template-columns:1fr}.portal-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.inline-test,.share-link,.portal-admin-grid{grid-template-columns:1fr}.portal-hero{flex-direction:column}.portal-contact{width:100%}.portal-cards{grid-template-columns:1fr}.portal-shell{padding:24px 12px 55px}.portal-top{padding:0 14px}.portal-metrics{grid-template-columns:1fr 1fr}}

/* Phase 1.7 — Plans, subscriptions and storage */
.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--border);border-radius:15px;margin-bottom:18px;background:#fff}.subscription-banner>div{display:grid;gap:3px}.subscription-banner span{color:var(--muted);font-size:13px}.subscription-banner.trial{background:#fffaeb;border-color:#fedf89}.subscription-banner.past_due{background:#fff6ed;border-color:#f9dbaf}.subscription-banner.suspended{background:#fef3f2;border-color:#fecdca}.subscription-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.subscription-hero h2{font-size:clamp(30px,4vw,48px);margin:7px 0}.subscription-hero p{color:var(--muted)}.subscription-date{text-align:right}.subscription-date small,.subscription-date strong{display:block}.subscription-date small{color:var(--muted);margin-bottom:5px}.subscription-date strong{font-size:22px}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.usage-card{display:grid;gap:10px;padding:15px;border:1px solid var(--border);border-radius:14px}.usage-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.usage-card small{color:var(--muted)}.usage-card em{font-size:11px;color:var(--red);font-style:normal;font-weight:700}.usage-track{height:10px;border-radius:999px;background:#eef0f3;overflow:hidden}.usage-track span{display:block;height:100%;background:var(--accent);border-radius:inherit}.usage-track.compact{height:7px;margin-top:7px;min-width:130px}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.plan-card{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--border);border-radius:17px;background:#fff}.plan-card.current-plan{border-color:#d8a15f;background:#fffcf7}.plan-card h3{font-size:24px;margin:13px 0 6px}.plan-card p{color:var(--muted);line-height:1.5}.plan-card ul{padding-left:18px;margin:0;color:#475467;display:grid;gap:8px;font-size:13px}.plan-card form{display:grid;gap:12px;margin-top:auto}.plan-prices{display:grid;gap:4px}.plan-prices strong{font-size:25px}.plan-prices strong small{font-size:12px;color:var(--muted);margin-left:3px}.plan-prices span{font-size:13px;color:var(--muted)}.admin-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.no-margin{margin:0}.subscription-invoice{padding:clamp(22px,4vw,42px)}.payment-instructions{padding:13px;border:1px solid var(--border);border-radius:13px;margin-bottom:12px}.payment-instructions strong,.payment-instructions span,.payment-instructions small{display:block}.payment-instructions span,.payment-instructions small,.payment-instructions p{color:var(--muted);margin-top:4px}.warning-panel{border-color:#fedf89;background:#fffdf5}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.check-stack{display:grid;gap:12px;align-content:center}.status-pill.rejected{background:#fef3f2;color:#b42318}.status-pill.overdue{background:#fff6ed;color:#b54708}.status-pill.cancelled,.status-pill.expired{background:#f2f4f7;color:#667085}
@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.subscription-banner,.subscription-hero{align-items:flex-start;flex-direction:column}.subscription-date{text-align:left}.plan-grid,.admin-plan-grid,.usage-grid{grid-template-columns:1fr}.usage-card>div:first-child{flex-direction:column;gap:3px}}

/* Phase 1.8 — reports, backups and platform operations */
.report-filter{display:grid;grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) auto;gap:10px;align-items:end;min-width:min(100%,480px)}
.report-filter label{font-size:12px}.report-filter .date-shell{display:flex;width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff;margin-top:6px}.report-filter input{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;box-shadow:none}
.report-bars{display:grid;gap:15px}.report-bar-row{display:grid;grid-template-columns:minmax(105px,150px) minmax(120px,1fr) minmax(115px,auto);gap:14px;align-items:center}.report-bar-row strong,.report-bar-row small{display:block}.report-bar-row small{color:var(--muted);margin-top:3px;font-size:11px}.report-bar-track{height:10px;border-radius:999px;background:#eef1f4;overflow:hidden}.report-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--dark)}
.report-list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-top:1px solid var(--border)}.report-list-row:first-child{border-top:0}.report-list-row strong,.report-list-row small{display:block}.report-list-row small{color:var(--muted);margin-top:4px;max-width:620px}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.export-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:#fff;display:grid;gap:5px}.export-card:hover{border-color:#98a2b3;background:#fafafa}.export-card span{color:var(--muted);font-size:12px}
.ops-status{text-transform:capitalize}.ops-status.healthy{color:#067647}.ops-status.warning{color:#b54708}.ops-status.critical{color:#b42318}.ops-alert-list{display:grid;gap:12px}.ops-alert{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border:1px solid var(--border);border-left-width:5px;border-radius:14px;padding:16px;background:#fff}.ops-alert.critical{border-left-color:#b42318}.ops-alert.warning{border-left-color:#b54708}.ops-alert.info{border-left-color:#175cd3}.ops-alert h3{margin:8px 0 5px}.ops-alert p{margin:0 0 7px;color:var(--muted)}.ops-alert small{color:var(--muted)}.checksum{display:block;max-width:260px;overflow-wrap:anywhere}.btn-danger{background:#fff;color:#b42318;border:1px solid #fecdca}.btn-danger:hover{background:#fef3f2}
@media(max-width:900px){.report-filter{width:100%}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-bar-row{grid-template-columns:115px 1fr}.report-bar-row>strong{grid-column:2;text-align:right}}
@media(max-width:620px){.report-filter{grid-template-columns:1fr 1fr}.report-filter .btn{grid-column:1/-1}.export-grid{grid-template-columns:1fr}.report-bar-row{grid-template-columns:1fr}.report-bar-row>strong{grid-column:auto;text-align:left}.ops-alert{flex-direction:column}}

/* Phase 1.9 — Gallery Experience & Media Performance */
.resumable-uploader{display:grid;gap:14px}.upload-queue{display:grid;gap:9px}.upload-queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:11px 13px;background:#fff}.upload-queue-row strong,.upload-queue-row small{display:block}.upload-queue-row small{color:var(--muted);margin-top:3px}.upload-queue-row b{font-size:12px}.upload-queue-row.error{border-color:#fda29b;background:#fff7f6}.upload-queue-row.done{border-color:#abefc6;background:#f6fef9}.upload-progress{height:8px;border-radius:999px;background:#eef2f6;overflow:hidden;margin-top:8px}.upload-progress span{display:block;height:100%;background:var(--dark);border-radius:inherit;transition:width .2s ease}.upload-queue-row.error .upload-progress span{background:var(--red)}.upload-queue-row.done .upload-progress span{background:#17b26a}.upload-session-list{display:grid;gap:8px;margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.upload-session-list>div{display:flex;justify-content:space-between;gap:15px}.upload-session-list span,.upload-session-list small{display:block}.upload-session-list small{color:var(--muted);text-align:right}.save-indicator{font-size:12px;color:var(--muted)}.sortable-photo-grid .admin-photo{position:relative;transition:opacity .15s ease,transform .15s ease}.sortable-photo-grid .admin-photo.dragging{opacity:.48;transform:scale(.98)}.photo-drag-handle{position:absolute;z-index:3;top:8px;left:8px;width:36px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.92);border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.14);cursor:grab;font-weight:900;letter-spacing:-4px}.cover-badge,.processing-badge{position:absolute;z-index:2;top:9px;right:9px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;background:rgba(17,24,39,.88);color:#fff}.processing-badge{top:43px}.processing-badge.failed{background:#b42318}.processing-badge.queued,.processing-badge.processing{background:#b54708}.inline-error{margin-top:14px;color:#b42318;font-size:12px}.photo-mobile-order{display:none;gap:8px;margin-top:10px}.photo-mobile-order button{font-size:12px}
.gallery-hero{position:relative;isolation:isolate;background:linear-gradient(145deg,var(--gallery-primary),#111);overflow:hidden}.gallery-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--cover-image);background-size:cover;background-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(1.01)}.gallery-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72))}.gallery-hero.cover-full{min-height:88vh}.gallery-hero.cover-editorial{min-height:62vh}.gallery-hero.cover-minimal{min-height:auto;padding-top:70px;background:var(--gallery-bg);color:var(--gallery-text)}.gallery-hero.cover-minimal::before{display:none}.gallery-hero.cover-minimal::after{display:none}.gallery-hero.cover-minimal h1{font-size:clamp(44px,8vw,92px)}.gallery-toolbar-button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;font-size:13px;cursor:pointer;padding:0}.photo-open-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-open-button img{display:block;width:100%;height:auto}.client-photo-grid.layout-grid{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.client-photo-grid.layout-grid .client-photo{margin:0}.client-photo-grid.layout-grid .photo-open-button img{aspect-ratio:4/3;object-fit:cover}.client-photo-grid.layout-portrait{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.client-photo-grid.layout-portrait .client-photo{margin:0}.client-photo-grid.layout-portrait .photo-open-button img{aspect-ratio:3/4;object-fit:cover}.client-photo-grid.layout-story{columns:auto;display:grid;grid-template-columns:minmax(0,1100px);justify-content:center;gap:24px;padding:clamp(12px,4vw,46px)}.client-photo-grid.layout-story .client-photo{margin:0}.client-photo-grid.layout-story .photo-open-button img{max-height:88vh;object-fit:contain;background:#111}.download-section{scroll-margin-top:75px}.download-unlock-form{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto}.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92)}.lightbox-stage{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;grid-template-rows:minmax(0,1fr) auto;align-items:center}.lightbox-stage figure{grid-column:2;grid-row:1;margin:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:18px 0}.lightbox-stage figure img{max-width:100%;max-height:calc(100vh - 100px);object-fit:contain}.lightbox-stage figcaption{color:#fff;opacity:.76;font-size:13px;padding:12px 16px;text-align:center}.lightbox-close,.lightbox-nav,.lightbox-controls button{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.lightbox-close{position:absolute;top:16px;right:16px;z-index:4;width:44px;height:44px;border-radius:999px;font-size:28px}.lightbox-nav{width:48px;height:70px;border-radius:999px;font-size:42px;justify-self:center}.lightbox-nav.previous{grid-column:1;grid-row:1}.lightbox-nav.next{grid-column:3;grid-row:1}.lightbox-controls{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;align-items:center;gap:14px;color:#fff;padding:10px 18px 18px}.lightbox-controls button{border-radius:999px;padding:9px 18px;font-weight:700}.lightbox-open{overflow:hidden}
@media(max-width:900px){.client-photo-grid.layout-grid,.client-photo-grid.layout-portrait{grid-template-columns:repeat(2,minmax(0,1fr))}.download-unlock-form{grid-template-columns:1fr 1fr}.download-unlock-form button{grid-column:1/-1}.photo-mobile-order{display:flex}}
@media(max-width:650px){.upload-box{grid-template-columns:1fr}.upload-box .btn{width:100%}.upload-session-list>div{display:block}.upload-session-list small{text-align:left;margin-top:3px}.client-photo-grid{columns:2 160px}.client-photo-grid.layout-grid,.client-photo-grid.layout-portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px}.client-photo-grid.layout-story{padding:8px;gap:12px}.gallery-hero.cover-full{min-height:72vh}.gallery-hero.cover-editorial{min-height:54vh}.gallery-toolbar{gap:15px;overflow-x:auto}.gallery-toolbar>*{white-space:nowrap}.gallery-powered{display:none}.download-unlock-form{grid-template-columns:1fr}.download-unlock-form button{grid-column:auto}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px}.lightbox-nav{width:38px;height:58px;font-size:32px}.lightbox-stage figure{padding:8px 0}.lightbox-stage figure img{max-height:calc(100vh - 86px)}.client-photo-actions{top:6px;right:6px}.favourite-button,.download-button{min-width:38px;height:38px;padding:0 10px}.photo-comment{padding:10px}}
.gallery-toolbar-button[aria-pressed="true"]{color:var(--gallery-accent)}.low-data-mode .client-photo>button img{filter:none}.low-data-mode .gallery-toolbar{border-bottom-color:var(--gallery-accent)}

.gallery-compact-header{padding:clamp(2rem,6vw,5rem) clamp(1rem,5vw,5rem) 1.5rem;text-align:center;background:var(--gallery-surface,#fff);color:var(--gallery-text,#171717)}.gallery-compact-header h1{margin:.35rem 0 .65rem;font-size:clamp(2rem,6vw,4.5rem);line-height:1.05}.gallery-compact-header p{max-width:46rem;margin:.5rem auto 1rem}.gallery-compact-header .gallery-meta{justify-content:center}

/* Phase 2.0 — Gallery UI/UX Polish */
html,body{max-width:100%;overflow-x:hidden}
body.app-body{background:var(--bg)}
img,svg,video,canvas{max-width:100%}
button,input,select,textarea{min-width:0}
.app-shell{grid-template-columns:250px minmax(0,1fr);width:100%;max-width:100%;overflow:clip}
.main{width:100%;max-width:100%;min-width:0}
.page{width:100%;max-width:1440px;min-width:0;padding:clamp(20px,2.4vw,34px)}
.page>*{max-width:100%;min-width:0}
.panel,.metric,.dashboard-grid>*,.gallery-summary>*,.upload-queue-row>*,.admin-photo,.form-grid>*,.settings-card{min-width:0}
.sidebar{scrollbar-width:thin;scrollbar-color:#344055 transparent;overscroll-behavior:contain}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:#344055;border-radius:999px}
.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.sidebar-close{display:none;width:36px;height:36px;border:1px solid #344055;border-radius:11px;background:#1d2939;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.topbar-left{display:flex;align-items:center;gap:13px;min-width:0}
.topbar-title{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-button{align-items:center;gap:7px;font-weight:700}
.menu-button span:first-child{font-size:18px;line-height:1}
.sidebar-overlay{display:none;position:fixed;inset:0;z-index:25;border:0;background:rgba(15,23,42,.5);backdrop-filter:blur(2px)}
.btn{max-width:100%;white-space:nowrap}
.button-row form{margin:0}
.page-head>.button-row,.gallery-head-actions{margin-top:0}
.gallery-workspace-head{align-items:center}
.gallery-workspace-head>div:first-child{min-width:0}
.gallery-workspace-head h1{overflow-wrap:anywhere}
.workspace-tabs{max-width:100%;scrollbar-width:none}
.workspace-tabs::-webkit-scrollbar{display:none}
.share-strip{min-width:0;overflow:hidden;padding:18px 20px}
.share-strip-copy{flex:1;min-width:0}
.share-strip-copy strong{display:block}
.share-url{display:block;margin-top:5px;color:var(--muted);font-family:inherit;font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.share-strip>.button-row{margin-top:0;flex-shrink:0}
.metric-grid.compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-grid.gallery-summary{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}
.upload-panel,.delivery-panel{height:100%}
.upload-box{grid-template-columns:minmax(0,1fr) auto;min-width:0;background:#fbfcfd}
.upload-box>*{min-width:0}
.upload-box label span,.upload-queue-row strong,.upload-queue-row small,.upload-session-list span,.upload-session-list small{overflow-wrap:anywhere;word-break:break-word}
.upload-queue-row{min-width:0}
.admin-photo-grid.enhanced{grid-template-columns:repeat(3,minmax(230px,1fr))}
.admin-photo>div{min-width:0}
.image-settings{min-width:0}
.image-settings input{min-width:0}
.detail-list>div{gap:18px}
.detail-list strong{text-align:right;overflow-wrap:anywhere}

.gallery-settings-heading{align-items:flex-end}
.gallery-settings-heading>div{max-width:780px}
.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;color:var(--muted);font-size:13px;font-weight:700}
.back-link:hover{color:var(--text)}
.gallery-settings-form{display:block}
.gallery-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.gallery-settings-main{display:grid;gap:18px;min-width:0}
.settings-card{scroll-margin-top:92px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:clamp(20px,2.4vw,28px)}
.settings-card-head{display:flex;align-items:flex-start;gap:15px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border)}
.settings-card-head>div{min-width:0}
.settings-card-head h2{margin:0 0 6px;font-size:21px;letter-spacing:-.025em}
.settings-card-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.settings-step{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#f3f5f8;color:#475467;font-size:11px;font-weight:850;letter-spacing:.06em}
.settings-fields{gap:18px}
.settings-fields label{min-width:0}
.settings-fields label>small,.option-card small,.range-field small{font-weight:450;color:var(--muted);line-height:1.45}
.settings-fields textarea{min-height:120px}
.option-card-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
.option-card-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-card{margin:0;padding:15px 16px;border:1px solid var(--border);border-radius:15px;background:#fbfcfd;align-items:flex-start;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.option-card:hover{border-color:#c4cbd4;background:#fff}
.option-card:has(.form-check-input:checked){border-color:#98a2b3;background:#fff;box-shadow:0 0 0 3px rgba(17,24,39,.04)}
.option-card .form-check-input{flex:0 0 auto;margin-top:1px}
.option-card .form-check-label{display:grid;gap:4px;min-width:0;font-weight:650}
.option-card .form-check-label strong{font-size:14px}
.option-card .form-check-label small{font-size:12px}
.range-control{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:12px;align-items:center}
.range-control input[type=range]{padding:0;border:0;box-shadow:none;background:transparent;accent-color:var(--dark)}
.range-control output{display:grid;place-items:center;min-height:36px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:#475467;font-size:12px;font-weight:750}
.gallery-settings-aside{position:sticky;top:92px;min-width:0}
.settings-summary-card{display:grid;gap:14px;background:#111827;color:#fff;border-radius:20px;padding:22px;box-shadow:0 16px 38px rgba(17,24,39,.14)}
.settings-summary-card .eyebrow{color:#d6a879}
.settings-summary-card h2{margin:0;font-size:21px;line-height:1.2;overflow-wrap:anywhere}
.settings-summary-card>p{margin:0;color:#aeb8c8;font-size:13px;line-height:1.55}
.settings-jump-list{display:grid;border-top:1px solid #2c3749;border-bottom:1px solid #2c3749;padding:8px 0}
.settings-jump-list a{display:flex;align-items:center;gap:11px;padding:9px 0;color:#dce2ea;font-size:13px}
.settings-jump-list a:hover{color:#fff}
.settings-jump-list span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#253044;color:#cbd5e1;font-size:9px;font-weight:850}
.settings-tip{padding:13px;border:1px solid #344055;border-radius:13px;background:#172033}
.settings-tip strong{font-size:12px}
.settings-tip p{margin:4px 0 0;color:#aeb8c8;font-size:12px;line-height:1.5}
.settings-summary-card .btn-light{background:transparent;border-color:#344055;color:#fff}
.settings-summary-card .btn-light:hover{background:#1d2939}
.settings-mobile-actions{display:none}

@media(max-width:1220px){
  .dashboard-grid.gallery-summary{grid-template-columns:1fr}
  .admin-photo-grid.enhanced{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .gallery-settings-layout{grid-template-columns:minmax(0,1fr) 275px}
}

@media(max-width:1040px){
  .metric-grid.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-settings-layout{grid-template-columns:1fr}
  .gallery-settings-aside{display:none}
  .settings-mobile-actions{position:sticky;bottom:10px;z-index:8;display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 14px 40px rgba(17,24,39,.16);backdrop-filter:blur(14px)}
}

@media(max-width:980px){
  .app-shell{grid-template-columns:minmax(0,1fr)}
  .sidebar{left:-280px;width:270px;box-shadow:20px 0 45px rgba(15,23,42,.2)}
  .sidebar.open{left:0}
  .sidebar-close{display:grid;place-items:center}
  .sidebar-overlay.open{display:block}
  .menu-button{display:inline-flex}
  body.menu-open{overflow:hidden}
  .topbar{padding-left:18px;padding-right:18px}
  .page{padding:22px}
  .gallery-workspace-head{align-items:flex-start}
}

@media(max-width:720px){
  .page{padding:18px 14px 88px}
  .topbar{height:64px}
  .topbar-title{font-size:14px}
  .signout-button{font-size:13px}
  .gallery-settings-heading{align-items:flex-start}
  .gallery-settings-heading>.status-pill{align-self:flex-start}
  .settings-card{padding:18px 16px;border-radius:17px}
  .settings-card-head{gap:12px;margin-bottom:18px;padding-bottom:17px}
  .settings-step{flex-basis:34px;height:34px}
  .settings-card-head h2{font-size:19px}
  .option-card-grid.two-column{grid-template-columns:1fr}
  .gallery-workspace-head .gallery-head-actions{width:100%}
  .gallery-workspace-head .gallery-head-actions .btn,.gallery-workspace-head .gallery-head-actions form{flex:1}
  .gallery-workspace-head .gallery-head-actions form .btn{width:100%}
  .share-strip>.button-row{width:100%}
  .share-strip>.button-row .btn{flex:1}
  .admin-photo-grid.enhanced{grid-template-columns:1fr}
  .panel-head{flex-direction:column;gap:10px}
  .panel-head .status-pill,.panel-head .save-indicator{align-self:flex-start}
}

@media(max-width:520px){
  .metric-grid.compact-metrics{grid-template-columns:1fr 1fr}
  .metric{padding:16px}
  .metric strong{font-size:24px}
  .settings-mobile-actions{left:0;right:0;bottom:8px}
  .settings-mobile-actions .btn{flex:1;padding:12px 10px}
  .gallery-head-actions{display:grid;grid-template-columns:1fr;width:100%}
  .gallery-head-actions .btn,.gallery-head-actions form,.gallery-head-actions form .btn{width:100%}
  .share-strip>.button-row{display:grid;grid-template-columns:1fr;width:100%}
  .share-strip>.button-row .btn{width:100%}
  .range-control{grid-template-columns:minmax(0,1fr) 50px}
}

/* Phase 2.0.1 — Fixed navigation, scrollable viewer and mobile smoothness */
html{scroll-behavior:smooth}
body.app-body{overflow-x:hidden}
.app-shell{display:block;min-height:100dvh;overflow:visible}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:250px;height:100dvh;overflow:hidden}
.sidebar-top,.sidebar-foot{flex:0 0 auto}
.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:6px;margin-right:-6px;scrollbar-width:thin;scrollbar-color:#344055 transparent}
.side-nav::-webkit-scrollbar{width:6px}
.side-nav::-webkit-scrollbar-track{background:transparent}
.side-nav::-webkit-scrollbar-thumb{background:#344055;border-radius:999px}
.sidebar-foot{margin-top:12px}
.main{margin-left:250px;min-height:100dvh}
.topbar{width:100%}

/* Viewer: the page stays locked while the image surface itself can scroll. */
.gallery-lightbox{height:100dvh;max-height:100dvh;overflow:hidden}
.lightbox-stage{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}
.lightbox-stage figure{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}
.lightbox-stage figure::-webkit-scrollbar{width:7px;height:7px}
.lightbox-stage figure::-webkit-scrollbar-track{background:transparent}
.lightbox-stage figure::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}
.lightbox-stage figure img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 105px);margin:auto;user-select:none;-webkit-user-drag:none}
.lightbox-stage.scroll-image figure{display:block;padding:64px 14px 112px;text-align:center}
.lightbox-stage.scroll-image figure img{width:auto;height:auto;max-width:100%;max-height:none;margin:0 auto}
.lightbox-stage.scroll-image figcaption{position:relative;display:block}
.lightbox-controls{position:relative;z-index:3;background:linear-gradient(180deg,transparent,rgba(0,0,0,.52));padding-bottom:max(18px,env(safe-area-inset-bottom))}
.lightbox-controls button{min-height:40px}
.lightbox-view-toggle[aria-pressed="true"]{background:#fff;color:#111827}
.lightbox-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
body.lightbox-open{overflow:hidden;touch-action:none}
body.lightbox-open .gallery-lightbox{touch-action:auto}

/* Global responsive safeguards across the photographer workspace. */
.table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.panel,.metric,.auth-card,.settings-card{overflow-wrap:anywhere}
.form-grid>*,.dashboard-grid>*,.branding-layout>*,.metric-grid>*{min-width:0}
input,select,textarea{max-width:100%}
.button-row{max-width:100%}

@media(max-width:980px){
  .main{margin-left:0}
  .sidebar{position:fixed;inset:0 auto 0 -280px;width:270px;height:100dvh;transition:left .22s ease;will-change:left}
  .sidebar.open{left:0}
  .sidebar-overlay{z-index:35}
}

@media(max-width:720px){
  html{scroll-padding-top:74px}
  body{min-width:0}
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));height:62px}
  .page{padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right));padding-bottom:max(92px,calc(76px + env(safe-area-inset-bottom)))}
  .welcome,.page-head{flex-direction:column;align-items:stretch;gap:16px}
  .welcome h1,.page-head h1{font-size:clamp(27px,8vw,34px);line-height:1.08;margin-top:4px}
  .page-head>.button-row,.welcome>.button-row{width:100%;margin-top:0}
  .page-head>.button-row .btn,.welcome>.button-row .btn{flex:1 1 150px}
  .dashboard-grid,.branding-layout{grid-template-columns:1fr}
  .form-grid,.colour-grid{grid-template-columns:1fr}
  .form-grid .span-2{grid-column:auto}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .panel,.metric,.auth-card{border-radius:16px}
  .panel{padding:18px 16px}
  .panel-head{align-items:stretch}
  input,select,textarea{font-size:16px;min-height:46px}
  textarea{min-height:110px}
  .btn,button{touch-action:manipulation}
  .btn{min-height:44px;padding:11px 15px}
  .table-wrap{margin-inline:-13px;padding-inline:13px;scroll-padding-inline:13px}
  table{min-width:640px}
  .toast{position:relative;z-index:2}
  .workspace-tabs,.gallery-toolbar{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .workspace-tabs>* ,.gallery-toolbar>*{scroll-snap-align:start}
  .lightbox-stage{grid-template-columns:46px minmax(0,1fr) 46px}
  .lightbox-stage figure{padding-top:max(58px,env(safe-area-inset-top))}
  .lightbox-stage figure img{max-height:calc(100dvh - 122px)}
  .lightbox-stage.scroll-image figure{padding:62px 6px 124px}
  .lightbox-stage.scroll-image figure img{width:100%;max-width:100%;height:auto}
  .lightbox-nav{width:38px;height:58px;font-size:31px}
  .lightbox-controls{gap:8px;padding-left:8px;padding-right:8px;flex-wrap:wrap}
  .lightbox-controls button{padding:8px 13px}
}

@media(max-width:520px){
  .metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .metric{padding:15px}
  .metric strong{font-size:22px}
  .button-row{display:grid;grid-template-columns:1fr;width:100%}
  .button-row>.btn,.button-row>a.btn,.button-row>form,.button-row>form .btn{width:100%}
  .gallery-head-actions{display:grid}
  .topbar-title{max-width:48vw}
  .signout-button{padding:10px 0;min-height:44px}
  .lightbox-stage{grid-template-columns:42px minmax(0,1fr) 42px}
  .lightbox-nav{width:35px;height:54px;font-size:28px}
  .lightbox-close{width:42px;height:42px;font-size:25px}
  .lightbox-controls{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Phase 2.0.2 — fixed-sidebar workspace width correction */
/*
 * Phase 2.0.1 fixed the sidebar, but the earlier .main width:100% rule was
 * still active. Combined with margin-left:250px, the workspace became 250px
 * wider than the viewport and its right side was clipped by overflow guards.
 */
@media (min-width:981px){
  .main{
    margin-left:250px;
    width:calc(100% - 250px);
    max-width:calc(100% - 250px);
    min-width:0;
  }
}

/* Keep complex builder and split-panel screens inside the corrected workspace. */
.website-admin-grid,
.gallery-settings-layout,
.dashboard-grid,
.branding-layout{
  width:100%;
  max-width:100%;
  min-width:0;
}
.website-admin-grid{
  grid-template-columns:minmax(0,1fr) minmax(270px,320px);
}
.website-admin-grid>*,
.website-side-stack,
.website-side-stack>*,
.template-choice-grid>*,
.section-order-grid>*{
  min-width:0;
  max-width:100%;
}
.website-side-stack{
  width:100%;
}

@media (max-width:1180px) and (min-width:981px){
  .website-admin-grid{
    grid-template-columns:minmax(0,1fr) minmax(250px,290px);
  }
}

@media (max-width:980px){
  .main{
    margin-left:0;
    width:100%;
    max-width:100%;
  }
  .website-admin-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* ================================================================
   INTEK GALLERIES 2.1A — PREMIUM WEBSITES & GALLERY THEMES
   ================================================================ */

/* Website studio */
.website-studio-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:22px;align-items:start;min-width:0}.website-editor-panel,.website-live-preview{min-width:0}.website-live-preview{position:sticky;top:22px;display:grid;gap:14px}.website-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:16px}.website-preview-toolbar>div:first-child{display:grid;gap:3px}.preview-device-buttons{display:flex;gap:6px;padding:4px;background:#eef1f5;border-radius:12px}.preview-device-buttons button{border:0;background:transparent;border-radius:9px;padding:8px 10px;font:inherit;font-size:12px;font-weight:750;color:#667085;cursor:pointer}.preview-device-buttons button.active{background:#fff;color:#101828;box-shadow:0 1px 4px rgba(16,24,40,.12)}.website-preview-frame-shell{height:720px;display:flex;justify-content:center;align-items:flex-start;padding:10px;background:#dfe3e8;border-radius:18px;overflow:hidden;transition:.25s ease}.website-preview-frame-shell iframe{width:100%;height:100%;border:0;background:#fff;border-radius:10px;box-shadow:0 12px 35px rgba(16,24,40,.16);transition:.25s ease}.website-preview-frame-shell.device-tablet iframe{width:768px;max-width:100%}.website-preview-frame-shell.device-mobile iframe{width:390px;max-width:100%}.website-preview-help{padding:18px;background:#fff;border:1px solid var(--border);border-radius:16px}.website-preview-help>p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}.website-editor-actions{position:sticky;bottom:10px;z-index:4;display:flex;gap:10px;padding:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px rgba(16,24,40,.12)}
.premium-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.premium-template-card{position:relative;display:grid;gap:6px;padding:10px;border:1px solid var(--border);border-radius:16px;background:#fff;cursor:pointer;overflow:hidden}.premium-template-card>input{position:absolute;top:12px;right:12px;z-index:2}.premium-template-card:has(input:checked){border-color:#101828;box-shadow:0 0 0 2px #101828}.premium-template-card>strong{font-size:14px}.premium-template-card>span:not(.premium-template-preview){font-size:12px;color:#475467}.premium-template-card>small{font-size:10px;color:#98a2b3}.premium-template-preview{height:94px;border-radius:11px;overflow:hidden;display:grid;grid-template-columns:44% 56%;grid-template-rows:25% 75%;border:1px solid rgba(16,24,40,.08);background:#f5f1ea}.premium-template-preview::before{content:"";grid-column:1/-1;background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}.premium-template-preview i{grid-column:1;grid-row:2;background:#fff}.premium-template-preview b{grid-column:2;grid-row:2;background:#c8b7a2}.premium-template-preview em{display:none}.preview-editorial{grid-template-columns:56% 44%;background:#f6f0e7}.preview-editorial i{background:#f6f0e7}.preview-editorial b{background:#1b1b1b}.preview-luxe{background:#111}.preview-luxe::before{background:#111;border-color:#292929}.preview-luxe i{background:#161616}.preview-luxe b{background:#b6936a}.preview-bold{background:#f8c900}.preview-bold::before{background:#111}.preview-bold i{background:#f8c900}.preview-bold b{background:#111}.preview-storybook{background:#f4e8dc;grid-template-columns:62% 38%}.preview-storybook::before{background:#f4e8dc}.preview-storybook i{background:#d7bca6}.preview-storybook b{background:#fff8f0}.preview-studio{background:#edf1f3;grid-template-columns:38% 62%}.preview-studio::before{background:#fff}.preview-studio i{background:#111}.preview-studio b{background:#d8e0e5}

/* Public photographer site foundation */
.photographer-site{margin:0;background:var(--site-bg);color:var(--site-text);font-family:var(--site-body-font),Inter,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.photographer-site *{box-sizing:border-box}.photographer-site img{max-width:100%}.photographer-site a{color:inherit}.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:30px;padding:20px clamp(20px,5vw,76px);background:color-mix(in srgb,var(--site-bg) 90%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--site-text) 10%,transparent)}.site-logo{font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(17px,2vw,24px);font-weight:800;letter-spacing:-.03em;text-decoration:none}.site-nav{justify-self:end;display:flex;align-items:center;gap:clamp(15px,2.5vw,34px)}.site-nav a{font-size:12px;font-weight:750;text-decoration:none;letter-spacing:.04em}.site-client-link{padding:10px 15px;border:1px solid currentColor;border-radius:999px}.site-menu-button{display:none}.site-hero{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:min(830px,84vh);padding:clamp(28px,5vw,76px);gap:clamp(30px,5vw,80px);align-items:center}.site-hero-copy{position:relative;z-index:2;max-width:720px}.site-kicker,.site-section-label,.site-section-head>span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:850;color:var(--site-accent);margin-bottom:18px}.site-hero h1{font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(54px,7.8vw,124px);line-height:.88;letter-spacing:-.065em;margin:0 0 24px;text-wrap:balance}.site-hero-copy>p{max-width:600px;font-size:clamp(16px,1.8vw,21px);line-height:1.65;opacity:.72;margin:0 0 30px}.site-actions{display:flex;flex-wrap:wrap;gap:10px}.site-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid color-mix(in srgb,var(--site-text) 22%,transparent);text-decoration:none;font-weight:800;font-size:13px;cursor:pointer}.buttons-rounded .site-btn{border-radius:calc(var(--site-radius) * .75)}.buttons-pill .site-btn{border-radius:999px}.buttons-square .site-btn{border-radius:0}.site-btn.primary{background:var(--site-primary);border-color:var(--site-primary);color:#fff}.site-btn.secondary{background:transparent}.site-hero-visual{position:relative;margin:0;height:min(690px,72vh);overflow:hidden;border-radius:calc(var(--site-radius) * 1.15);background:var(--site-surface)}.site-hero-visual img{width:100%;height:100%;object-fit:cover}.site-hero-visual figcaption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;gap:20px;align-items:end;padding:16px 18px;background:rgba(0,0,0,.58);backdrop-filter:blur(12px);color:#fff;border-radius:calc(var(--site-radius) * .7)}.site-hero-visual figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;opacity:.7}.site-hero-visual figcaption strong{font-size:14px}.site-image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,var(--site-surface),color-mix(in srgb,var(--site-primary) 14%,var(--site-surface)));color:color-mix(in srgb,var(--site-text) 50%,transparent);font-size:12px;font-weight:750}.site-section{padding-block:clamp(72px,10vw,150px);padding-inline:clamp(20px,6vw,100px);scroll-margin-top:90px}.spacing-compact .site-section{padding-block:clamp(50px,6vw,82px)}.spacing-balanced .site-section{padding-block:clamp(64px,8vw,112px)}.site-section-head{max-width:1250px;margin:0 auto clamp(32px,5vw,70px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px}.site-section-head>span{grid-column:1/-1;margin-bottom:0}.site-section-head h2,.site-about h2,.site-contact h2{font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(44px,6vw,94px);line-height:.95;letter-spacing:-.055em;margin:0;text-wrap:balance}.site-section-head>p{margin:0;max-width:360px;opacity:.65}.site-gallery-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2vw,28px)}.site-gallery-card{grid-column:span 4}.site-gallery-card:nth-child(6n+1),.site-gallery-card:nth-child(6n+5){grid-column:span 7}.site-gallery-card:nth-child(6n+2),.site-gallery-card:nth-child(6n+6){grid-column:span 5}.site-gallery-card a{text-decoration:none;display:block}.site-gallery-image{aspect-ratio:4/5;overflow:hidden;border-radius:var(--site-radius);background:var(--site-surface)}.site-gallery-card:nth-child(6n+1) .site-gallery-image,.site-gallery-card:nth-child(6n+5) .site-gallery-image{aspect-ratio:16/10}.site-gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.site-gallery-card:hover img{transform:scale(1.025)}.site-gallery-copy{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 2px}.site-gallery-copy>span{font-size:10px;opacity:.48}.site-gallery-copy h3{margin:0;font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(18px,2vw,28px);line-height:1.05}.site-gallery-copy small{display:block;margin-top:5px;opacity:.55}.site-gallery-copy>b{font-size:18px}.portfolio-grid .site-gallery-card,.portfolio-grid .site-gallery-card:nth-child(n){grid-column:span 4}.portfolio-grid .site-gallery-image,.portfolio-grid .site-gallery-card:nth-child(n) .site-gallery-image{aspect-ratio:4/5}.portfolio-stories .site-gallery-grid{display:grid;grid-template-columns:1fr}.portfolio-stories .site-gallery-card,.portfolio-stories .site-gallery-card:nth-child(n){grid-column:auto}.portfolio-stories .site-gallery-card a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:center;gap:30px}.portfolio-stories .site-gallery-image,.portfolio-stories .site-gallery-card:nth-child(n) .site-gallery-image{aspect-ratio:16/9}.portfolio-stories .site-gallery-copy{padding:30px;grid-template-columns:auto 1fr auto}.portfolio-masonry .site-gallery-grid{columns:3 280px;display:block}.portfolio-masonry .site-gallery-card,.portfolio-masonry .site-gallery-card:nth-child(n){break-inside:avoid;margin-bottom:22px}.portfolio-masonry .site-gallery-image,.portfolio-masonry .site-gallery-card:nth-child(n) .site-gallery-image{aspect-ratio:auto}.portfolio-masonry .site-gallery-image img{height:auto;min-height:280px}.site-about{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(40px,8vw,130px);align-items:center}.site-about-visual{height:min(700px,75vh);overflow:hidden;border-radius:var(--site-radius);background:var(--site-surface)}.site-about-visual img{width:100%;height:100%;object-fit:cover}.site-about-copy{max-width:620px}.site-richtext,.site-about-copy>p{font-size:clamp(16px,1.7vw,21px);line-height:1.85;opacity:.75}.site-services{background:var(--site-surface)}.site-service-grid{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-service-card{display:flex;flex-direction:column;min-height:430px;padding:28px;border:1px solid color-mix(in srgb,var(--site-text) 12%,transparent);border-radius:var(--site-radius);background:var(--site-bg)}.site-service-number{font-size:10px;opacity:.45}.site-service-card h3{font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(25px,2.6vw,38px);line-height:1.05;margin:34px 0 14px}.site-service-card p{opacity:.66}.site-service-card>strong{font-size:18px;margin:10px 0}.site-service-card ul{padding-left:18px;opacity:.72}.site-service-card>a{margin-top:auto;text-decoration:none;font-weight:800}.site-testimonials{background:color-mix(in srgb,var(--site-primary) 7%,var(--site-bg))}.site-testimonial-grid{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-testimonial-grid blockquote{margin:0;padding:30px;border:1px solid color-mix(in srgb,var(--site-text) 12%,transparent);border-radius:var(--site-radius);background:var(--site-bg)}.site-testimonial-grid blockquote>p{font-family:var(--site-heading-font),Inter,sans-serif;font-size:clamp(20px,2vw,29px);line-height:1.35}.site-stars{color:var(--site-accent);letter-spacing:.12em;font-size:11px}.site-testimonial-grid footer{display:grid;margin-top:28px}.site-testimonial-grid footer span{opacity:.55;font-size:12px}.site-contact{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(40px,8vw,130px);align-items:start}.site-contact-intro>p{font-size:18px;line-height:1.75;opacity:.7}.site-contact-details{display:grid;gap:8px;margin:26px 0}.site-contact-details a{text-decoration:none}.site-whatsapp{display:inline-flex;gap:12px;font-weight:850;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.site-enquiry-form{padding:clamp(20px,4vw,42px);background:var(--site-surface);border-radius:var(--site-radius)}.site-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.site-form-grid label{display:grid;gap:7px;font-size:13px;font-weight:750}.site-form-grid label.wide{grid-column:1/-1}.site-form-grid input,.site-form-grid textarea{width:100%;border:1px solid color-mix(in srgb,var(--site-text) 17%,transparent);border-radius:calc(var(--site-radius) * .65);padding:13px 14px;background:var(--site-bg);color:var(--site-text);font:inherit}.site-form-grid .date-shell{display:flex;width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--site-text) 17%,transparent);border-radius:calc(var(--site-radius) * .65);padding:13px 14px;background:var(--site-bg)}.site-form-grid .date-shell input{border:0;padding:0;min-width:0;background:transparent}.site-enquiry-form>.site-btn{margin-top:18px}.site-footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:38px clamp(20px,6vw,100px);border-top:1px solid color-mix(in srgb,var(--site-text) 12%,transparent)}.site-footer>div:first-child{display:grid}.site-footer span,.site-footer small{opacity:.62}.site-socials{display:flex;flex-wrap:wrap;gap:16px}.site-socials a{text-decoration:none}.site-empty{grid-column:1/-1;padding:30px;border:1px dashed color-mix(in srgb,var(--site-text) 24%,transparent);border-radius:var(--site-radius);text-align:center}.website-honeypot{position:absolute!important;left:-10000px!important}.site-alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.site-alert.success{background:#dcfce7;color:#14532d}.site-alert.error{background:#fee2e2;color:#7f1d1d}

/* Website template personalities */
.template-minimal .site-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.template-minimal .site-hero h1{font-weight:650}.template-minimal .site-gallery-image{border-radius:2px}.template-minimal .site-service-card{background:transparent;border-width:0 0 1px;border-radius:0;padding-inline:0}.template-editorial .site-header{border-bottom:0}.template-editorial .site-logo,.template-editorial .site-hero h1,.template-editorial .site-section h2,.template-editorial .site-gallery-copy h3,.template-editorial .site-service-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}.template-editorial .site-hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.65fr)}.template-editorial .site-hero-visual{border-radius:0;height:min(760px,78vh)}.template-editorial .site-gallery-image{border-radius:0}.template-editorial .site-about-visual{border-radius:0}.template-luxe{--site-bg:#11100f!important;--site-surface:#1a1816!important;--site-text:#f6f0e7!important}.template-luxe .site-header{background:rgba(17,16,15,.88)}.template-luxe .site-logo,.template-luxe .site-hero h1,.template-luxe .site-section h2,.template-luxe .site-gallery-copy h3,.template-luxe .site-service-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}.template-luxe .site-btn.primary{background:var(--site-accent);border-color:var(--site-accent);color:#111}.template-luxe .site-hero-visual,.template-luxe .site-gallery-image{border-radius:2px}.template-luxe .site-testimonials{background:#090909}.template-bold .site-hero h1,.template-bold .site-section h2,.template-bold .site-gallery-copy h3,.template-bold .site-service-card h3{text-transform:uppercase;font-weight:950}.template-bold .site-header{border-bottom:3px solid var(--site-text)}.template-bold .site-btn,.template-bold .site-hero-visual,.template-bold .site-gallery-image,.template-bold .site-service-card,.template-bold .site-testimonial-grid blockquote,.template-bold .site-enquiry-form{border-radius:0}.template-bold .site-kicker,.template-bold .site-section-label,.template-bold .site-section-head>span{display:inline-block;width:max-content;padding:5px 9px;background:var(--site-accent);color:#111;letter-spacing:.08em}.template-bold .site-services{background:var(--site-accent);color:#111}.template-bold .site-service-card{border:2px solid #111;background:transparent}.template-storybook{--site-bg:#fbf5ef!important;--site-surface:#f1e4d8!important;--site-text:#3a2b23!important}.template-storybook .site-logo,.template-storybook .site-hero h1,.template-storybook .site-section h2,.template-storybook .site-gallery-copy h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}.template-storybook .site-hero{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.template-storybook .site-hero-visual{border-radius:42% 42% 5% 5%/22% 22% 5% 5%}.template-storybook .site-gallery-image{border-radius:48% 48% 4% 4%/16% 16% 4% 4%}.template-storybook .site-about{grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}.template-studio{--site-bg:#f4f7f8!important;--site-surface:#fff!important}.template-studio .site-header{background:#fff}.template-studio .site-hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr)}.template-studio .site-hero h1,.template-studio .site-section h2{font-weight:900;text-transform:uppercase}.template-studio .site-hero-visual,.template-studio .site-gallery-image,.template-studio .site-service-card,.template-studio .site-enquiry-form{border-radius:4px}.template-studio .site-services{background:#111;color:#fff}.template-studio .site-service-card{background:#181818;border-color:#333}.nav-centered .site-header{grid-template-columns:1fr;justify-items:center}.nav-centered .site-nav{justify-self:center}.nav-overlay .site-header{position:absolute;left:0;right:0;background:transparent;color:#fff;border-bottom-color:rgba(255,255,255,.2)}.nav-overlay .site-hero{padding-top:120px}.hero-immersive .site-hero{grid-template-columns:1fr;min-height:92vh;align-items:end}.hero-immersive .site-hero-copy{position:absolute;left:clamp(20px,6vw,100px);bottom:clamp(40px,8vw,110px);z-index:3;color:#fff;max-width:min(780px,85vw)}.hero-immersive .site-hero-visual{position:absolute;inset:0;height:auto;border-radius:0}.hero-immersive .site-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.hero-immersive .site-hero-visual figcaption{display:none}.hero-immersive .site-kicker{color:#fff}.hero-immersive .site-btn.secondary{border-color:rgba(255,255,255,.5);color:#fff}.hero-framed{padding:clamp(18px,3vw,44px)}.hero-framed .site-hero{margin:clamp(16px,3vw,48px);min-height:78vh;border:1px solid color-mix(in srgb,var(--site-text) 15%,transparent);border-radius:var(--site-radius);overflow:hidden}.hero-minimal .site-hero{grid-template-columns:1fr;min-height:auto;padding-block:clamp(90px,15vw,220px);text-align:center}.hero-minimal .site-hero-copy{margin:auto;max-width:1000px}.hero-minimal .site-hero-visual{display:none}.hero-minimal .site-actions{justify-content:center}

/* Gallery theme chooser */
.gallery-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 22px}.gallery-theme-card{position:relative;display:grid;gap:5px;padding:9px;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer}.gallery-theme-card>input{position:absolute;top:10px;right:10px;z-index:2}.gallery-theme-card:has(input:checked){border-color:#101828;box-shadow:0 0 0 2px #101828}.gallery-theme-card strong{font-size:12px}.gallery-theme-card small{font-size:10px;color:#667085}.gallery-theme-preview{height:66px;border-radius:9px;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:20px 1fr;background:#fff;border:1px solid rgba(0,0,0,.08)}.gallery-theme-preview::before{content:"";grid-column:1/-1;background:#f2f2f2}.gallery-theme-preview i{background:#ddd}.gallery-theme-preview b{background:#b8b8b8}.gallery-theme-preview em{display:none}.theme-preview-cinematic-dark{background:#111}.theme-preview-cinematic-dark::before{background:#1d1d1d}.theme-preview-cinematic-dark i{background:#343434}.theme-preview-cinematic-dark b{background:#777}.theme-preview-editorial-story{grid-template-columns:2fr 1fr;background:#f4eee7}.theme-preview-editorial-story::before{background:#f4eee7}.theme-preview-editorial-story i{background:#c8ae97}.theme-preview-editorial-story b{background:#efe4d9}.theme-preview-proofing{grid-template-columns:repeat(3,1fr);gap:2px;background:#e9edf2}.theme-preview-proofing::before{background:#fff}.theme-preview-proofing i,.theme-preview-proofing b{background:#aab4c0}.theme-preview-celebration{background:#fff4d2}.theme-preview-celebration::before{background:#f8bf3d}.theme-preview-celebration i{background:#e67e64}.theme-preview-celebration b{background:#6b4cad}

/* Premium public gallery themes */
.gallery-body{--gallery-gap:10px;--gallery-image-radius:0px}.client-photo-grid{column-gap:var(--gallery-gap);padding:var(--gallery-gap)}.client-photo{margin-bottom:var(--gallery-gap);border-radius:var(--gallery-image-radius)}.client-photo-grid.layout-grid,.client-photo-grid.layout-portrait{gap:var(--gallery-gap);padding:var(--gallery-gap)}.client-photo-grid.layout-story{gap:calc(var(--gallery-gap) * 2)}.gallery-hero.title-center .gallery-hero-inner,.gallery-compact-header.title-center{text-align:center;margin-inline:auto}.gallery-hero.title-center .gallery-meta,.gallery-compact-header.title-center .gallery-meta{justify-content:center}.gallery-hero.title-right .gallery-hero-inner,.gallery-compact-header.title-right{text-align:right;margin-left:auto}.gallery-hero.title-right .gallery-meta,.gallery-compact-header.title-right .gallery-meta{justify-content:flex-end}.gallery-compact-header{padding:clamp(50px,9vw,120px) clamp(20px,6vw,80px);max-width:1200px;margin:auto}.gallery-compact-header h1{font-size:clamp(48px,8vw,110px);line-height:.92;letter-spacing:-.06em;margin:18px 0}.gallery-compact-header p{max-width:760px;line-height:1.7;opacity:.68}.gallery-toolbar-floating .gallery-toolbar{top:12px;margin:12px auto;width:min(1100px,calc(100% - 24px));border:1px solid rgba(0,0,0,.1);border-radius:999px;box-shadow:0 12px 35px rgba(0,0,0,.08)}.gallery-toolbar-solid .gallery-toolbar{background:var(--gallery-surface);backdrop-filter:none}.gallery-toolbar-minimal .gallery-toolbar{background:transparent;backdrop-filter:none;border-bottom:0}.photo-number{position:absolute;left:10px;top:10px;z-index:2;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:10px;font-weight:850;letter-spacing:.06em}.photo-filename{margin:0;padding:10px 13px 0;font-size:10px;opacity:.58;word-break:break-all}.gallery-load-more{display:grid;place-items:center;gap:10px;padding:36px 20px 20px}.gallery-load-more .gallery-button{min-width:240px}.gallery-load-more [data-gallery-load-sentinel]{height:1px}.gallery-deferred-photo[hidden]{display:none!important}.gallery-theme-cinematic-dark{--gallery-bg:#0b0b0c!important;--gallery-surface:#151517!important;--gallery-text:#f5f2ed!important}.gallery-theme-cinematic-dark .gallery-hero::after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.85))}.gallery-theme-cinematic-dark .gallery-toolbar{border-color:rgba(255,255,255,.12)}.gallery-theme-cinematic-dark .client-photo{background:#151517}.gallery-theme-cinematic-dark .gallery-section,.gallery-theme-cinematic-dark .gallery-footer{border-color:rgba(255,255,255,.1)}.gallery-theme-editorial-story{--gallery-bg:#f3eee7!important;--gallery-surface:#fffaf4!important;--gallery-text:#2e2925!important}.gallery-theme-editorial-story .gallery-hero h1,.gallery-theme-editorial-story .gallery-section h2,.gallery-theme-editorial-story .gallery-compact-header h1{font-family:Georgia,'Times New Roman',serif;font-weight:400}.gallery-theme-editorial-story .gallery-hero.cover-editorial{min-height:76vh}.gallery-theme-editorial-story .client-photo{border-radius:0}.gallery-theme-editorial-story .client-photo-grid.layout-masonry .client-photo:nth-child(5n+1){margin-top:50px}.gallery-theme-proofing{--gallery-bg:#eef1f5!important;--gallery-surface:#fff!important;--gallery-text:#182230!important;--gallery-radius:10px!important}.gallery-theme-proofing .gallery-hero{min-height:38vh}.gallery-theme-proofing .gallery-hero h1{font-size:clamp(42px,7vw,80px)}.gallery-theme-proofing .client-photo-grid{columns:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.gallery-theme-proofing .client-photo{margin:0;border:1px solid rgba(0,0,0,.08)}.gallery-theme-proofing .photo-open-button img{aspect-ratio:1/1;object-fit:cover}.gallery-theme-proofing .favourite-button{background:#fff;border:1px solid rgba(0,0,0,.12)}.gallery-theme-celebration{--gallery-bg:#fff9ed!important;--gallery-surface:#fff!important;--gallery-text:#2f2630!important}.gallery-theme-celebration .gallery-hero::after{background:linear-gradient(135deg,rgba(91,41,121,.54),rgba(224,118,69,.45),rgba(0,0,0,.58))}.gallery-theme-celebration .gallery-studio{color:#f2a72c}.gallery-theme-celebration .gallery-toolbar a span,.gallery-theme-celebration .favourite-button.selected,.gallery-theme-celebration .gallery-button{background:#7d4aa8}.gallery-lightbox-soft .lightbox-backdrop{background:rgba(36,31,28,.88);backdrop-filter:blur(18px)}.gallery-lightbox-clean .lightbox-backdrop{background:rgba(255,255,255,.97)}.gallery-lightbox-clean .lightbox-stage figcaption,.gallery-lightbox-clean .lightbox-controls{color:#111}.gallery-lightbox-clean .lightbox-close,.gallery-lightbox-clean .lightbox-nav,.gallery-lightbox-clean .lightbox-controls button{background:rgba(0,0,0,.08);color:#111}

@media(max-width:1220px){.website-studio-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)}.premium-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.website-studio-shell{grid-template-columns:1fr}.website-live-preview{position:static}.website-preview-frame-shell{height:640px}.site-hero{grid-template-columns:1fr;min-height:auto}.site-hero-visual{height:min(620px,68vh)}.hero-immersive .site-hero{min-height:82vh}.site-about,.site-contact{grid-template-columns:1fr}.site-service-grid,.site-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-theme-proofing .client-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.website-preview-toolbar{align-items:flex-start;flex-direction:column}.website-preview-frame-shell{height:660px;padding:6px}.premium-template-grid{grid-template-columns:1fr 1fr}.gallery-theme-grid{grid-template-columns:1fr 1fr}.site-header{padding:15px 18px}.site-menu-button{display:inline-flex;justify-self:end;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;padding:8px 13px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px;background:var(--site-bg);border-bottom:1px solid color-mix(in srgb,var(--site-text) 12%,transparent);flex-direction:column;align-items:flex-start;gap:15px}.site-nav.open{display:flex}.nav-centered .site-header{grid-template-columns:auto 1fr;justify-items:initial}.nav-centered .site-nav{justify-self:stretch}.nav-overlay .site-header{color:#fff}.site-hero{padding:44px 18px 28px;gap:24px}.site-hero h1{font-size:clamp(46px,15vw,72px)}.site-hero-visual{height:58vh;border-radius:calc(var(--site-radius) * .8)}.hero-immersive .site-hero{padding:0;min-height:76vh}.hero-immersive .site-hero-copy{left:18px;right:18px;bottom:38px;max-width:none}.hero-immersive .site-hero h1{font-size:clamp(48px,14vw,72px)}.hero-framed .site-hero{margin:10px}.site-section{padding:64px 18px}.site-section-head{grid-template-columns:1fr}.site-section-head h2,.site-about h2,.site-contact h2{font-size:clamp(42px,12vw,64px)}.site-gallery-grid{grid-template-columns:1fr}.site-gallery-card,.site-gallery-card:nth-child(n){grid-column:1}.site-gallery-image,.site-gallery-card:nth-child(n) .site-gallery-image{aspect-ratio:4/5}.portfolio-stories .site-gallery-card a{grid-template-columns:1fr;gap:0}.portfolio-stories .site-gallery-copy{padding:16px 2px}.portfolio-masonry .site-gallery-grid{columns:1}.site-about-visual{height:55vh}.site-service-grid,.site-testimonial-grid{grid-template-columns:1fr}.site-service-card{min-height:350px}.site-contact{gap:35px}.site-form-grid{grid-template-columns:1fr}.site-form-grid label.wide{grid-column:auto}.site-footer{grid-template-columns:1fr;align-items:start}.site-actions .site-btn{width:100%}.template-storybook .site-hero-visual{border-radius:38% 38% 4% 4%/14% 14% 4% 4%}.gallery-toolbar-floating .gallery-toolbar{top:6px;margin:6px;width:calc(100% - 12px);border-radius:16px}.gallery-theme-proofing .client-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px}.gallery-hero.title-right .gallery-hero-inner,.gallery-compact-header.title-right{text-align:left}.gallery-hero.title-right .gallery-meta,.gallery-compact-header.title-right .gallery-meta{justify-content:flex-start}}
@media(max-width:460px){.premium-template-grid,.gallery-theme-grid{grid-template-columns:1fr}.website-editor-actions{flex-direction:column}.preview-device-buttons{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.preview-device-buttons button{padding-inline:4px}}
.gallery-photo-entering{opacity:0;transform:translateY(10px);transition:opacity .28s ease,transform .28s ease}.gallery-photo-entering.gallery-photo-entered{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.gallery-photo-entering{transition:none;transform:none}}
