@keyframes adminContentFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes upload-shine{0%{background-position:150%0}to{background-position:-150%0}}@keyframes upload-text-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes upload-btn-pulse{0%,to{box-shadow:0 0 0 0 rgba(41,151,255,.5)}50%{box-shadow:0 0 0 9px transparent}}@keyframes album-overlay-in{0%{opacity:0}to{opacity:1}}.admin-layout{display:flex;min-height:100vh;background:var(--bg-primary)}.admin-sidebar{width:260px;background:var(--bg-secondary);box-shadow:1px 0 0 var(--border-light);border-right:none;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform var(--duration-smooth) var(--ease-in-out-smooth),box-shadow var(--duration-smooth) var(--ease-smooth)}.sidebar-header{padding:16px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border)}.sidebar-header.sidebar-header-logo-only{padding:12px 10px;justify-content:center;background:0 0}.sidebar-logo-full{display:block;width:100%;text-decoration:none;color:inherit;background:0 0}.sidebar-logo-full .sidebar-logo-img{max-height:140px}.logo-settings-row{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-start}.logo-preview-wrap{flex-shrink:0}.logo-preview-label{margin:0 0 8px;font-size:.875rem;color:var(--text-secondary)}.logo-preview-box{width:260px;padding:12px 10px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;min-height:80px}.logo-preview-box .logo-preview-img,.sidebar-logo-full .sidebar-logo-img{display:block;width:100%;object-fit:contain;object-position:center}.logo-preview-placeholder{font-size:.875rem;color:var(--text-tertiary);text-align:center;padding:12px}.logo-form-wrap{flex:1;min-width:260px}.logo-current-block{margin-bottom:24px}.logo-current-label{margin:0 0 8px}.logo-current-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.logo-current-img{max-width:200px;max-height:80px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px}.logo-remove-form,.sidebar-logo{display:flex;align-items:center}.sidebar-logo{width:44px;height:44px;flex-shrink:0;background:var(--gold-bg);border-radius:12px;justify-content:center;color:var(--primary-500);font-size:1.25rem}.sidebar-brand{font-family:var(--font-sans);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.sidebar-nav{flex:1;padding:12px;display:flex;flex-direction:column;gap:2px;min-height:0}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;color:var(--text-tertiary);text-decoration:none;font-size:13px;font-weight:400;transition:background-color var(--duration-smooth) var(--ease-smooth),color var(--duration-smooth) var(--ease-smooth)}.nav-item:hover{background:var(--primary-50);color:var(--text-primary)}.nav-item.active{background:var(--gold-bg);color:var(--primary-500);font-weight:500}.nav-item i{width:20px;text-align:center}.sidebar-footer{padding:8px 12px;border-top:1px solid var(--border)}.nav-item.logout:hover{color:#ff453a;background:rgba(255,69,58,.06)}.nav-item-locked{opacity:.65}.nav-item-locked:hover{opacity:.9}.nav-item-badge{margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600;letter-spacing:.04em;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff;border-radius:4px;text-transform:uppercase}.admin-main{flex:1;min-width:0;margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.top-notification{position:fixed;top:0;left:0;right:0;z-index:10000;display:none;align-items:center;justify-content:space-between;padding:16px 32px;min-height:56px;box-shadow:0 4px 16px rgba(0,0,0,.1);opacity:0;transform:translate3d(0,-100%,0);-webkit-transform:translate3d(0,-100%,0);font-size:.9375rem;font-weight:500;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.top-notification.visible{display:flex}.top-notification.visible.show{opacity:1;transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0)}.top-notification-content{display:flex;align-items:center;gap:12px;flex:1;max-width:1200px;margin:0 auto}.top-notification-icon{font-size:1.125rem;flex-shrink:0}.top-notification-message{flex:1}.top-notification-close{background:0 0;border:0;color:inherit;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);opacity:.7;transition:opacity var(--duration-fast);flex-shrink:0;font-size:1rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.top-notification-close:hover{opacity:1;background:rgba(255,255,255,.15)}.top-notification-success{background:linear-gradient(135deg,var(--primary-700),var(--primary-800));color:var(--text-inverse);border-bottom:1px solid var(--primary-600)}.top-notification-error{background:linear-gradient(135deg,var(--primary-800),var(--primary-900));color:var(--text-inverse);border-bottom:1px solid var(--primary-700)}.top-notification-info{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));color:var(--text-inverse);border-bottom:1px solid var(--primary-500)}body:has(#top-notification.visible) .admin-topbar{top:56px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;transition:top var(--duration-smooth) var(--ease-smooth),box-shadow var(--duration-smooth) var(--ease-smooth)}[data-theme=dark] .admin-topbar{background:rgba(0,0,0,.8)}.topbar-left{display:flex;flex-direction:column;gap:4px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.875rem;margin-bottom:8px;text-decoration:none;transition:color var(--duration-smooth) var(--ease-smooth)}.back-link:hover,.section-title i{color:var(--primary-500)}.page-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-sans);letter-spacing:-.02em}.page-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0}.topbar-right{display:flex;align-items:center;gap:12px}.admin-content{flex:1;padding:32px;animation:adminContentFadeIn .4s var(--ease-out) both}.admin-content>.card,.admin-split>.card{max-width:none;width:100%;box-sizing:border-box}.admin-content>.card{transition:box-shadow var(--duration-smooth) var(--ease-smooth),border-color var(--duration-smooth) var(--ease-smooth),transform var(--duration-smooth) var(--ease-smooth)}.admin-split{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:24px;align-items:start}.admin-split>.card,.owner-card-header-with-search h3{margin:0}@media (max-width:1024px){.admin-split{grid-template-columns:1fr}}.admin-content>.card .card-header{margin-bottom:24px}.admin-content>.card .card-header h2,.admin-content>.card .card-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.admin-content .table-wrapper{overflow-x:auto}.admin-content .admin-empty-state{padding:24px;color:var(--text-secondary);margin:0}.admin-content .data-table{width:100%;min-width:800px;border-collapse:collapse}.admin-content .data-table thead th{text-align:left;padding:12px 16px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border)}.admin-content .data-table tbody td{padding:14px 16px;border-bottom:1px solid var(--border-light)}.admin-content .data-table tbody tr:last-child td{border-bottom:none}.admin-content .data-table .cell-login{color:var(--text-primary);font-weight:500}.admin-content .data-table .cell-email{color:var(--text-secondary);font-size:.9375rem}.admin-content .data-table .cell-numeric{color:var(--text-primary);font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.875rem}.badge--neutral{background:var(--bg-secondary);color:var(--text-primary)}.badge--success{background:var(--success-bg);color:var(--success);font-size:.8125rem}.badge--error{background:var(--error-bg);color:var(--error);font-size:.8125rem}.success-msg{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.alert,.success-msg{padding:16px 20px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;align-items:center;gap:12px}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.owner-row-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.owner-row-form .settings-select{min-width:100px}.owner-row-form .form-date{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.owner-cards-wrap{display:none}.owner-admin-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:10px}.owner-admin-card:last-child,body.owner-panel .admin-content>.card:last-child{margin-bottom:0}.owner-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.owner-card-login{font-weight:600;font-size:.9375rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.owner-card-meta{margin-bottom:8px}.owner-card-email{font-size:.8125rem;color:var(--text-secondary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-card-stats{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.75rem;color:var(--text-secondary);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.owner-card-stats .owner-stat{white-space:nowrap}.owner-card-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.owner-card-form-row{display:flex;gap:8px;flex:1;min-width:0}.owner-card-date,.owner-card-select{flex:1;min-width:0;padding:8px 10px;font-size:.8125rem}.owner-card-btn{padding:8px 14px;font-size:.8125rem}.owner-summary-card{margin-bottom:24px}.owner-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.owner-summary-item{display:flex;flex-direction:column;gap:4px}.owner-summary-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.owner-summary-value{font-size:.9375rem;color:var(--text-primary)}.owner-edit-form{display:flex;flex-direction:column;gap:16px}.owner-edit-form .form-group{margin-bottom:0}.owner-edit-input{width:100%;max-width:320px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem}.owner-edit-input:focus{outline:0;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.owner-back-link-wrap{margin-top:24px;margin-bottom:0}.owner-card-header-with-search{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.owner-search-form{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;flex:1;min-width:0;max-width:400px}.owner-search-input{flex:1;min-width:0;order:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md)0 0 var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem}.owner-search-input:focus{outline:0;border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-100)}.owner-search-input::placeholder{color:var(--text-tertiary)}.owner-search-btn{flex-shrink:0;order:2;padding:8px;width:40px;min-width:40px;border-radius:0 var(--radius-md) var(--radius-md)0;margin-left:-1px;border-left:none}.owner-search-clear{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;order:3;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;margin-left:4px}.owner-search-clear:hover{color:var(--text-primary);background:var(--bg-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.owner-admin-link{color:var(--text-primary);text-decoration:none;font-weight:500}.owner-admin-link:hover{color:var(--primary-600);text-decoration:underline}.owner-row-clickable{cursor:pointer}.owner-row-clickable:hover td{background:var(--bg-secondary)}.owner-admin-card-link{text-decoration:none;color:inherit;display:block}.owner-admin-card-link:hover .owner-admin-card{border-color:var(--primary-400);box-shadow:0 0 0 2px var(--primary-100)}.owner-manage-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--primary-600);margin-top:8px}.owner-manage-badge:hover{color:var(--primary-700)}body.owner-panel .admin-content>.card{margin-bottom:28px}.owner-report-form{padding:0 0 8px}.owner-report-period-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}.owner-report-period-row label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.9375rem;white-space:nowrap;padding:6px 0}.owner-report-period-row label:has(input[type=radio]){font-weight:500;color:var(--text-primary)}.owner-report-period-row .form-date,.owner-report-period-row input[type=date]{padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary)}.owner-report-dates{font-size:.875rem;color:var(--text-secondary);margin-left:auto}.owner-report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px}.owner-report-stat-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;text-align:center}.owner-report-stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.owner-report-stat-label{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:4px}.owner-report-stats--new .owner-report-stat-value{color:var(--primary-600)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-smooth) var(--ease-smooth),border-color var(--duration-smooth) var(--ease-smooth),transform var(--duration-smooth) var(--ease-smooth)}.stat-card--clickable{cursor:pointer}.stat-card--clickable:hover{border-color:var(--primary-300);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-card--clickable:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-info{display:flex;flex-direction:column}.stat-number{color:var(--text-primary);line-height:1}.stat-card .stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.content-section{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:28px;margin-bottom:24px;box-shadow:var(--shadow-xs)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;gap:10px;font-family:var(--font-sans)}.album-card-stats span,.client-card-stats span,.search-box,.section-actions,.section-title{display:flex;align-items:center}.section-actions{gap:12px}.search-box{gap:10px}.search-box i{color:var(--text-muted);font-size:.875rem;flex-shrink:0}.search-box input{padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;width:240px;background:var(--bg-secondary);color:var(--text-primary)}.search-box input:focus{border-color:var(--primary-500);background:var(--surface)}.filter-select{padding:10px 36px 10px 14px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;background:var(--bg-secondary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C5C5C' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.add-client-form{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:24px}.inline-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;align-items:end}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.form-action{justify-content:flex-end}.form-group-checkbox .checkbox-label{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--text-primary)}input[type=checkbox],input[type=radio]{width:1.125rem;height:1.125rem;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;flex:0 0 auto;accent-color:var(--primary-600);-webkit-appearance:auto;appearance:auto;cursor:pointer}.form-group-checkbox .checkbox-label input[type=checkbox]{flex-shrink:0;width:1.125rem;height:1.125rem;cursor:pointer}.form-group-checkbox .form-hint{margin-top:8px;display:block;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.client-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:transform var(--duration-smooth) var(--ease-in-out-smooth),box-shadow var(--duration-smooth) var(--ease-smooth),border-color var(--duration-smooth) var(--ease-smooth)}.client-card.hidden{display:none}.client-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary-400)}.client-card-cover{position:relative;height:160px;background:linear-gradient(135deg,var(--bg-tertiary),var(--primary-100))}.album-card-cover img,.client-card-cover img{width:100%;height:100%;object-fit:cover}.client-card-cover .no-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:2.5rem}.client-card-status{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.client-card-status.status-empty{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.client-card-status.status-uploaded{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.client-card-status.status-sent{background:#2997ff;color:#fff}.client-card-status.status-active{background:var(--warning);color:#fff}.client-card-status.status-locked{background:var(--success);color:#fff}.client-card-body{padding:20px}.client-card-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.client-card-stats{display:flex;gap:16px;font-size:.875rem;color:var(--text-secondary)}.client-card-stats span{gap:6px}.client-card-stats i{font-size:.75rem}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.album-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:all var(--duration-base) var(--ease-out);position:relative}.album-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary-400)}.album-card-cover,.album-card-cover .no-photo{background:linear-gradient(135deg,var(--bg-tertiary),var(--primary-100))}.album-card-cover{position:relative;height:140px}.album-card-cover .no-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.album-card-cover .no-photo i{font-size:2.5rem;color:var(--text-tertiary)}.album-card-status{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.album-card-status.status-empty{background:linear-gradient(135deg,#6b7280,#4b5563)}.album-card-status.status-uploaded{background:linear-gradient(135deg,#3b82f6,#2563eb)}.album-card-status.status-sent{background:#2997ff}.album-card-status.status-active{background:var(--warning)}.album-card-status.status-locked{background:var(--success)}.album-card-body{padding:16px}.album-card-name{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-stats{display:flex;gap:14px;font-size:.8rem;color:var(--text-secondary)}.album-card-stats span{gap:5px}.album-card-stats i{font-size:.7rem}.album-card-actions{position:absolute;bottom:12px;right:12px;display:flex;gap:6px;opacity:0;transition:opacity var(--duration-fast) ease}.album-card:hover .album-card-actions{opacity:1}.action-btn-icon.small{width:32px;height:32px;font-size:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) ease}.action-btn-icon.small:hover{background:var(--primary-100);border-color:var(--primary-400)}.action-btn-icon.small.danger:hover{background:var(--error-bg);border-color:var(--error);color:var(--error)}.client-profile-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow-sm)}.profile-header{display:flex;align-items:center;gap:24px;padding:28px;background:linear-gradient(135deg,var(--bg-secondary),var(--primary-50));border-bottom:1px solid var(--border-light)}.profile-avatar{width:72px;height:72px;border-radius:var(--radius-lg);background:var(--primary-500);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600;font-family:var(--font-serif)}.profile-info{flex:1}.profile-name{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;font-family:var(--font-serif)}.profile-email{color:var(--text-secondary);font-size:.9375rem;margin:0;display:flex;align-items:center;gap:8px}.profile-credentials{color:var(--text-secondary);font-size:.875rem;margin:0}.profile-credentials .cred-label{color:var(--text-tertiary);font-weight:500}.profile-credentials .cred-value{background:var(--bg-tertiary);color:var(--text-primary);padding:3px 8px;border-radius:var(--radius-sm, 6px);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-size:.8125rem;letter-spacing:.02em;user-select:all}.profile-credentials .cred-value.password-masked[data-revealed="1"]{background:var(--warning-bg, #fef3c7);color:var(--warning, #92400e)}.btn.btn-xs{padding:4px 10px;font-size:.75rem;line-height:1.2;min-height:28px;border-radius:var(--radius-sm, 6px);display:inline-flex;align-items:center;gap:6px}.profile-actions{display:flex;gap:8px}.action-btn-icon{width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast)}.action-btn-icon:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.action-btn-icon.danger:hover{background:var(--error);border-color:var(--error)}.profile-stats{display:flex;gap:48px;padding:24px 28px;border-bottom:1px solid var(--border-light)}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.profile-stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.profile-stat-label{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.profile-controls{display:flex;gap:32px;padding:20px 28px;background:var(--bg-secondary)}.control-item{display:flex;align-items:center;gap:12px}.control-item .control-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.deadline-picker,.status-select{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md)}.status-select{padding:10px 36px 10px 14px;font-size:.875rem;font-weight:600;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C5C5C' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.status-select.active{border-color:var(--warning);color:var(--warning)}.status-select.locked{border-color:var(--success);color:var(--success)}.deadline-picker{display:flex;align-items:center;gap:10px;padding:8px 14px}.deadline-picker i{color:var(--text-tertiary)}.deadline-picker input{border:0!important;padding:0!important;background:0 0!important;box-shadow:none!important;font-size:.875rem}.notes-section{padding:24px}.notes-textarea{width:100%;min-height:100px;padding:16px;border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9375rem;resize:vertical;background:var(--bg-secondary)}.notes-textarea:focus{border-color:var(--primary-500);background:var(--surface)}.upload-section .upload-dropzone{border:2px dashed var(--border);border-radius:var(--radius-xl);padding:48px 32px;text-align:center;background:var(--bg-secondary);cursor:pointer;transition:all var(--duration-fast)}.upload-dropzone.dragover,.upload-dropzone:hover{border-color:var(--primary-500);background:var(--primary-50)}.upload-dropzone .upload-icon{font-size:4rem;color:var(--text-muted);margin-bottom:16px}.upload-dropzone .upload-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.upload-dropzone .upload-subtitle{color:var(--text-secondary);margin:0 0 8px}.upload-dropzone .upload-formats{font-size:.8125rem;color:var(--text-muted);margin:0}.upload-dropzone .file-input{display:none}.upload-actions{display:flex;justify-content:center;gap:16px;margin-top:24px}.btn-lg{padding:14px 28px;font-size:.9375rem}.upload-progress{margin-top:24px;padding:20px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.upload-progress .progress-bar,.upload-progress .progress-fill{position:relative;border-radius:var(--radius-full);overflow:hidden}.upload-progress .progress-bar{height:10px;background:var(--border)}.upload-progress .progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary-500),var(--gold));box-shadow:0 0 12px -2px var(--primary-500);transition:width .45s cubic-bezier(.22,1,.36,1)}.upload-progress .progress-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.45) 50%,transparent 100%);background-size:200% 100%;animation:upload-shine 1.2s linear infinite}.upload-progress .progress-text{display:block;text-align:center;margin-top:12px;font-size:.875rem;color:var(--text-secondary)}.upload-progress.is-uploading .progress-text{animation:upload-text-pulse 1.4s ease-in-out infinite}.upload-actions .btn.is-uploading,.upload-actions .btn.is-uploading:disabled{opacity:1;cursor:progress;animation:upload-btn-pulse 1.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.upload-actions .btn.is-uploading,.upload-progress .progress-fill::after,.upload-progress.is-uploading .progress-text{animation:none}}.album-delete-overlay{position:absolute;inset:0;margin:0;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:inherit;animation:album-overlay-in var(--duration-base) var(--ease-out)}.album-card.is-deleting{cursor:progress}.album-card.is-deleting .album-card-actions,.album-card.is-deleting .album-card-cover{pointer-events:none}.album-card.is-removed{opacity:0;transform:scale(.96);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}@media (prefers-reduced-motion:reduce){.album-delete-overlay{animation:none}.album-card.is-removed{transition:none;opacity:0}}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.photo-item{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s ease,box-shadow var(--duration-fast),border-color var(--duration-fast)}.photo-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-300)}.photo-item.photo-hidden{opacity:0;transform:scale(.9);pointer-events:none}.photo-search-box .photo-search-input{width:220px}.photo-search-empty,.photo-search-note{color:var(--text-muted);text-align:center}.photo-search-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px}.photo-search-empty[hidden]{display:none}.photo-search-empty i{font-size:1.75rem;opacity:.5}.photo-search-empty p{margin:0;font-size:.9375rem}.photo-search-note{margin:12px 0 0;padding:8px 14px;font-size:.8125rem}@media (max-width:600px){.photo-search-box .photo-search-input{width:100%}}.photo-image{position:relative;cursor:pointer;overflow:hidden;line-height:0;aspect-ratio:4/3;background:linear-gradient(135deg,var(--bg-tertiary),var(--primary-100))}.photo-image img{display:block;width:100%;height:100%;object-fit:cover;vertical-align:middle;transition:transform var(--duration-base)}.photo-image .photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:2rem}.photo-item:hover .photo-image img{transform:scale(1.05)}.photo-badge{position:absolute;top:10px;padding:6px 10px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;color:#fff}.photo-badge.recommended{left:10px;background:var(--gold)}.photo-badge.selected{right:10px;background:var(--success)}.photo-filename{padding:8px 12px;font-size:.8125rem;color:var(--text-muted);word-break:break-word;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);text-align:center}.photo-actions{display:flex;justify-content:center;gap:8px;padding:12px;background:var(--bg-secondary)}.photo-action-btn{width:36px;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);font-size:.9375rem;line-height:1;cursor:pointer;transition:all var(--duration-fast)}.photo-action-btn:hover{background:var(--primary-100);color:var(--primary-600)}.photo-action-btn.active{background:var(--gold-bg);color:var(--gold)}.photo-action-btn.info.active{background:var(--success-bg);color:var(--success)}.photo-action-btn.danger{background:var(--error-bg);color:var(--error)}.photo-action-btn.danger:hover{background:var(--error);color:#fff}.lightbox img,.photo-legend{border-radius:var(--radius-lg)}.photo-legend{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border-light);margin-bottom:20px;font-size:.875rem}.legend-title{font-weight:600;color:var(--text-primary)}.legend-icon,.legend-item{display:flex;align-items:center}.legend-item{gap:8px;color:var(--text-secondary)}.legend-icon{width:28px;height:28px;justify-content:center;border-radius:var(--radius-sm);font-size:.8125rem}.legend-icon.gold{background:var(--gold-bg);color:var(--gold)}.legend-icon.green{background:var(--success-bg);color:var(--success)}.legend-icon.red{background:var(--error-bg);color:var(--error)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.empty-state i{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:1.25rem;color:var(--text-secondary);margin:0 0 8px}.empty-state p{margin:0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);z-index:2000;display:none;align-items:center;justify-content:center}.modal.active{display:flex}.modal .modal-content{background:var(--surface);border-radius:var(--radius-2xl);width:100%;max-width:480px;margin:24px;box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border-light)}.modal-header h3{font-size:1.25rem;margin:0}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer;transition:all var(--duration-fast)}.modal-close--corner:hover,.modal-close:hover{background:var(--error-bg);color:var(--error)}.modal-close--corner{position:absolute;top:16px;right:16px;background:0 0}.modal form{padding:28px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-light)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:3000;display:none;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox img{max-width:94vw;max-height:94vh;object-fit:contain}.lightbox-close{position:absolute;top:24px;right:32px;width:48px;height:48px;border:0;border-radius:var(--radius-md);background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;cursor:pointer;transition:all var(--duration-fast)}.lightbox-close:hover{background:rgba(255,255,255,.3)}.reopen-request-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;margin:0 0 20px;border-radius:var(--radius-lg, 12px);background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);color:var(--text-primary)}.reopen-request-banner>i{font-size:1.5rem;color:#f59e0b;flex-shrink:0}.reopen-request-text{display:flex;flex-direction:column;gap:2px}.reopen-request-action{margin-left:auto;flex-shrink:0}.reopen-request-action .btn{white-space:nowrap}@media (max-width:600px){.reopen-request-banner{flex-wrap:wrap}.reopen-request-action{margin-left:0;width:100%}.reopen-request-action .btn{width:100%;justify-content:center}}.reopen-request-text strong{font-weight:600}.reopen-request-text span{font-size:.875rem;color:var(--text-secondary)}.btn-toggle-outline:hover{background:var(--primary-50,rgba(37,99,235,.08))}.btn-toggle-outline:has(:checked){background:var(--primary-600);color:#fff}.btn-toggle-outline:has(:focus-visible){outline:2px solid var(--primary-600);outline-offset:2px}.stats-grid{gap:6px;margin-bottom:24px}.stat-card{border:0;border-radius:18px;box-shadow:0 1px 8px rgba(0,0,0,.05);padding:18px 22px}.stat-number{font-weight:800;letter-spacing:-.03em;font-size:2rem}.content-section{border:0;border-radius:18px;box-shadow:0 1px 8px rgba(0,0,0,.05)}.clients-grid{gap:6px}.albums-grid{gap:6px;padding:20px 0}.album-card,.client-card,.client-profile-card{border:0;border-radius:18px;box-shadow:0 1px 8px rgba(0,0,0,.05)}[data-theme=dark] .album-card,[data-theme=dark] .chart-card,[data-theme=dark] .client-card,[data-theme=dark] .client-profile-card,[data-theme=dark] .content-section,[data-theme=dark] .kpi-card,[data-theme=dark] .stat-card{background:#1a1a1a;box-shadow:none}@media (min-width:1280px){.stats-grid{grid-template-columns:repeat(5,1fr)}}