/* A área privada reutiliza a tipografia, os tokens, o cabeçalho e o rodapé públicos. */
.portal-shell{max-width:1800px;margin:auto;padding:0 6% 90px;min-height:60vh}.portal-shell:focus{outline:none}.portal-shell h1{font-size:clamp(2.3rem,4.4vw,4.8rem);letter-spacing:.005em;line-height:1.14;margin-bottom:22px}.portal-shell h2{font-size:clamp(1.5rem,2vw,2.2rem);line-height:1.3}.portal-shell h3{font-size:1.25rem}.portal-shell .eyebrow{font-size:.8125rem}.portal-muted{color:var(--muted)}.portal-loading{padding:90px 0;text-align:center}.portal-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);margin-bottom:65px}.portal-tools nav{display:flex;gap:32px;flex-wrap:wrap}.portal-tools a,.portal-text-button{font-size:.875rem}.portal-tools a[aria-current]{text-decoration:underline;text-underline-offset:8px}.portal-text-button{border:0;padding:8px 0;background:none;color:var(--ink);font-weight:300}.portal-text-button:hover{text-decoration:underline}.portal-heading{margin:0 0 50px}.portal-heading>p{max-width:670px}.portal-heading .eyebrow{margin-bottom:20px}.portal-heading.split{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.portal-heading.split .portal-actions{margin-bottom:20px}.portal-login{display:grid;grid-template-columns:1fr;align-items:center;padding:70px 0;max-width:430px;margin:auto}.portal-login-photo img{width:100%;height:min(66vh,750px);min-height:400px;object-fit:cover;object-position:50% 30%}.portal-login-form{max-width:430px;width:100%;margin:auto}.portal-login-form h1{font-size:clamp(2rem,3.5vw,3.7rem)}.portal-login-form .eyebrow{margin-bottom:22px}.portal-login-form>p{color:var(--muted)}.portal-form label,.portal-dialog label{display:block;font-size:.875rem;margin-bottom:23px}.portal-form input,.portal-form select,.portal-form textarea,.portal-dialog input,.portal-dialog select,.portal-dialog textarea,.portal-search input,.portal-search select{display:block;width:100%;min-height:50px;background:white;border:1px solid var(--line);border-radius:0;padding:11px 13px;color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:300;margin-top:8px}.portal-form textarea,.portal-dialog textarea{min-height:100px;resize:vertical}.portal-form select,.portal-dialog select,.portal-search select{appearance:auto}.portal-form .portal-checkbox{display:flex;align-items:center;gap:10px}.portal-checkbox input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--ink)}.portal-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;padding:15px 28px;border:1px solid var(--ink);border-radius:0;font-size:.875rem;min-height:50px;font-weight:300;cursor:pointer}.portal-primary:hover{background:#444}.portal-primary:disabled,button:disabled{cursor:not-allowed;opacity:.48}.portal-login-form .portal-primary{width:100%;margin:4px 0 15px}.portal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portal-actions .more-button{margin:0;font-size:.875rem;min-height:50px;padding:12px 22px}.portal-error{color:#912e2e;border-left:2px solid currentColor;padding:8px 12px;font-size:.875rem;margin:14px 0}.portal-success{border-left:2px solid var(--ink);padding:15px 20px;background:white}.portal-success h2{font-size:1.4rem}.portal-empty{text-align:center;padding:70px 15px;border-block:1px solid var(--line);margin:20px 0}.portal-empty p{color:var(--muted)}.portal-collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px}.portal-cover{display:block;overflow:hidden}.portal-cover img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center 34%;transition:transform .4s}.portal-cover:hover img{transform:scale(1.02)}.portal-no-cover{display:grid;place-items:center;min-height:240px;aspect-ratio:5/4;border:1px solid var(--line);font-size:.875rem;color:var(--muted)}.portal-card-heading{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin:24px 0 10px}.portal-card-heading h2{margin:0}.portal-card-heading>span{font-size:.875rem;white-space:nowrap;color:var(--muted)}.portal-card-meta{font-size:.875rem;color:var(--muted);margin:0 0 6px}.portal-card-meta span{display:block;color:var(--ink);margin-top:4px}.portal-process{border-top:1px solid var(--line);padding-top:30px;margin:65px 0 40px}.portal-timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 24px}.portal-timeline li{position:relative;display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted);padding:12px 15px 12px 0}.portal-timeline li:not(:last-child):after{content:'';height:1px;background:var(--line);width:25px;flex-shrink:0;margin-left:auto}.portal-timeline li.current,.portal-timeline li.completed{color:var(--ink)}.portal-timeline li.current{font-weight:500}.step-symbol{font-size:1.2rem}.portal-grid{columns:3;column-gap:24px}.portal-photo{position:relative;break-inside:avoid;margin:0 0 25px}.portal-photo-image{display:block;width:100%;border:0;padding:0;background:white;position:relative;cursor:zoom-in}.portal-photo-image img{width:100%;height:auto}.portal-photo-image:after{content:'';position:absolute;inset:0;background:#000;opacity:0;transition:opacity .2s}.portal-photo:hover .portal-photo-image:after{opacity:.06}.portal-heart{position:absolute;right:10px;top:10px;min-width:46px;height:46px;display:grid;place-items:center;background:#ffffffed;color:var(--ink);border:0;border-radius:50%;font-size:1.8rem;line-height:1;box-shadow:0 1px 6px #0001;transition:transform .15s}.portal-heart:active{transform:scale(.93)}.portal-heart[aria-pressed=true]{background:white}.portal-photo figcaption{padding:10px 0 0;font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere;display:block}.portal-selection-bar{position:sticky;bottom:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:18px 0;margin-top:32px}.portal-selection-bar p{margin:0}.portal-selection-bar small{font-size:.8125rem;color:var(--muted);display:block}.portal-toast{position:fixed;z-index:50;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 24px;font-size:.875rem;box-shadow:0 4px 20px #0002;max-width:90vw;width:max-content}.portal-dialog{border:1px solid var(--line);padding:40px;width:min(600px,92vw);max-height:90svh;overflow:auto;color:var(--ink);font:inherit;background:white}.portal-dialog::backdrop{background:#0006;backdrop-filter:blur(3px)}.portal-dialog h2{font-size:2rem;line-height:1.25}.portal-dialog .portal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;line-height:1.8;max-height:240px;overflow:auto;border-block:1px solid var(--line);padding:16px 0}.portal-lightbox{background:#141414;color:white;border:0;max-width:none;max-height:none;width:100vw;height:100svh;margin:0;padding:22px 4%;overflow:hidden}.portal-lightbox[open]{display:flex;flex-direction:column}.portal-lightbox::backdrop{background:#141414}.portal-lightbox-head,.portal-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.875rem}.portal-lightbox-head p,.portal-lightbox-bottom p{margin:0}.portal-lightbox button{color:white;background:transparent;border:1px solid #777;padding:10px 18px;min-width:44px;min-height:44px}.portal-lightbox .lightbox-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:20px 0;touch-action:pan-y}.portal-lightbox img{width:100%;height:100%;object-fit:contain}.portal-lightbox .lightbox-heart{font-size:1.5rem}.portal-lightbox .lightbox-filename{font-size:.8125rem;max-width:50vw;overflow-wrap:anywhere;text-align:center}.portal-lightbox .portal-actions{gap:8px}.portal-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;border-block:1px solid var(--line);padding:28px 0 35px;margin:10px 0 60px}.portal-stat span{display:block;font-size:.875rem;color:var(--muted)}.portal-stat strong{font-size:2.8rem;font-weight:300;line-height:1.5}.portal-activity{list-style:none;padding:0}.portal-activity li{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.portal-activity time{color:var(--muted);white-space:nowrap;font-size:.875rem}.portal-search{display:flex;gap:18px;align-items:end;margin:0 0 30px}.portal-search label{font-size:.875rem;flex:1}.portal-search select{min-width:200px}.portal-table-wrap{overflow:auto}.portal-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9375rem}.portal-table th{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;font-weight:400;padding:16px 16px 16px 0;border-bottom:1px solid var(--ink);white-space:nowrap}.portal-table td{padding:22px 20px 22px 0;border-bottom:1px solid var(--line)}.portal-table td:first-child a{border-bottom:1px solid var(--line)}.portal-table .portal-muted{font-size:.875rem}.portal-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px}.portal-detail-grid dl{margin:0}.portal-detail-grid dt{font-size:.8125rem;color:var(--muted)}.portal-detail-grid dd{margin:4px 0 24px}.portal-upload{border:1px dashed #aaa;padding:40px 20px;text-align:center;margin:30px 0}.portal-upload.dragover{border:2px solid var(--ink)}.portal-upload p{margin-bottom:16px}.portal-upload input{max-width:100%;margin:15px auto;font-size:.875rem}.portal-upload progress{width:min(500px,100%);height:6px;accent-color:var(--ink)}.portal-upload-status{font-size:.875rem}.portal-photo-admin{font-size:.8125rem;display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.portal-photo-admin button{border:0;background:none;padding:5px 8px;color:var(--ink);font-size:.8125rem;min-height:36px}.portal-photo-admin button:hover{text-decoration:underline}.portal-photo-admin .is-cover{font-weight:500}.portal-meta-line{font-size:.875rem;color:var(--muted);margin-top:25px}.portal-client-info{margin-bottom:45px}.portal-client-info p{margin-bottom:6px}.portal-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:45px 0 25px}.portal-section-heading h2{margin:0}.portal-selection-list{margin-bottom:40px}.portal-requests{margin:30px 0 50px;border-left:2px solid var(--ink);padding-left:25px}.portal-requests h2{font-size:1.5rem}.portal-requests p{margin-bottom:12px}.portal-collection-detail .portal-process{margin:30px 0 45px}.portal-number{font-variant-numeric:tabular-nums}.client-area footer{border-top:1px solid var(--line)}.footer-links{flex-wrap:wrap}
@media(max-width:1000px){.portal-timeline{grid-template-columns:1fr 1fr;gap:8px}.portal-timeline li:after{display:none}.portal-summary{grid-template-columns:repeat(3,1fr)}.portal-login{gap:6%}.portal-grid{columns:2}.portal-detail-grid{grid-template-columns:1fr}.portal-heading.split{align-items:start;flex-direction:column}.portal-heading.split .portal-actions{margin-bottom:0}}
@media(max-width:640px){.portal-shell{padding:0 6% 65px}.portal-tools{margin-bottom:40px;padding-block:17px}.portal-tools nav{gap:18px}.portal-login{grid-template-columns:1fr;padding:40px 0 20px;gap:35px}.portal-login-photo{display:none}.portal-login-form{max-width:440px}.portal-shell h1{font-size:2.35rem}.portal-heading{margin-bottom:35px}.portal-collections{grid-template-columns:1fr;gap:45px}.portal-card-heading{margin-top:20px;display:block}.portal-card-heading>span{display:block;margin-top:6px}.portal-timeline{grid-template-columns:1fr;gap:0}.portal-timeline li{padding-block:9px}.portal-process{margin:40px 0 30px}.portal-grid{column-gap:13px}.portal-photo{margin-bottom:18px}.portal-photo figcaption{font-size:.75rem}.portal-heart{width:44px;height:44px;right:6px;top:6px;font-size:1.6rem}.portal-selection-bar{gap:12px;padding-block:14px;align-items:center}.portal-selection-bar p{font-size:.875rem}.portal-selection-bar .more-button{width:auto;padding:12px 16px;white-space:nowrap;font-size:.8125rem}.portal-actions{gap:10px}.portal-actions .more-button,.portal-actions .portal-primary{width:auto;flex:1;text-align:center;white-space:normal}.portal-dialog{padding:28px 22px}.portal-dialog .portal-form-row{grid-template-columns:1fr;gap:0}.portal-lightbox{padding:15px 4%}.portal-lightbox-head{gap:12px}.portal-lightbox-head>p{max-width:52%}.portal-lightbox-bottom{gap:8px;flex-wrap:wrap}.portal-lightbox-bottom .lightbox-filename{order:3;max-width:100%;width:100%}.portal-lightbox button{padding:10px 13px}.portal-summary{grid-template-columns:1fr 1fr;gap:20px}.portal-stat strong{font-size:2.4rem}.portal-search{flex-direction:column;align-items:stretch;gap:10px}.portal-activity li{display:block}.portal-activity time{display:block;margin-top:5px}.portal-table{min-width:650px}.portal-upload{padding:28px 16px}.portal-section-heading{align-items:start;flex-direction:column}.portal-photo-admin{gap:0}.portal-photo-admin button{padding-inline:4px}.portal-meta-line{line-height:1.6}.portal-collections .portal-primary{width:100%}}

.portal-tabs{display:flex;gap:32px;border-bottom:1px solid var(--line);margin:36px 0 30px;flex-wrap:wrap}.portal-tabs a{padding:10px 0 16px;font-size:.9rem}.portal-tabs a[aria-current]{border-bottom:1px solid var(--ink)}.portal-publication,.portal-delivery-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);padding:15px 0 30px;margin-bottom:35px}.portal-publication p,.portal-delivery-banner p{margin:0 0 10px}.portal-publication .eyebrow{font-size:.75rem}.portal-publication .portal-muted{max-width:600px;font-size:.875rem}.portal-final-link{display:block;margin-top:14px;width:fit-content}.photo-publication-label{display:block;font-size:.7rem;margin-top:4px;letter-spacing:.02em}.portal-photo-download{display:block;width:fit-content;color:var(--ink);padding-top:9px;text-decoration:underline;text-underline-offset:4px}.portal-download-intro{margin:0 0 35px}.portal-download-intro p{font-size:.875rem;margin-top:20px}.portal-communications{margin-top:70px;border-top:1px solid var(--line)}.portal-email-table small{display:block;font-size:.75rem;color:var(--muted);margin-top:8px}.portal-email-error{font-size:.8125rem;max-width:330px;margin:8px 0;color:var(--muted)}.email-state{font-size:.8125rem}.email-failed{color:#912e2e}.portal-notifications{margin-bottom:65px}.portal-notifications p{margin:6px 0 10px}.portal-notifications strong{font-weight:400}.notification-dot{font-size:.6rem;vertical-align:middle}.portal-settings{display:grid;grid-template-columns:1.1fr 1fr;gap:30px 90px}.portal-settings>h2{grid-column:1/-1;margin:0}.portal-settings-account{border-left:1px solid var(--line);padding-left:50px}.portal-settings-account h2{letter-spacing:.12em}.portal-settings .portal-checkbox{padding:8px 0}.portal-settings form>p{font-size:.875rem;margin:30px 0}.portal-settings-account p{overflow-wrap:anywhere}.portal-email-table td{vertical-align:top}.portal-upload label.more-button{cursor:pointer}
@media(max-width:800px){.portal-publication,.portal-delivery-banner{align-items:flex-start;flex-direction:column;gap:15px}.portal-settings{grid-template-columns:1fr;gap:30px}.portal-settings-account{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.portal-tabs{gap:22px}.portal-tabs a{font-size:.8125rem}.portal-tools nav{gap:14px 22px}.portal-email-table{min-width:610px}}
@media(prefers-reduced-motion:reduce){.portal-cover img,.portal-heart,.portal-photo-image:after{transition:none}}

/* Incremental collection controls and connected progress stages. */
.portal-options{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin:25px 0}.portal-options legend{padding:0 12px 0 0;font-size:1rem}.portal-options .portal-muted{font-size:.8125rem}.portal-process-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.portal-progress-label{font-size:1rem}.portal-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:14px 0 28px}.portal-timeline li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px;gap:13px;font-size:.8125rem}.portal-timeline li:not(:last-child):after{position:absolute;display:block;top:8px;left:50%;width:100%;height:1px;margin:0;background:var(--line);z-index:0}.portal-timeline li.completed:after{background:var(--ink)}.portal-timeline .step-symbol{position:relative;z-index:1;display:block;width:17px;height:17px;min-height:17px;border:1px solid var(--line);border-radius:50%;background:white}.portal-timeline .completed .step-symbol,.portal-timeline .current .step-symbol{background:var(--ink);border-color:var(--ink)}.step-label{display:block}.step-label small{display:block;margin-top:7px;font-size:.75rem;font-weight:300;color:var(--muted)}.portal-deadline{border-top:1px solid var(--line);padding:25px 0 15px;margin:20px 0 40px}.portal-deadline .eyebrow{margin-bottom:10px}.portal-deadline strong{font-weight:400}.portal-deadline .portal-muted{margin:8px 0 0;font-size:.875rem}.portal-sharing{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);padding:22px 0;margin:20px 0 40px}.portal-sharing h2{font-size:1.4rem;margin:0 0 10px}.portal-sharing p{margin:0}.portal-sharing .more-button{margin:0;white-space:normal}.portal-selection-history{margin:45px 0}.portal-selection-history .portal-actions{gap:20px;margin-top:15px}.notification-bell{vertical-align:-3px;margin-right:3px}.notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:50%;background:var(--ink);color:white;font-size:.68rem;margin-left:3px}.notification-count[hidden]{display:none}.notification-list .notification-entry{display:block}.notification-entry article{width:100%}.notification-entry h3{margin:0 0 10px}.notification-entry.is-unread{border-left:2px solid var(--ink);padding-left:18px}.notification-actions{margin-top:16px;gap:16px 24px}.portal-notifications>section+section{margin-top:42px}.portal-notifications .notification-entry .eyebrow{font-size:.68rem}.portal-notifications .notification-entry .portal-muted{font-size:.875rem}
@media(max-width:640px){.portal-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-timeline li{padding:0 4px;font-size:.65rem;line-height:1.4}.step-label small{font-size:.68rem}.portal-process-heading{gap:12px}.portal-progress-label{font-size:.875rem;white-space:nowrap}.portal-sharing{align-items:flex-start;flex-direction:column;gap:15px}.portal-selection-bar{flex-wrap:wrap}.portal-selection-bar>.portal-actions{margin-left:auto}.portal-selection-bar>.portal-actions .portal-primary,.portal-selection-bar>.portal-actions .more-button{padding:11px 14px;font-size:.75rem}.notification-entry.is-unread{padding-left:12px}}

