.demo-link{display:block;color:var(--ink);margin-top:16px;font-size:.86rem}.panel-page{min-height:100vh}.panel-header{height:66px;background:var(--ink);color:var(--paper);padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between}.panel-header a{color:inherit;text-decoration:none}.panel-header nav{display:flex;gap:20px;font-size:.85rem;align-items:center}.panel-brand{letter-spacing:.16em;font-size:.75rem;font-weight:600}.panel-wrap{max-width:1160px;margin:auto;padding:46px 24px 80px}.panel-intro{display:flex;justify-content:space-between;gap:24px;align-items:end}.panel-intro h1{font-size:3.6rem;margin:0}.panel-intro p:last-child{color:#625b55;max-width:450px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}.metrics article{background:#fff;padding:20px;border:1px solid #ded7ce}.metrics span,.metrics small{display:block;color:#716861;font-size:.8rem}.metrics b{display:block;font:600 3rem/1 var(--serif);margin:6px 0;color:var(--ink)}.panel-tabs{display:flex;gap:8px;border-bottom:1px solid #d9d1c6;margin-bottom:16px}.admin-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 8px;color:#625b55}.admin-tab.active{border-color:var(--gold);color:var(--ink);font-weight:600}.gallery-list{display:grid;gap:10px}.gallery-card{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #ded7ce;padding:12px}.gallery-card img{width:90px;height:68px;object-fit:cover}.gallery-card h2{font-size:1.75rem;margin:0 0 6px}.gallery-card p{margin:0;color:#6b625a;font-size:.85rem}.status{display:inline-block;padding:4px 8px;border-radius:99px;font-size:.72rem;background:#eee7da;color:#6c5732}.status.published{background:#e1ecd8;color:#38662f}.status.delivered{background:#dce8ef;color:#356074}.editor,.details{width:min(590px,94vw);border:0;padding:32px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0009}.editor label{display:block;margin:16px 0 0;font-size:.85rem;font-weight:600}.editor input,.editor select{width:100%;padding:11px;border:1px solid #cfc7bb;background:#fff;margin-top:6px}.editor .button{margin-top:22px}.editor::backdrop,.details::backdrop{background:#0008}.details{max-width:760px}.detail-header{display:flex;justify-content:space-between;gap:15px;padding-right:24px}.detail-header h2{font-size:2.5rem;margin:3px 0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.detail-grid article{border:1px solid #d9d1c6;padding:14px}.detail-grid span{display:block;font-size:.75rem;color:#6b625a}.detail-grid b{display:block;margin-top:5px}.access-box{background:#211d1a;color:var(--paper);padding:18px;margin:18px 0}.access-box p{margin:4px 0;color:#d9d1c6}.access-box code{background:#37312d;padding:4px 6px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.note{padding:12px;background:#efe6d6;color:#654a25;font-size:.88rem}@media(max-width:680px){.panel-intro,.gallery-card{grid-template-columns:1fr;display:grid}.metrics{grid-template-columns:1fr}.panel-header nav span{display:none}.gallery-card img{width:100%;height:180px}.detail-grid{grid-template-columns:1fr}.panel-intro h1{font-size:3rem}}
.access-box a{color:#f3cb73;font-weight:600}.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.share-actions .button{font-size:.82rem;padding:9px 13px}.share-actions+.muted{margin-top:10px}.panel-page{position:relative;isolation:isolate}.panel-page::before{content:"";position:fixed;inset:66px 0 0;background:url('logo-clean.png') center/ min(78vw,1050px) auto no-repeat;opacity:.09;pointer-events:none;z-index:-1;filter:grayscale(1)}.panel-header nav span{font-size:.78rem}.panel-page.locked .panel-wrap{visibility:hidden}
#admin-login{width:min(640px,92vw);padding:26px 34px;position:fixed;top:50%;left:50%;right:auto;margin:0;transform:translate(-50%,-50%);background:rgba(246,242,235,.84);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}#admin-login label{display:inline-block;width:calc(50% - 10px);vertical-align:top;margin-right:14px}#admin-login label+label{margin-right:0}#admin-login .button{display:block;margin:20px auto 0}.panel-page:has(#admin-login[open]) .panel-wrap{filter:brightness(.92)}
.upload-box{border:1px solid #d9d1c6;padding:16px;margin:18px 0;display:grid;gap:10px}.upload-box input{max-width:100%}.upload-box .button{justify-self:start}
.photo-manager{display:grid;gap:8px;max-height:350px;overflow:auto;margin:8px 0 18px}.managed-photo{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #ded7ce;padding:8px}.managed-photo img{width:64px;height:54px;object-fit:cover}.managed-photo b{display:block;font-size:.82rem}.managed-photo label{display:block;font-size:.72rem;color:#6b625a;margin-top:4px}.managed-photo select{margin-left:6px;border:1px solid #cfc7bb;padding:4px;background:white}.managed-photo .danger{color:#a33}
.selection-manager{display:grid;gap:8px;margin:8px 0 18px}.selected-photo{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;background:#fffdf8;border:1px solid #e3cf9c;padding:8px}.selected-photo img{width:72px;height:56px;object-fit:cover}.selected-photo b,.selected-photo small{display:block}.selected-photo small{color:#6b625a;margin-top:3px}
.detail-actions [data-download]{display:none}
.bulk-photo-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:8px 10px;background:#efe6d6;font-size:.82rem}.bulk-photo-tools label{display:flex;align-items:center;gap:7px}.bulk-photo-tools .button{padding:7px 10px;font-size:.78rem}
.quality-choice{max-width:560px;text-align:center}.quality-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:22px}.quality-actions .button{font-size:.82rem;padding:10px 14px}.quality-actions .text-button{border:1px solid #bdb3a8;background:transparent}

/* Detalle de galería: la marca sustituye la insignia duplicada de estado. */
.detail-brand-mark{display:flex;align-items:flex-start;justify-content:flex-end;min-width:150px;padding-top:2px}
.detail-brand-mark img{display:block;width:150px;height:82px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.16))}
.access-box{padding:14px 18px;margin:14px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px}
.access-copy p{margin:2px 0}.access-copy a{display:block;margin:1px 0 2px}.access-box .share-actions{margin-top:0}.access-box>#share-status{grid-column:1 / -1;margin:2px 0 0}
.details{max-width:min(1040px,96vw);max-height:90vh;overflow:auto}
.photo-manager{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:min(58vh,620px);overflow:auto;align-content:start;gap:10px;margin:8px 0 18px;padding:2px}
.managed-photo{grid-template-columns:1fr;gap:7px;align-content:start;min-width:0;padding:8px;position:relative}
.managed-photo img{width:100%;height:118px;object-fit:cover}.managed-photo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-photo label{font-size:.7rem}.managed-photo select{max-width:calc(100% - 6px)}
.managed-photo .danger{justify-self:start;font-size:.75rem;padding:3px 0}
.gallery-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gallery-card-actions .button{white-space:nowrap}.danger-outline{border-color:#a33;color:#8d2b22}.danger-outline:hover{background:#f7e7e3}
.upload-box [data-upload]{display:none}
.selection-alert{width:100%;display:flex;align-items:center;gap:12px;margin:20px 0 0;padding:12px 16px;border:1px solid #c9a96a;background:#fff8e9;color:#654a25;text-align:left}.selection-alert:hover{background:#ffefc7}.selection-alert-icon{font-size:1.15rem}.selection-alert b{font-size:1.05rem}.selection-release{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:12px;background:#fff8e9;border:1px solid #e3cf9c}.selection-release p{margin:0}.selection-release .button{font-size:.78rem;padding:8px 11px;white-space:nowrap}
@media(max-width:680px){.detail-brand-mark{min-width:100px}.detail-brand-mark img{width:105px;height:60px}.access-box{grid-template-columns:1fr}.access-box .share-actions{justify-content:flex-start}.access-box>#share-status{grid-column:auto}.details{max-width:94vw}.photo-manager{grid-template-columns:repeat(2,minmax(0,1fr));max-height:56vh}.managed-photo img{height:100px}}

.panel-nav{position:relative;display:flex;align-items:center;gap:8px}.nav-button{border:1px solid #8d8378;padding:8px 11px;font-size:.76rem;white-space:nowrap}.nav-button.current{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}.nav-gear{border:1px solid #8d8378;background:transparent;color:var(--paper);width:34px;height:34px;font-size:1.15rem;line-height:1}.account-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:30;min-width:235px;padding:10px;background:var(--paper);color:var(--ink);border:1px solid #d9d1c6;box-shadow:0 15px 35px #0006}.account-menu[hidden]{display:none}.account-menu-title{margin:4px 8px 8px;color:#776d63;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.account-menu button{display:block;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:9px 8px;font-size:.82rem}.account-menu button:hover{background:#efe6d6}
.activity-summary{margin:26px 0 30px;padding:20px;background:#fff;border:1px solid #ded7ce}.activity-summary-head{display:flex;align-items:start;justify-content:space-between;gap:18px}.activity-summary h2{font-size:2rem;margin:0}.activity-subtitle{color:#716861;font-size:.85rem;margin:4px 0 0}.activity-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.activity-cards article{padding:13px;border:1px solid #e4ddd4;background:#fcfaf7}.activity-cards span,.activity-cards small{display:block;color:#716861;font-size:.72rem}.activity-cards b{display:block;font:600 2rem/1 var(--serif);margin:5px 0;color:var(--ink)}.favorites-summary{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:12px 14px;border:1px solid #c9a96a;background:#fff8e9;color:#654a25;text-align:left;font-weight:600}.favorites-summary:hover{background:#ffefc7}.favorites-summary b{font-size:1.2rem}.favorites-board{display:grid;gap:8px;margin-top:10px}.favorite-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:8px;border:1px solid #e4ddd4;background:#fcfaf7}.favorite-item img{width:58px;height:50px;object-fit:cover}.favorite-item b,.favorite-item span,.favorite-item small{display:block}.favorite-item span,.favorite-item small{font-size:.72rem;color:#716861}.favorite-item .text-button{font-size:.75rem}.gallery-tools{display:flex;align-items:end;gap:12px;margin:20px 0 12px}.gallery-tools label{display:grid;gap:5px;color:#716861;font-size:.72rem;font-weight:600}.gallery-search{flex:1}.gallery-tools input,.gallery-tools select{width:100%;padding:10px 11px;border:1px solid #cfc7bb;background:#fff;color:var(--ink)}.gallery-sort{width:min(250px,100%)}.card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.access-badge{display:inline-block;padding:4px 8px;border-radius:99px;font-size:.72rem;background:#eee7da;color:#6c5732}.access-badge.active{background:#e1ecd8;color:#38662f}.access-badge.restricted{background:#f5dfd8;color:#8d2b22}.photo-section{position:relative}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading .eyebrow{margin-bottom:8px}.photo-fullscreen-toggle{font-size:.76rem;padding:7px 10px}.photo-section.is-fullscreen{position:fixed;inset:0;z-index:110;background:var(--paper);overflow:auto;padding:70px 28px 28px}.photo-section.is-fullscreen .photo-manager{max-height:none;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));overflow:visible}.photo-organizer-open .details{overflow:visible}.photo-section.is-fullscreen .managed-photo img{height:145px}.photo-resolution{display:block;color:#716861;font-size:.7rem;margin-top:5px}.activity-summary .button{font-size:.76rem;padding:8px 10px}
.activity-recent-wrap{margin-top:18px;padding-top:14px;border-top:1px solid #e4ddd4}.activity-recent-wrap .eyebrow{margin-bottom:8px}.activity-recent{list-style:none;display:grid;gap:6px;margin:0;padding:0}.activity-recent li{display:grid;grid-template-columns:minmax(130px,.8fr) 1fr auto;gap:8px;align-items:center;font-size:.74rem}.activity-recent li span{color:#654a25}.activity-recent li b{font-weight:600}.activity-recent li small{color:#716861;font-size:.68rem;text-align:right}
@media(max-width:680px){.panel-nav{gap:4px}.nav-button{padding:6px 7px;font-size:.66rem}.nav-gear{width:30px;height:30px}.panel-brand{font-size:.62rem}.activity-cards{grid-template-columns:repeat(2,1fr)}.activity-summary-head{align-items:start}.gallery-tools{display:grid;grid-template-columns:1fr}.gallery-sort{width:auto}.favorite-item{grid-template-columns:48px 1fr}.favorite-item img{width:48px;height:44px}.favorite-item .text-button{grid-column:2;text-align:left;padding-left:0}.photo-section.is-fullscreen{padding:64px 14px 18px}.photo-section.is-fullscreen .photo-manager{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-section.is-fullscreen .managed-photo img{height:105px}}
@media(max-width:680px){.activity-recent li{grid-template-columns:1fr auto}.activity-recent li small{grid-column:2;grid-row:1;text-align:right}.activity-recent li b{grid-column:1 / -1}}
.gallery-card-mark{width:90px;height:68px;display:grid;place-content:center;text-align:center;background:#211d1a;color:#d1ae68;font:600 .72rem/1.1 var(--serif);letter-spacing:.08em}
.editor .remember-device{display:flex;align-items:center;gap:9px;font-weight:500}
.editor .remember-device input{width:auto;margin:0;accent-color:var(--gold)}
.managed-photo img[role="button"]{cursor:zoom-in}
.managed-photo img[role="button"]:focus{outline:2px solid var(--gold);outline-offset:2px}
.photo-preview{width:min(900px,94vw);max-height:94vh;padding:28px;background:var(--paper);border:0;box-shadow:0 20px 80px #0009;text-align:center}
.photo-preview img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;margin:0 auto;object-fit:contain}
.photo-preview-caption{margin:12px 0 0;color:#625b55;font-size:.85rem}
