/* Omvia Cloud 1.6.0 — Universal Design Lock Authority
   Loaded LAST on every standard surface. This file is the product-wide visual
   contract for all existing and future pages. It deliberately preserves media
   viewer mechanics while forcing shared geometry, typography and themes. */
:root{
  --omvia-bg:#f8fafc;--omvia-panel:#ffffff;--omvia-panel-soft:#f5f7fb;--omvia-panel-raised:#ffffff;
  --omvia-text:#000000;--omvia-muted:#000000;--omvia-line:#dfe5ee;--omvia-line-strong:#cfd7e4;
  --omvia-blue:#1769ff;--omvia-cyan:#13bde9;--omvia-violet:#6f42ff;--omvia-magenta:#d81bc7;
  --omvia-green:#0da85a;--omvia-orange:#ff8a00;--omvia-red:#db3047;
  --omvia-gradient:linear-gradient(118deg,#1769ff 0%,#6250ff 58%,#d719bf 100%);
  --omvia-shadow:0 8px 24px rgba(19,37,70,.055),0 1px 2px rgba(15,31,57,.035);
  --omvia-shadow-float:0 18px 48px rgba(19,37,70,.10);
  --omvia-radius:16px;--omvia-radius-sm:11px;--omvia-control:46px;
  --omvia-sidebar:262px;--omvia-topbar:82px;--omvia-gutter:clamp(18px,3vw,42px);--omvia-content:1190px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --omvia-bg:#07101f;--omvia-panel:#0d1a2d;--omvia-panel-soft:#12233a;--omvia-panel-raised:#10203a;
  --omvia-text:#f6f8fc;--omvia-muted:#a9b6c8;--omvia-line:#263b57;--omvia-line-strong:#365170;
  --omvia-blue:#65a0ff;--omvia-cyan:#42d3f1;--omvia-violet:#9870ff;--omvia-magenta:#eb66d3;
  --omvia-green:#4ed191;--omvia-orange:#ffb34d;--omvia-red:#ff7180;
  --omvia-gradient:linear-gradient(118deg,#13c7ef 0%,#6767ff 50%,#dc46c6 100%);
  --omvia-shadow:0 10px 30px rgba(0,0,0,.22),0 1px 2px rgba(0,0,0,.16);
  --omvia-shadow-float:0 22px 58px rgba(0,0,0,.34);color-scheme:dark;
}
html{background:var(--omvia-bg)!important;color:var(--omvia-text)!important}
body{background:var(--omvia-bg)!important;color:var(--omvia-text)!important;overflow-x:hidden!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,canvas,svg{max-width:100%}
/* Light-theme rule requested by product owner: normal textual content is black. */
html[data-theme="light"] :where(body,main,section,article,aside,header,footer,nav,form,table,thead,tbody,tr,td,th,label,h1,h2,h3,h4,h5,h6,p,strong,small,span,li,dt,dd,code){color:#000}
html[data-theme="light"] :where(.muted,.tiny,.eyebrow,.ref-eyebrow,.section-head p,.page-heading p,.admin-heading p,.account-heading p,.setting-row span,.setting-row small,.ref-heading p,.price-storage,.price-value span){color:#000!important}
/* Semantic controls retain intentional contrast. */
html[data-theme="light"] :where(.btn.primary,.oc-btn.primary,.ref-land-primary,.ref-mobile-create,.plan-popular,.toast.ok,.toast.error,.gallery-selection-mode .photo-native-wrap.is-selected::before){color:#000!important}
html[data-theme="light"] :where(.ref-nav-link.active,.files-filter-strip a.active,a:focus-visible,.oc-link,.ref-pricing-link){color:#000!important}

/* Universal containment and typography safety */
:where(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,a,button,td,th,li){overflow-wrap:anywhere}
:where(.page-shell,.account-shell,.admin-shell,.ref-shell,.files-ref-shell,.gallery-experience-shell){max-width:100%;min-width:0}
:where(.section-card,.ref-card,.price-card,.plan-card,.setting-row,.admin-table-scroll,.page-shell,.admin-main,.account-main,.page-main,.gallery-main){overflow:visible}
:where(.photo-native-wrap,.photo-native-item,.gallery-album-card,.ref-action-icon,.avatar,.ref-avatar,.media-frame,.thumbnail){overflow:hidden!important}
:where(.admin-table-scroll,.table-scroll,.responsive-table,.gallery-albums){overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:where(button,.btn,.oc-btn,.ref-land-primary,.ref-land-secondary,.files-action-button,.gallery-square-btn,.gallery-icon-btn){min-height:var(--omvia-control)!important;border-radius:var(--omvia-radius-sm)!important;line-height:1.15!important}
:where(button,.btn,.oc-btn,.ref-land-primary,.ref-land-secondary){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:0 17px!important}
:where(button,.btn,.oc-btn,.icon-btn,.ref-icon-button,.gallery-icon-btn,.gallery-square-btn) > svg{display:block!important;flex:0 0 auto!important;margin:auto!important}
:where(.icon-btn,.ref-icon-button,.gallery-icon-btn,.gallery-square-btn,.ref-theme-toggle,.omvia-public-theme-toggle){width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:grid!important;place-items:center!important}
:where(.form-control,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){border:1px solid var(--omvia-line)!important;border-radius:var(--omvia-radius-sm)!important;background:var(--omvia-panel)!important;color:var(--omvia-text)!important;box-shadow:none!important}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){min-height:46px!important;padding:0 14px!important}
textarea{padding:12px 14px!important}
html[data-theme="light"] :where(a,button,input,select,textarea,option){color:#000!important}
html[data-theme="light"] ::placeholder{color:#333!important;opacity:1}
html[data-theme="dark"] ::placeholder{color:#8797ad!important;opacity:1}
:focus-visible{outline:3px solid color-mix(in srgb,var(--omvia-blue) 24%,transparent)!important;outline-offset:2px!important}

/* Shared cards / page geometry */
:where(.section-card,.ref-card,.price-card,.plan-card){border:1px solid var(--omvia-line)!important;background:var(--omvia-panel)!important;border-radius:var(--omvia-radius)!important;box-shadow:var(--omvia-shadow)!important}
:where(.page-shell,.account-shell){background:var(--omvia-bg)!important;min-height:100vh}
:where(.page-topbar,.account-topbar){height:var(--omvia-topbar)!important;padding-inline:var(--omvia-gutter)!important;background:color-mix(in srgb,var(--omvia-panel) 95%,transparent)!important;border-color:var(--omvia-line)!important;backdrop-filter:saturate(125%) blur(12px)}
:where(.page-main,.account-main){width:min(100%,calc(var(--omvia-content) + var(--omvia-gutter)*2))!important;margin:0 auto!important;padding:30px var(--omvia-gutter) 94px!important}
:where(.page-heading,.account-heading,.admin-heading){max-width:var(--omvia-content)!important;margin:0 auto 24px!important}
:where(.page-heading h1,.account-heading h1,.admin-heading h1){margin:4px 0 7px!important;font-size:clamp(28px,3vw,38px)!important;letter-spacing:-.043em!important;color:var(--omvia-text)!important}
:where(.section-head){padding:20px 22px!important;gap:18px!important;border-color:var(--omvia-line)!important}
:where(.section-head h2){color:var(--omvia-text)!important;font-size:18px!important}
:where(.field-grid,.settings-list,.admin-form-pad,.platform-form){gap:16px!important}
:where(.admin-form-pad){padding:20px 22px!important}
:where(.setting-row){padding:17px 20px!important;border-color:var(--omvia-line)!important}

/* Customer workspace / dashboard */
.ref-shell{display:grid!important;grid-template-columns:var(--omvia-sidebar) minmax(0,1fr)!important;min-height:100vh!important;background:var(--omvia-bg)!important}
.ref-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--omvia-sidebar)!important;padding:24px 20px 22px!important;background:var(--omvia-panel)!important;border-right:1px solid var(--omvia-line)!important;display:flex!important;flex-direction:column!important;z-index:80!important;overflow-y:auto!important}
.ref-brand{min-height:52px!important;padding:0 8px!important;display:flex!important;align-items:center!important}.ref-brand img{width:186px!important;max-height:42px!important;object-fit:contain!important;object-position:left center!important}
.ref-nav{display:grid!important;gap:4px!important;margin:17px 0 24px!important}.ref-nav-link{min-height:44px!important;padding:0 13px!important;border-radius:10px!important;display:flex!important;align-items:center!important;gap:13px!important;text-decoration:none!important;font-size:14px!important;font-weight:560!important;color:var(--omvia-text)!important}.ref-nav-link:hover{background:var(--omvia-panel-soft)!important}.ref-nav-link.active{color:var(--omvia-blue)!important;background:color-mix(in srgb,var(--omvia-blue) 8%,var(--omvia-panel))!important}
.ref-main{grid-column:2!important;min-width:0!important;background:var(--omvia-bg)!important}.ref-topbar{height:var(--omvia-topbar)!important;padding:0 30px!important;display:flex!important;align-items:center!important;gap:22px!important;position:sticky!important;top:0!important;z-index:55!important;background:color-mix(in srgb,var(--omvia-panel) 96%,transparent)!important;border-bottom:1px solid var(--omvia-line)!important;backdrop-filter:saturate(130%) blur(12px)}
.ref-search{height:44px!important;width:min(710px,64%)!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 14px!important;border:1px solid var(--omvia-line)!important;border-radius:11px!important;background:var(--omvia-panel)!important;color:var(--omvia-text)!important}.ref-search input{height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;flex:1!important}
.ref-top-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important}.ref-avatar-button{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:12px!important}.ref-avatar{width:38px!important;height:38px!important;border-radius:12px!important}
.ref-heading{width:min(var(--omvia-content),calc(100% - var(--omvia-gutter)*2))!important;margin:28px auto 22px!important}.ref-heading h1{margin:4px 0 5px!important;font-size:32px!important;letter-spacing:-.045em!important;color:var(--omvia-text)!important}.ref-content-grid{width:min(var(--omvia-content),calc(100% - var(--omvia-gutter)*2))!important;margin:0 auto 80px!important;gap:25px!important}
.ref-storage-card,.ref-quick-card,.ref-recent-card,.ref-activity-card{border:1px solid var(--omvia-line)!important;background:var(--omvia-panel)!important;border-radius:var(--omvia-radius)!important;box-shadow:var(--omvia-shadow)!important}

/* Gallery is a priority visual lock. Preserve its slide engine; only presentation is controlled here. */
.gallery-experience-shell{grid-template-columns:var(--omvia-sidebar) minmax(0,1fr)!important;background:var(--omvia-bg)!important}
.gallery-sidebar{width:var(--omvia-sidebar)!important;background:var(--omvia-panel)!important;border-right:1px solid var(--omvia-line)!important}
.gallery-workspace,.gallery-main{background:var(--omvia-bg)!important}.gallery-main{width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:29px var(--omvia-gutter) 100px!important}
.gallery-topbar{height:var(--omvia-topbar)!important;background:color-mix(in srgb,var(--omvia-panel) 96%,transparent)!important;border-bottom:1px solid var(--omvia-line)!important}
.gallery-heading-row{margin:0 0 27px!important;align-items:flex-start!important}.gallery-heading-row h1{font-size:32px!important;letter-spacing:-.042em!important;margin:0 0 5px!important;color:var(--omvia-text)!important}
.gallery-albums{display:grid!important;grid-template-columns:repeat(8,minmax(118px,1fr))!important;gap:13px!important;margin:0 0 30px!important;padding:0 0 8px!important;scrollbar-width:thin}
.gallery-album-card{min-width:118px!important;border:1px solid var(--omvia-line)!important;border-radius:13px!important;background:var(--omvia-panel)!important;box-shadow:none!important}.gallery-album-card:hover{box-shadow:var(--omvia-shadow)!important;transform:translateY(-1px)}.gallery-album-card.active,.gallery-album-card.all{background:color-mix(in srgb,var(--omvia-blue) 7%,var(--omvia-panel))!important;border-color:color-mix(in srgb,var(--omvia-blue) 28%,var(--omvia-line))!important}.gallery-album-cover{height:120px!important;border-bottom:1px solid var(--omvia-line)!important}.gallery-album-meta{padding:10px 12px 12px!important}
.gallery-toolbar{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;flex-wrap:wrap!important;background:transparent!important;border:0!important;padding:0!important;margin:0 0 17px!important}.gallery-toolbar button,.gallery-toolbar a{background:var(--omvia-panel)!important;color:var(--omvia-text)!important;border:1px solid var(--omvia-line)!important;box-shadow:none!important}
.gallery-photo-stream{border:0!important;box-shadow:none!important;background:transparent!important}.gallery-photo-library,.photo-library{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:11px!important}.photo-native-wrap,.photo-native-item{border-radius:11px!important;background:var(--omvia-panel-soft)!important}.photo-native-item img{transition:transform .2s ease,filter .2s ease!important}.photo-native-item:hover img{transform:scale(1.012)!important;filter:saturate(1.025)!important}
/* Never disturb immersive gallery transforms / track physics. */
:where(.gallery-track-v24426,.gallery-slide-v24426,[data-gallery-track],[data-gallery-slide]){contain:layout paint!important;backface-visibility:hidden}

/* Admin console */
.admin-shell{display:grid!important;grid-template-columns:var(--omvia-sidebar) minmax(0,1fr)!important;min-height:100vh!important;background:var(--omvia-bg)!important}.admin-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--omvia-sidebar)!important;padding:20px 16px!important;background:var(--omvia-panel)!important;border-right:1px solid var(--omvia-line)!important;overflow-y:auto!important;z-index:100!important}.admin-workspace{grid-column:2!important;background:var(--omvia-bg)!important}.admin-top{min-height:var(--omvia-topbar)!important;padding:12px 28px!important;position:sticky!important;top:0!important;z-index:90!important;background:color-mix(in srgb,var(--omvia-panel) 96%,transparent)!important;border-bottom:1px solid var(--omvia-line)!important;backdrop-filter:blur(12px)!important}.admin-main{width:min(100%,calc(1260px + var(--omvia-gutter)*2))!important;margin:0 auto!important;padding:28px var(--omvia-gutter) 80px!important}.admin-side-link{min-height:42px!important;border-radius:10px!important;color:var(--omvia-text)!important}.admin-side-link.active{background:color-mix(in srgb,var(--omvia-blue) 8%,var(--omvia-panel))!important;color:var(--omvia-blue)!important}.admin-stats,.official-plan-grid{gap:14px!important}.admin-table{width:100%!important}.admin-table th,.admin-table td{padding:13px 14px!important;border-color:var(--omvia-line)!important}

/* Auth / public / legal surfaces */
:where(.ref-login-page,.ref-register-page,.legal-v213,.public-request-shell,.price-page,.oc-status-shell){background:var(--omvia-bg)!important;color:var(--omvia-text)!important}
:where(.ref-login-shell,.ref-register-grid,.public-request-card,.lv-policy-card,.price-card,.oc-status-panel){border-color:var(--omvia-line)!important;background:var(--omvia-panel)!important;box-shadow:var(--omvia-shadow)!important}
.omvia-public-theme-toggle{position:fixed!important;z-index:2147481000!important;top:max(18px,env(safe-area-inset-top))!important;right:max(18px,env(safe-area-inset-right))!important;border:1px solid var(--omvia-line)!important;background:var(--omvia-panel)!important;color:var(--omvia-text)!important;box-shadow:var(--omvia-shadow)!important}

/* Maintenance control/admin alignment */
.maintenance-control-card{grid-column:1/-1!important}.maintenance-switch{padding:16px!important;border:1px solid var(--omvia-line)!important;border-radius:13px!important;background:var(--omvia-panel-soft)!important}.maintenance-admin-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.maintenance-live{color:var(--omvia-green)!important}.maintenance-off{color:var(--omvia-text)!important}

@media(max-width:1180px){.gallery-albums{grid-template-columns:repeat(6,minmax(118px,1fr))!important}.gallery-photo-library,.photo-library{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:980px){
  :root{--omvia-gutter:20px}
  .ref-shell,.gallery-experience-shell,.files-ref-shell,.admin-shell{display:block!important}.ref-sidebar,.gallery-sidebar,.files-ref-sidebar{display:none!important}.ref-main,.gallery-workspace,.files-ref-main,.admin-workspace{grid-column:auto!important}
  .ref-topbar,.gallery-topbar,.files-ref-topbar{height:auto!important;min-height:72px!important;padding:12px var(--omvia-gutter)!important;flex-wrap:wrap!important}.ref-search{width:100%!important;max-width:none!important;order:3!important}
  .admin-sidebar{transform:translateX(-101%)!important;transition:transform .2s ease!important;box-shadow:var(--omvia-shadow-float)!important}.admin-shell.admin-nav-open .admin-sidebar,.admin-sidebar.is-open{transform:translateX(0)!important}.admin-sidebar-collapse-btn{display:none!important}
  .gallery-albums{display:flex!important}.gallery-album-card{flex:0 0 124px!important}.gallery-photo-library,.photo-library{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:640px){
  :root{--omvia-gutter:14px;--omvia-radius:14px}
  .page-main,.account-main,.admin-main,.gallery-main{padding-inline:var(--omvia-gutter)!important}.page-heading h1,.account-heading h1,.admin-heading h1{font-size:29px!important}.section-head{padding:17px!important}.admin-form-pad{padding:17px!important}.setting-row{padding:15px 16px!important}
  .gallery-main{padding-top:22px!important;padding-bottom:108px!important}.gallery-heading-row{gap:12px!important;flex-wrap:wrap!important}.gallery-albums{margin-bottom:22px!important}.gallery-photo-library,.photo-library{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.gallery-toolbar{justify-content:flex-start!important}
  .admin-top{padding-inline:var(--omvia-gutter)!important}.admin-top-copy span,.admin-dashboard-return span{display:none!important}.admin-dashboard-return{width:44px!important;padding:0!important}.admin-table{min-width:720px!important}
  .maintenance-admin-actions>*{width:100%!important}
}
@media(max-width:380px){.gallery-photo-library,.photo-library{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gallery-album-card{flex-basis:116px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