.portal-progress-note{font-size:.8125rem}

.portal-download-choice{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:.8125rem;line-height:1.4;cursor:pointer}.portal-download-choice input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--ink)}.portal-download-choice input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.portal-lightbox-head .portal-download-choice{margin:0}.portal-download-choice:has(input:checked){font-weight:500}

.portal-gallery-actions{border-block:1px solid var(--line);padding:24px 0;margin:20px 0 38px}.portal-gallery-actions .eyebrow{margin:0 0 16px}.portal-gallery-actions .portal-actions{flex-wrap:wrap;gap:12px}.portal-gallery-actions .more-button{margin:0}.portal-gallery-actions .portal-muted{font-size:.8125rem;margin:14px 0 0}.portal-gallery-actions button:disabled{opacity:.45;cursor:not-allowed}.shared-gallery-header{padding:44px 6%;text-align:center}.shared-gallery-header .brand{display:inline-block;position:static;transform:none;white-space:normal}.shared-gallery-header p{font-size:.8125rem;letter-spacing:.06em;color:var(--muted);margin:12px 0 0}.shared-gallery-footer{padding:35px 6%;text-align:center;border-top:1px solid var(--line);font-size:.75rem}.shared-gallery .portal-heading{padding-top:24px}.shared-gallery .portal-shell{min-height:65vh}
@media(max-width:640px){.portal-gallery-actions .portal-actions{align-items:stretch;flex-direction:column}.portal-gallery-actions .more-button{text-align:center;width:100%;white-space:normal}.shared-gallery-header{padding:30px 6%}.portal-lightbox-head .portal-actions{gap:14px;flex-wrap:wrap}}

