/* BusinessCardStudio Organized Studio UI refresh */
:root{
  --ui-bg:#0a0f1b;--ui-panel:#111827;--ui-panel-2:#151f31;--ui-line:#26344a;
  --ui-text:#eef2ff;--ui-muted:#94a3b8;--ui-accent:#5b7cfa;--ui-accent-2:#7dd3fc;
  --ui-radius:14px;--ui-shadow:0 18px 50px rgba(0,0,0,.28)
}
html,body{background:var(--ui-bg)}
.app{grid-template-columns:350px minmax(0,1fr);background:var(--ui-bg)}
.sidebar{background:linear-gradient(180deg,#111827,#0d1422);border-right:1px solid var(--ui-line);box-shadow:10px 0 35px rgba(0,0,0,.16)}
.brand{height:auto;min-height:78px;padding:14px 16px;background:transparent;border-bottom:1px solid var(--ui-line);gap:12px}
.brand strong{font-size:16px;letter-spacing:-.01em}.brand small{font-size:11px}.brand .album-link{margin-left:auto;white-space:nowrap;background:rgba(91,124,250,.12);border-color:rgba(125,211,252,.28);color:#dbeafe}
.tabs{display:flex;gap:7px;overflow-x:auto;padding:10px 12px;background:#0c1320;border-bottom:1px solid var(--ui-line);scrollbar-width:thin}
.tabs button{flex:0 0 auto;min-width:max-content;padding:8px 11px;border-radius:999px;background:transparent;border-color:transparent;color:#aebbd0;font-size:12px}
.tabs button:hover{background:#172236}.tabs button.active{background:var(--ui-accent)!important;border-color:transparent!important;box-shadow:0 6px 18px rgba(91,124,250,.28)}
.panel-scroll{padding:18px 16px 34px}.tab-panel h2{font-size:19px;letter-spacing:-.02em}.tab-panel h3{margin-top:24px;color:#a7b3c8}
.builder-card,.contact-editor-card,.text-effects-core{background:rgba(21,31,49,.72)!important;border-color:var(--ui-line)!important;border-radius:var(--ui-radius)!important;box-shadow:none}
.tab-panel input,.tab-panel select,.tab-panel textarea{background:#0b1220;border-color:#2d3b52;border-radius:10px;min-height:40px}.tab-panel label{gap:7px;margin:12px 0;color:#c9d3e2}
.button-grid button,.tab-panel>button,.file-btn,.library-actions button{border-radius:10px;background:#172236;border-color:#304058;min-height:40px}.primary{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
.workspace{grid-template-rows:64px minmax(0,1fr) auto;background:var(--ui-bg)}
.topbar{height:64px;padding:0 18px;background:rgba(12,19,32,.94);border-color:var(--ui-line);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.16);z-index:100}
.topbar-title strong{font-size:15px}.topbar-title span{display:block;margin-top:3px}.top-actions{gap:9px}.history-controls,.zoom-controls{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--ui-line);border-radius:11px;background:#111827}.topbar button,.studio-tools-menu summary{min-width:36px;border:0;background:transparent;color:#dbeafe;border-radius:8px;padding:8px 10px;cursor:pointer}.topbar button:hover,.studio-tools-menu summary:hover{background:#1c2940}.zoom-controls span{min-width:44px;text-align:center;color:#b8c4d8;font-size:11px}
.studio-tools-menu{position:relative}.studio-tools-menu summary{list-style:none;background:var(--ui-accent);color:#fff;font-weight:700}.studio-tools-menu summary::-webkit-details-marker{display:none}.studio-tools-popover{position:absolute;right:0;top:45px;width:300px;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px;background:#111827;border:1px solid var(--ui-line);border-radius:14px;box-shadow:var(--ui-shadow);z-index:500}.studio-tools-popover button{min-height:42px;text-align:left;background:#172236;border:1px solid #2c3b52;color:#e8eefb}.studio-tools-popover button:hover{background:#20304b}
.always-visible-studio-bars,.always-visible-history-bar,.always-visible-health-bar,.always-visible-sides-bar,.always-visible-print-bar,.always-visible-alignment-bar{display:none!important}
.stage{padding:40px 44px 72px;background:radial-gradient(circle at 50% 18%,rgba(60,90,170,.18),transparent 34%),linear-gradient(135deg,#0b111d,#080c15);align-items:center}.card{box-shadow:0 32px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.04)}
.mobile-quick-actions{border-top:1px solid var(--ui-line);background:rgba(12,19,32,.96)}
/* Album: full-card previews and calmer presentation */
#albumView{background:#0a0f1b;color:var(--ui-text)}
#albumView .album-header{background:rgba(12,19,32,.94);border-color:var(--ui-line);height:72px}
#albumView .album-main{max-width:1380px;padding:38px 32px 80px}
#albumView .hero{padding:30px;border:1px solid var(--ui-line);border-radius:22px;background:linear-gradient(135deg,rgba(23,34,54,.95),rgba(12,19,32,.95));box-shadow:var(--ui-shadow)}
#albumView .hero h1{font-size:clamp(32px,4.3vw,56px);max-width:720px}
#albumView .template-album-library{padding:24px;background:#101827;border-color:var(--ui-line);box-shadow:0 14px 38px rgba(0,0,0,.18)}
#albumView .album-template-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
#albumView .album-template-card,#albumView .album-card,#albumView .carousel-card{background:#111827;border-color:var(--ui-line);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.16)}
#albumView .album-template-preview,#albumView .preview-wrap{aspect-ratio:1050/600;background:linear-gradient(135deg,#080d16,#111c2d);display:grid;place-items:center;overflow:hidden;padding:12px;border-bottom:1px solid var(--ui-line)}
#albumView .album-template-preview{padding:0}
#albumView .preview-wrap img,#albumView .carousel-card img{width:100%;height:100%;object-fit:contain!important;object-position:center;display:block;border-radius:10px;background:#080d16;padding:8px}
#albumView .carousel-card{width:360px;padding:12px}#albumView .carousel-card img{aspect-ratio:1050/600;object-fit:contain!important}
#albumView .album-template-preview:after{inset:0;border-radius:0}
#albumView .album-template-info{padding:14px 14px 9px}#albumView .album-template-card>button{margin:0 14px 14px;width:calc(100% - 28px);min-height:42px;border-radius:10px}
#albumView .showcase,#albumView .library{padding-top:10px}
#albumView .section-head h2{font-size:23px}
#albumView .album-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
#albumView .card-actions{padding:0 14px 14px}.featured-badge{z-index:3}
@media(max-width:1050px){.app{grid-template-columns:315px minmax(0,1fr)}.stage{padding:30px 24px 56px}.studio-tools-popover{width:270px}}
@media(max-width:720px){.app{display:block}.workspace{grid-template-rows:58px minmax(0,1fr) auto}.topbar{height:58px;padding:0 10px}.history-controls{display:none}.zoom-controls #fit{display:none}.studio-tools-popover{position:fixed;left:12px;right:12px;top:66px;width:auto}.stage{padding:22px 12px 46px}#albumView .album-main{padding:22px 14px 60px}#albumView .hero{padding:20px}#albumView .album-template-grid{grid-template-columns:1fr}#albumView .album-grid{grid-template-columns:1fr}#albumView .carousel-card{width:min(86vw,340px)}}

/* UI regression repair: stable studio canvas and readable navigation */
.app{
  grid-template-columns:360px minmax(0,1fr)!important;
  height:100vh!important;
  overflow:hidden!important;
}
.sidebar{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.brand{position:relative!important;z-index:3!important;min-height:72px!important}
.tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  padding:10px!important;
  overflow:visible!important;
  background:#0c1320!important;
}
.tabs button{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  min-height:38px!important;
  padding:8px 6px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#cbd5e1!important;
  background:#131d2e!important;
  border:1px solid #263750!important;
  opacity:1!important;
  visibility:visible!important;
}
.tabs button:hover,.tabs button:focus-visible{
  color:#fff!important;
  background:#1d2b43!important;
  border-color:#4d6c9e!important;
  opacity:1!important;
}
.tabs button.active,.tabs button.active:hover{
  color:#fff!important;
  background:#4f6ff0!important;
  border-color:#7891ff!important;
}
.panel-scroll{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px 14px 30px!important;
}
.tab-panel{min-width:0!important}
.workspace{
  display:grid!important;
  grid-template-rows:64px minmax(0,1fr) auto!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.stage{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:300px!important;
  width:100%!important;
  height:100%!important;
  overflow:auto!important;
  padding:30px!important;
}
.card-wrap{
  display:block!important;
  flex:0 0 auto!important;
  position:relative!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
.card{
  display:block!important;
  position:relative!important;
  flex:0 0 auto!important;
  opacity:1!important;
  visibility:visible!important;
  transform-origin:top left!important;
}
.background-layer{display:block!important}
.mobile-quick-actions{min-height:54px!important}
@media(max-width:1050px){.app{grid-template-columns:320px minmax(0,1fr)!important}}
@media(max-width:760px){
  .app{grid-template-columns:1fr!important;grid-template-rows:minmax(300px,46dvh) minmax(0,1fr)!important}
  .workspace{height:auto!important;grid-template-rows:56px minmax(0,1fr)!important}
  .sidebar{height:auto!important;grid-template-rows:auto auto minmax(0,1fr)!important}
  .tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .tabs button{font-size:11px!important;min-height:36px!important}
  .stage{min-height:220px!important;padding:14px!important}
  .mobile-quick-actions{display:none!important}
}

/* Template preview interaction repair */
.template-preview-modal{isolation:isolate;pointer-events:auto}
.template-preview-backdrop{z-index:0;pointer-events:auto}
.template-preview-panel{z-index:2;pointer-events:auto}
.template-preview-panel *{pointer-events:auto}
.template-preview-visual:before,.template-preview-visual:after{pointer-events:none}
.template-preview-actions button,.template-preview-close{position:relative;z-index:3;cursor:pointer}

/* Global ownership notice — visible on every app route. */
body {
  padding-bottom: 38px;
}
.global-copyright {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 9px 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(5, 11, 20, 0.96);
  color: #94a3b8;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.global-copyright strong {
  color: #e2e8f0;
  font-weight: 700;
}
@media (max-width: 640px) {
  body { padding-bottom: 42px; }
  .global-copyright { min-height: 42px; font-size: 11px; }
}
