/* Print797 v21 unified suite shell
   This file normalizes every app page so they look like one product. */
:root{
  --suite-bg:#eef6ff;
  --suite-card:#ffffff;
  --suite-card-2:#f8fbff;
  --suite-text:#07162c;
  --suite-muted:#536476;
  --suite-line:#d7e4f2;
  --suite-blue:#0071ce;
  --suite-blue-2:#005cad;
  --suite-yellow:#ffc220;
  --suite-green:#16a34a;
  --suite-purple:#6d38d5;
  --suite-red:#e54545;
  --suite-shadow:0 18px 50px rgba(15, 23, 42, .10);
  --suite-radius:24px;
  --suite-radius-sm:16px;
}
html[data-theme="dark"]{
  --suite-bg:#0b1220;
  --suite-card:#172235;
  --suite-card-2:#111827;
  --suite-text:#f8fafc;
  --suite-muted:#d5e1f0;
  --suite-line:#3b4a60;
  --suite-blue:#0b73c9;
  --suite-blue-2:#075aa2;
  --suite-shadow:0 18px 50px rgba(0,0,0,.32);
}
*{box-sizing:border-box;}
html,body{min-height:100%;}
body{
  margin:0!important;
  background:
    radial-gradient(circle at top left, rgba(0,113,206,.10), transparent 35%),
    linear-gradient(180deg, var(--suite-bg), #f8fbff 58%, var(--suite-bg))!important;
  color:var(--suite-text)!important;
  font-family:"Everyday Sans", system-ui, -apple-system, Segoe UI, sans-serif!important;
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left, rgba(0,113,206,.18), transparent 36%),
    linear-gradient(180deg, #08111f, #0b1220 58%, #08111f)!important;
}
/* Unified app header: works with all existing header class names */
.topbar,
.app-header,
.top-bar{
  width:min(1180px, calc(100% - 24px))!important;
  margin:10px auto 18px!important;
  padding:22px 26px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:18px!important;
  border-radius:0 0 28px 28px!important;
  background:linear-gradient(135deg,var(--suite-blue),var(--suite-blue-2))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 16px 42px rgba(0,113,206,.22)!important;
}
.topbar h1,.app-header h1,.top-bar h1,
.topbar p,.app-header p,.top-bar p,
.topbar span,.app-header span,.top-bar span,
.topbar .eyebrow,.app-header .eyebrow,.top-bar .eyebrow{
  color:#fff!important;
}
.topbar h1,.app-header h1,.top-bar h1{
  margin:0!important;
  font-size:clamp(30px, 4vw, 54px)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
}
.topbar p,.app-header p,.top-bar p{
  margin:6px 0 0!important;
  opacity:.96!important;
  font-weight:650!important;
}
.topbar .eyebrow,.app-header .eyebrow,.top-bar .eyebrow,.store-pill{
  display:block!important;
  margin:0 0 5px!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.home-link,.back{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.home-link:hover,.back:hover{background:rgba(255,255,255,.25)!important;}
.save-top{justify-self:end!important;}
.week-chip{
  background:rgba(255,255,255,.15)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  min-width:160px!important;
}
.week-chip span,.week-chip small,.week-chip strong{color:#fff!important;}
/* Layout normalization */
.app,.workspace,.designer-shell,.planner-shell{
  width:min(1180px, calc(100% - 24px))!important;
  margin:0 auto 28px!important;
  color:var(--suite-text)!important;
}
.workspace,.designer-shell{
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.app{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}
.planner-shell{display:block!important;}
.controls,.control-rail,.controls-card{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.panel,.card,.controls-card,.preview-panel,.preview-card,.sheet-card,.print-note,.week-picker-card,.plan-card,.add-task-card,.actions-card,.schedule-card,
.modal-card,.size-panel,.tool-note,.section-card{
  background:var(--suite-card)!important;
  border:1px solid var(--suite-line)!important;
  border-radius:var(--suite-radius)!important;
  box-shadow:var(--suite-shadow)!important;
  color:var(--suite-text)!important;
}
.panel,.card,.controls-card,.preview-panel,.preview-card,.sheet-card,.print-note{padding:20px!important;}
.panel h2,.card h2,.controls-card h2,.preview-panel h2,.preview-card h2,.sheet-card h2,
summary{
  color:var(--suite-text)!important;
  font-size:22px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
  margin:0 0 12px!important;
}
label{color:var(--suite-text)!important;font-weight:850!important;margin:0 0 14px!important;display:block!important;}
.hint,.subhead,.subtitle,.muted,small,.status,.preview-help,.card-heading p,.sheet-header p{
  color:var(--suite-muted)!important;
}
input,textarea,select{
  width:100%!important;
  min-height:44px!important;
  border:1px solid var(--suite-line)!important;
  border-radius:13px!important;
  background:var(--suite-card-2)!important;
  color:var(--suite-text)!important;
  padding:11px 13px!important;
  font:850 14px "Everyday Sans", system-ui, sans-serif!important;
  outline:none!important;
}
input:focus,textarea:focus,select:focus{border-color:var(--suite-blue)!important;box-shadow:0 0 0 4px rgba(0,113,206,.14)!important;}
input::placeholder,textarea::placeholder{color:#8b9aac!important;opacity:1!important;}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#9fb1c8!important;opacity:1!important;}
button,.primary,.secondary,.danger,.large-action,.secondary-action{
  min-height:42px!important;
  border-radius:13px!important;
  border:1px solid transparent!important;
  font:900 14px "Everyday Sans", system-ui, sans-serif!important;
  cursor:pointer!important;
}
.primary,.large-action,#saveBtn,#exportBtn,#addTask,#addBanner,#downloadButton{
  background:linear-gradient(135deg,var(--suite-blue),var(--suite-blue-2))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 12px 28px rgba(0,113,206,.22)!important;
}
.secondary,.secondary-action,#previewButton,#resetPositionButton,#clearImage,#clearBg,#openAiModal{
  background:var(--suite-card-2)!important;
  color:var(--suite-text)!important;
  border-color:var(--suite-line)!important;
}
.danger,#clearSheet{background:#e11d48!important;color:#fff!important;border-color:#e11d48!important;}
button:disabled,.disabled{opacity:.48!important;cursor:not-allowed!important;box-shadow:none!important;}
.range-label{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:center!important;}
input[type="range"]{padding:0!important;min-height:22px!important;background:transparent!important;box-shadow:none!important;}
input[type="color"]{padding:4px!important;min-width:44px!important;}
.two-col,.grid.two,.button-row,.actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
/* Preview/stage areas */
.preview-area,.preview-panel,.preview-card,.sheet-card,.plan-card{
  overflow:hidden!important;
}
.preview-wrap,.poster-stage,.sheet-stage,.preview-stage,.stage,.canvas-wrap{
  background:linear-gradient(45deg, rgba(148,163,184,.16) 25%, transparent 25%),
             linear-gradient(-45deg, rgba(148,163,184,.16) 25%, transparent 25%),
             linear-gradient(45deg, transparent 75%, rgba(148,163,184,.16) 75%),
             linear-gradient(-45deg, transparent 75%, rgba(148,163,184,.16) 75%)!important;
  background-size:22px 22px!important;
  background-position:0 0,0 11px,11px -11px,-11px 0!important;
  border:1px solid var(--suite-line)!important;
  border-radius:22px!important;
}
.sheet-stage,.preview-card .stage,.poster-stage{background-color:var(--suite-card-2)!important;}
canvas{max-width:100%!important;height:auto!important;}
.poster-sheet{width:var(--paper-w)!important;height:var(--paper-h)!important;max-width:100%!important;}
/* Size and week tiles */
.size-option,.segmented button,.week-tab,.card-option{
  background:var(--suite-card-2)!important;
  color:var(--suite-text)!important;
  border:1px solid var(--suite-line)!important;
  border-radius:15px!important;
}
.size-option.active,.segmented button.active,.week-tab.active,.card-option.active{
  background:linear-gradient(135deg,var(--suite-blue),var(--suite-blue-2))!important;
  color:#fff!important;
  border-color:var(--suite-blue)!important;
  box-shadow:0 14px 26px rgba(0,113,206,.20)!important;
}
.size-option.active *,.segmented button.active *,.week-tab.active *{color:#fff!important;}
/* Task planner */
.planner-flow{display:flex!important;flex-direction:column!important;gap:16px!important;}
.week-board{display:grid!important;grid-template-columns:repeat(7,minmax(130px,1fr))!important;gap:12px!important;overflow-x:auto!important;padding-bottom:4px!important;}
.day-col{
  background:var(--suite-card-2)!important;
  border:1px solid var(--suite-line)!important;
  border-radius:18px!important;
  min-height:210px!important;
  padding:12px!important;
}
.task-card{
  border-radius:14px!important;
  border:1px solid #dbe6f2!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
.task-card strong,.task-card p{color:#0f172a!important;}
html[data-theme="dark"] .task-card{background:#f8fafc!important;color:#0f172a!important;}
html[data-theme="dark"] .task-card strong{color:#0f172a!important;}
html[data-theme="dark"] .task-card p{color:#334155!important;}
.delete{background:#e2e8f0!important;color:#0f172a!important;border-radius:999px!important;min-width:34px!important;min-height:34px!important;}
.task-card.completed{opacity:.78!important;}
.task-card.completed strong{text-decoration:line-through!important;color:#64748b!important;}
/* Privacy note, consistent across app pages */
.privacy-disclaimer,.privacy-note{
  width:min(1180px, calc(100% - 24px))!important;
  margin:18px auto!important;
  padding:14px 18px!important;
  border-radius:16px!important;
  border:1px solid var(--suite-line)!important;
  background:var(--suite-card)!important;
  color:var(--suite-muted)!important;
  font-weight:750!important;
  box-shadow:var(--suite-shadow)!important;
}
.privacy-disclaimer strong,.privacy-note strong{color:var(--suite-text)!important;}
/* Theme toggle uniform */
.theme-toggle,.top-theme-toggle{
  background:var(--suite-card)!important;
  color:var(--suite-text)!important;
  border-color:var(--suite-line)!important;
}
/* Mobile */
@media(max-width:900px){
  .topbar,.app-header,.top-bar{
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    padding:18px!important;
    border-radius:0 0 22px 22px!important;
  }
  .home-link,.back{grid-column:1 / -1!important;justify-self:start!important;min-height:36px!important;padding:8px 12px!important;}
  .topbar h1,.app-header h1,.top-bar h1{font-size:clamp(32px, 10vw, 48px)!important;}
  .save-top{grid-column:1 / -1!important;justify-self:stretch!important;width:100%!important;}
  .week-chip{grid-column:auto!important;min-width:132px!important;padding:10px 12px!important;}
  .workspace,.designer-shell,.app{display:flex!important;flex-direction:column!important;width:calc(100% - 16px)!important;gap:14px!important;}
  .panel,.card,.controls-card,.preview-panel,.preview-card,.sheet-card,.print-note{padding:16px!important;border-radius:20px!important;}
  .two-col,.grid.two,.button-row,.actions{grid-template-columns:1fr!important;}
  .week-board{grid-template-columns:repeat(7, minmax(150px, 1fr))!important;}
  .theme-toggle{top:auto!important;bottom:12px!important;right:12px!important;z-index:999999!important;}
}
@media(max-width:560px){
  .topbar,.app-header,.top-bar{width:100%!important;margin:0 0 12px!important;border-radius:0 0 20px 20px!important;}
  .app,.workspace,.designer-shell,.planner-shell{width:100%!important;padding:0 10px!important;}
  .week-board{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;}
  .day-col{min-width:160px!important;scroll-snap-align:start!important;}
}

/* v22 banner sheet visibility fix: keep the 24x36 sheet visible in unified themes */
.sheet-stage .poster-sheet, .poster-sheet{
  width:var(--paper-w)!important;
  height:var(--paper-h)!important;
  min-height:var(--paper-h)!important;
  display:block!important;
  background:#fff!important;
  color:#0f172a!important;
}
.sheet-stage{
  min-height:calc(var(--paper-h) + 28px)!important;
}
@media(max-width:720px){.sheet-stage{min-height:420px!important;}}

/* v26 final unified dark UI polish */
html[data-theme="dark"]{
  --suite-bg:#08111f;
  --suite-card:#172235;
  --suite-card-2:#0d1727;
  --suite-text:#f8fafc;
  --suite-muted:#d9e6f6;
  --suite-line:#344861;
  --suite-blue:#0071ce;
  --suite-blue-2:#005cad;
}
html[data-theme="light"]{
  --suite-bg:#eef6ff;
  --suite-card:#ffffff;
  --suite-card-2:#f8fbff;
  --suite-text:#07162c;
  --suite-muted:#536476;
  --suite-line:#d7e4f2;
}
body{font-size:16px!important;}
.topbar,.app-header,.top-bar{
  background:linear-gradient(135deg,#0071ce,#005cad)!important;
  border-radius:0 0 28px 28px!important;
  box-shadow:0 22px 48px rgba(0,113,206,.22)!important;
}
.panel,.card,.controls-card,.preview-panel,.preview-card,.sheet-card,.print-note,.week-picker-card,.plan-card,.add-task-card,.actions-card,.schedule-card,.size-panel,.tool-note{
  backdrop-filter:blur(10px);
}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .controls-card,
html[data-theme="dark"] .preview-panel,
html[data-theme="dark"] .preview-card,
html[data-theme="dark"] .sheet-card,
html[data-theme="dark"] .print-note,
html[data-theme="dark"] .week-picker-card,
html[data-theme="dark"] .plan-card,
html[data-theme="dark"] .add-task-card,
html[data-theme="dark"] .actions-card,
html[data-theme="dark"] .schedule-card,
html[data-theme="dark"] .size-panel,
html[data-theme="dark"] .tool-note{
  background:linear-gradient(180deg,rgba(23,34,53,.98),rgba(17,28,45,.98))!important;
  border-color:#344861!important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select{
  background:#08111f!important;
  border-color:#40556f!important;
  color:#ffffff!important;
}
html[data-theme="dark"] .preview-wrap,
html[data-theme="dark"] .poster-stage,
html[data-theme="dark"] .sheet-stage,
html[data-theme="dark"] .preview-stage,
html[data-theme="dark"] .stage,
html[data-theme="dark"] .canvas-wrap{
  background-color:#0d1727!important;
  border-color:#40556f!important;
}
html[data-theme="dark"] .hint,
html[data-theme="dark"] .subhead,
html[data-theme="dark"] .subtitle,
html[data-theme="dark"] small,
html[data-theme="dark"] .status,
html[data-theme="dark"] label,
html[data-theme="dark"] p{
  color:#d9e6f6!important;
}
html[data-theme="dark"] .secondary,
html[data-theme="dark"] .secondary-action,
html[data-theme="dark"] #previewButton,
html[data-theme="dark"] #resetPositionButton,
html[data-theme="dark"] #clearImage,
html[data-theme="dark"] #clearBg,
html[data-theme="dark"] #openAiModal{
  background:#0d1727!important;
  color:#f8fafc!important;
  border-color:#40556f!important;
}
html[data-theme="dark"] .size-option,
html[data-theme="dark"] .segmented button,
html[data-theme="dark"] .week-tab,
html[data-theme="dark"] .card-option{
  background:#25364d!important;
  border-color:#40556f!important;
  color:#f8fafc!important;
}
html[data-theme="dark"] .size-option:not(.active) *,
html[data-theme="dark"] .segmented button:not(.active) *,
html[data-theme="dark"] .week-tab:not(.active) *{color:#f8fafc!important;}
html[data-theme="dark"] .task-card{
  background:#f8fafc!important;
  color:#0f172a!important;
  border-color:#d8e3ef!important;
}
html[data-theme="dark"] .delete{background:#e2e8f0!important;color:#0f172a!important;opacity:1!important;}
html[data-theme="dark"] .delete::before{color:#0f172a!important;}
html[data-theme="dark"] .poster-sheet,
html[data-theme="dark"] canvas,
html[data-theme="dark"] .poster{background-color:#ffffff;}
.theme-toggle.top-theme-toggle{position:static!important;}
.theme-toggle:not(.top-theme-toggle){bottom:12px!important;top:auto!important;right:12px!important;}
@media(max-width:560px){
  .topbar,.app-header,.top-bar{padding:16px!important;}
  .topbar h1,.app-header h1,.top-bar h1{font-size:clamp(28px,10vw,44px)!important;}
  .preview-panel,.preview-card,.sheet-card{min-height:auto!important;}
}