/* Administrative overview shortcuts keep the portfolio's white, quiet layout. */
.portal-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding:18px 0 25px}
a.portal-stat{display:block;min-width:0;min-height:130px;padding:12px 10px;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s,transform .18s}
.portal-stat>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;line-height:1.5;min-height:3em}
.portal-stat .portal-stat-arrow{color:var(--ink);font-size:1rem;transition:transform .18s}
.portal-stat strong{display:block}.portal-stat small{display:block;font-size:.75rem;color:var(--muted)}
a.portal-stat:hover{border-bottom-color:var(--ink)}a.portal-stat:hover .portal-stat-arrow{transform:translate(2px,-2px)}
a.portal-stat:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.portal-result-count{font-size:.875rem;margin-bottom:16px}
@media(max-width:1100px){.portal-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.portal-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}a.portal-stat{padding:10px 4px;min-height:122px}.portal-stat>span{font-size:.8125rem}.portal-tools{align-items:flex-start}.portal-tools nav{flex:1;min-width:0}.portal-tools a{display:inline-flex;align-items:center;min-height:40px}.portal-tools #logout{min-height:40px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){a.portal-stat,.portal-stat .portal-stat-arrow{transition:none}}

/* Simplified heading for the private client and administration pages. */
.portal-private-header{display:flex;align-items:center;justify-content:center;min-height:128px;padding:30px 6%;border-bottom:1px solid var(--line);background:#fff;text-align:center}
.portal-private-header a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--ink);font-size:clamp(1.1rem,1.6vw,1.9rem);font-weight:300;letter-spacing:.12em;line-height:1.4;text-decoration:none}
.portal-private-header a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
@media(max-width:640px){.portal-private-header{min-height:100px;padding:22px 6%}.portal-private-header a{font-size:1.15rem}}

/* Administration layout; public portfolio and client galleries retain their layout. */
.portal-shell.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding-top:28px;max-width:1920px}.admin-sidebar{align-self:start;position:sticky;top:20px;border-right:1px solid var(--line);padding-right:24px;max-height:calc(100vh - 40px);overflow:auto}.admin-sidebar-brand{font-size:.8rem;letter-spacing:.09em;line-height:1.8}.admin-sidebar-brand span{display:block;color:var(--muted)}.admin-sidebar nav{display:flex;flex-direction:column;gap:4px;margin:18px 0}.admin-sidebar nav[hidden]{display:none}.admin-sidebar a{font-size:.875rem;line-height:1.5;padding:10px 8px;border-left:2px solid transparent}.admin-sidebar a[aria-current]{border-left-color:var(--ink);font-weight:500}.admin-sidebar a:hover{text-decoration:underline}.admin-sidebar button{min-height:44px}.admin-content{min-width:0}.admin-content .portal-heading{padding-top:20px}.admin-layout.admin-menu-collapsed{grid-template-columns:150px minmax(0,1fr)}.admin-sidebar :is(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:900px){.portal-shell.admin-layout,.portal-shell.admin-layout.admin-menu-collapsed{display:block}.admin-sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:28px}.admin-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.admin-sidebar-brand{margin-bottom:5px}.admin-sidebar #logout{margin-left:20px}.admin-content .portal-heading{padding-top:0}}

/* Four separate admin workspaces; lateral navigation belongs to CRM only. */
.admin-spaces{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d9e3dd;padding:20px 0;margin-bottom:26px}.admin-spaces nav{display:flex;gap:8px;flex-wrap:wrap}.admin-spaces nav a{padding:14px 20px;border-radius:8px;font-size:.875rem;min-height:44px}.admin-spaces nav a[aria-current]{background:#eaf1ec;color:#254c3a;font-weight:500}.admin-account-actions{display:flex;gap:20px;align-items:center;font-size:.8125rem}.admin-workspace{--admin-green:#527963;--admin-blue:#668898;--admin-amber:#a47a43;--admin-red:#aa7666}.admin-workspace .portal-primary{background:#355c48;border-color:#355c48;color:white}.admin-workspace .admin-sidebar a[aria-current]{border-color:#527963;background:#edf4ef;color:#254c3a}.admin-workspace .portal-stat{border-radius:10px;border:1px solid #dce5df;padding:20px;background:#fff}.admin-workspace .portal-stat strong{color:#3c6650}.admin-production-chart{margin:30px 0 50px;padding:28px;border:1px solid #dce5df;border-radius:12px;max-width:1000px}.production-bar{display:grid;grid-template-columns:180px 1fr 35px;gap:18px;align-items:center;padding:12px 0;font-size:.875rem}.production-track{height:12px;background:#eef2ef;border-radius:8px;overflow:hidden}.production-track>span{height:100%;display:block;background:#527963;border-radius:8px}.stage-awaiting .production-track>span{background:#a47a43}.stage-received .production-track>span{background:#668898}.stage-editing .production-track>span{background:#9c849f}.stage-review .production-track>span{background:#aa7666}.admin-workspace .crm-chart{border:1px solid #dce5df;border-radius:12px;padding:24px}.admin-workspace .crm-bar-track>span{background:#527963}.admin-workspace .crm-bar-row:nth-child(3n+2) .crm-bar-track>span{background:#668898}.admin-workspace .crm-bar-row:nth-child(3n) .crm-bar-track>span{background:#a47a43}.admin-workspace .crm-month-track>span{background:#668898}.admin-workspace .crm-kpis>div{border:1px solid #dce5df;border-radius:10px;padding:20px}.admin-workspace .crm-kpis strong{color:#355c48}
@media(max-width:900px){.admin-spaces{align-items:flex-start;flex-direction:column}.admin-spaces nav{width:100%}.admin-spaces nav a{flex:1;text-align:center;padding:12px}.admin-account-actions{align-self:flex-end}.production-bar{grid-template-columns:125px 1fr 28px;gap:10px;font-size:.75rem}.admin-production-chart{padding:20px 14px}.admin-workspace .crm-chart{padding:18px}}

.portal-login-form h1.portal-login-welcome{font-size:clamp(1rem,4.5vw,1.95rem);white-space:nowrap;letter-spacing:-.02em}
