
:root{
  --navy:#2d2b7f;--teal:#00c2a8;--ink:#17182b;--body:#373a50;--muted:#707489;
  --soft:#f6f7fb;--surface:#ffffff;--line:#dfe3ec;--border:#dfe3ec;--technical:#1f1d59;
  --navy-soft:rgba(45,43,127,.07);--teal-soft:rgba(0,194,168,.10);
  --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --app-h1:34px;--app-h2:22px;--app-h3:16px;--app-body:14px;--app-small:12px;
  --sidebar-width:240px;--topbar-height:72px;--content-max:1480px;
  --radius-lg:14px;--radius-md:10px;--radius-sm:7px;--shadow-soft:0 10px 32px rgba(28,35,74,.04);
}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:var(--font-ui)!important;background:var(--soft)!important;color:var(--ink)!important;font-size:var(--app-body)!important;line-height:1.5}
a{color:inherit}button,input,select,textarea{font:inherit}

.app,.app-shell{display:grid!important;grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important;min-height:100vh}
.sidebar{width:auto!important;min-height:100vh;background:var(--technical)!important;color:#fff;padding:14px 16px 10px!important;display:flex!important;flex-direction:column!important}
.brand{display:flex!important;align-items:center!important;min-height:40px;padding:0 10px!important;margin:0 0 18px!important}
.brand img{display:block!important;width:140px!important;max-width:100%!important;height:auto!important}
.main-nav,.nav{display:flex!important;flex-direction:column!important;gap:2px!important}
.main-nav a,.nav a,.sidebar-bottom>a{display:flex!important;align-items:center!important;gap:10px!important;min-height:34px!important;padding:0 13px!important;border-radius:8px!important;text-decoration:none!important;color:#d5d8e7!important;font-weight:700!important;font-size:14px!important;line-height:1.2!important}
.main-nav a:hover,.nav a:hover,.sidebar-bottom>a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.main-nav a.active,.nav a.active{background:#2d315f!important;color:#fff!important}
.main-nav .nav-sub{margin:0 8px 2px 18px!important;min-height:26px!important;font-size:13px!important;background:transparent!important}
.main-nav .nav-sub.active{background:rgba(0,194,168,.12)!important;color:#fff!important}
.sidebar-bottom{margin-top:auto!important;padding-top:8px!important}
.nav-clock{padding:0 13px 5px!important;font-variant-numeric:tabular-nums!important}
.nav-clock-label{display:block!important;font-size:9px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:rgba(213,216,231,.4)!important;margin-bottom:1px!important}
.nav-clock-time{font-size:12px!important;font-weight:700!important;color:#d5d8e7!important}
.nav-clock-zone{font-size:10px!important;color:rgba(213,216,231,.5)!important;margin-left:6px!important}
.nav-group-label{
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:rgba(213,216,231,.72)!important;
  padding:20px 13px 6px!important;
  margin:0!important;
}
.nav-group-label:first-child{padding-top:2px!important}
.account{margin-top:8px!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#fff!important}
.nav-locked{pointer-events:none!important;opacity:.34!important;cursor:default!important}
.nav-logout{margin-left:auto!important;color:rgba(255,255,255,.75)!important;text-decoration:none!important;font-size:16px!important;padding:6px!important;border-radius:6px!important;flex-shrink:0;border:1px solid rgba(255,255,255,.18)!important}
.nav-logout:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
.account b{font-size:15px!important}.account small{font-size:11px!important;letter-spacing:.08em!important;color:#bfc4d7!important}
.avatar{background:var(--teal)!important;color:#fff!important}

main,.main{min-width:0!important}
.topbar{height:var(--topbar-height)!important;min-height:var(--topbar-height)!important;background:var(--surface)!important;border-bottom:1px solid var(--line)!important;padding:0 34px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.topbar .context{color:var(--teal)!important;font-size:12px!important;letter-spacing:.14em!important;font-weight:900!important;text-transform:uppercase!important}
.topbar strong{font-size:15px!important;color:var(--ink)!important}
.top-actions{display:flex!important;align-items:center!important;gap:10px!important}
.status{display:inline-flex!important;align-items:center!important;gap:7px!important;font-size:11px!important;font-weight:700!important;color:#066b61!important;background:#dff9f3!important;padding:6px 9px!important;border-radius:999px!important}
.status i{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--teal)!important}
.icon-btn{width:34px!important;height:34px!important;border-radius:8px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--navy)!important;font-weight:800!important}

.content{width:100%!important;max-width:var(--content-max)!important;margin:0 auto!important;padding:38px 38px 56px!important}

h1,.setup-head h1{color:var(--navy)!important;font-size:var(--app-h1)!important;line-height:1.08!important;letter-spacing:-.025em!important;font-weight:800!important;margin:0 0 24px!important}
h2{color:var(--navy)!important;font-size:var(--app-h2)!important;line-height:1.2!important;font-weight:800!important}
h3{color:var(--navy)!important;font-size:var(--app-h3)!important;line-height:1.25!important;font-weight:700!important}
p{color:var(--body)!important}
.eyebrow,.mini-label{color:var(--teal)!important;font-size:12px!important;letter-spacing:.14em!important;font-weight:900!important;text-transform:uppercase!important}

.panel,.primary-panel,.info-card,.step2-main,.step2-help,.sync-panel,.planning-sheet,.archive-strip,.calendar-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-soft)!important}
.panel,.primary-panel,.sync-panel{padding:22px 24px!important}.info-card,.step2-help{padding:22px 24px!important}

label{color:var(--ink)!important;font-size:12px!important;font-weight:800!important}
input,select,textarea{border:1px solid var(--line)!important;border-radius:var(--radius-sm)!important;background:#fff!important;color:var(--ink)!important;font-family:var(--font-ui)!important;font-size:14px!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--teal)!important;box-shadow:0 0 0 3px rgba(0,194,168,.09)!important}
.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:42px!important;padding:0 18px!important;border-radius:9px!important;font-size:14px!important;font-weight:800!important}
.btn.primary,.btn-primary{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.btn.secondary,.btn-secondary{background:#fff!important;border:1px solid var(--border)!important;color:var(--navy)!important}
.btn.secondary:hover,.btn-secondary:hover{background:#f5f7fa!important}
.btn.primary:hover,.btn-primary:hover{background:var(--technical)!important;border-color:var(--technical)!important}

.setup-head{margin:0 0 24px!important}.setup-head .eyebrow{display:none!important}
.progress{margin:0 0 24px!important;max-width:760px!important}
.progress-item b{font-size:13px!important;color:var(--navy)!important}.progress-item span{background:var(--navy)!important;color:#fff!important}
.workspace-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:24px!important;align-items:start!important}
.form label{font-size:13px!important}.form input{min-height:46px!important;padding:0 13px!important}
.info-card h3,.step2-help h3{font-size:18px!important;font-weight:700!important;margin:6px 0 12px!important}
.safe-note{border-left-color:var(--teal)!important;background:var(--teal-soft)!important}
.step2-compact{grid-template-columns:minmax(0,1fr) 320px!important;gap:24px!important}
.step2-section h3{font-size:16px!important;font-weight:700!important}
.step2-keyrow input{min-height:46px!important;border:1px solid var(--line)!important;font-size:14px!important}
.sync-done h2,.sync-running h2{font-size:22px!important}

.planning-wrap{width:100%!important;max-width:none!important}.planning-wrap .setup-head{margin-bottom:20px!important}
.planning-sheet{overflow:hidden!important}
.plan-row{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;gap:28px!important;padding:21px 24px!important;border-bottom:1px solid var(--line)!important;align-items:center!important}
.plan-row:last-child{border-bottom:0!important}
.plan-label{display:flex!important;align-items:flex-start!important;gap:11px!important;min-width:0!important}
.step-number{width:28px!important;height:28px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--navy)!important;color:#fff!important;font-size:13px!important;font-weight:800!important;flex:0 0 28px!important;margin-top:1px!important}
.plan-label-copy{min-width:0!important}
.plan-label h2{font-size:16px!important;line-height:1.25!important;margin:0!important;color:var(--navy)!important;font-weight:700!important}
.plan-label .subnote{font-size:12px!important;line-height:1.4!important;color:var(--muted)!important;margin-top:5px!important}
.plan-control{min-width:0!important;display:flex!important;align-items:center!important}
.plan-control input,.plan-control select{min-height:42px!important;padding:0 11px!important}
.website-select{width:min(100%,560px)!important}
.volume-line{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.volume-line input[type=number]{width:72px!important;text-align:center!important;padding:0 6px!important}.volume-line select{width:132px!important}
.volume-line .word{font-size:14px!important;color:var(--body)!important}
.days{display:flex!important;gap:16px!important;flex-wrap:wrap!important;align-items:center!important}
.day-check{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:14px!important;color:var(--body)!important;cursor:pointer!important}
.day-check input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;accent-color:var(--navy)!important;box-shadow:none!important}
.day-check span{font-size:14px!important;font-weight:500!important;color:var(--body)!important}
.date-grid{display:grid!important;grid-template-columns:210px 210px!important;gap:18px!important}.date-grid input{width:100%!important;min-height:42px!important}
.generate-row{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important}
.generation-summary{font-size:13px!important;color:var(--muted)!important}.generation-summary.error{color:#b64242!important;font-weight:700!important}
.archive-strip{margin-top:16px!important;padding:15px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.archive-left{display:flex!important;align-items:center!important;gap:18px!important;min-width:0!important}
.archive-left h2,.calendar-head h2{font-size:16px!important;line-height:1.25!important;margin:0!important;color:var(--navy)!important;font-weight:700!important}
.archive-copy{font-size:13px!important;color:var(--muted)!important}.archive-link{font-size:13px!important;font-weight:800!important;color:var(--navy)!important;text-decoration:none!important;white-space:nowrap!important}
.calendar-card{margin-top:16px!important;overflow:hidden!important}.calendar-head{padding:16px 18px!important;border-bottom:1px solid var(--line)!important}
.plan-table{width:100%!important;border-collapse:collapse!important}
.plan-table th{text-align:left!important;padding:11px 14px!important;background:#f1f3f8!important;color:var(--ink)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-bottom:1px solid var(--line)!important}
.plan-table td{padding:10px 14px!important;border-bottom:1px solid var(--line)!important;vertical-align:middle!important;font-size:14px!important;color:var(--body)!important}
.edit-field{width:100%!important;border:1px solid transparent!important;border-radius:5px!important;padding:7px 8px!important;background:transparent!important;font-size:14px!important;color:var(--ink)!important}
.edit-field:hover,.edit-field:focus{border-color:var(--line)!important;background:#fff!important}
.empty-state{padding:38px 20px!important;text-align:center!important;color:var(--muted)!important;font-size:14px!important}

@media(max-width:1050px){.workspace-grid,.step2-compact{grid-template-columns:1fr!important}.info-card,.step2-help{display:none!important}}
@media(max-width:900px){.app,.app-shell{grid-template-columns:1fr!important}.sidebar{display:none!important}.content{padding:30px 22px 44px!important}.plan-row{grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}.date-grid{grid-template-columns:1fr!important}}


/* ===== WEVORI APP SHELL NORMALISATION v1.01 =====
   Every application page starts on exactly the same grid. */
.app,.app-shell{
  width:100%!important;
  grid-template-columns:240px minmax(0,1fr)!important;
}
.sidebar{
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
}
main,.main{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.topbar{
  width:100%!important;
  margin:0!important;
}
.content{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:38px 38px 56px!important;
}
.content > *{
  box-sizing:border-box!important;
}
.content > .planning-wrap,
.content > .setup-head,
.content > .progress,
.content > .workspace-grid,
.content > .step2-compact,
.content > .sync-panel{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.planning-wrap{
  padding:0!important;
  margin:0!important;
}
.setup-head{
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* H1 always begins on the same baseline and horizontal position. */
.content .setup-head h1,
.content .planning-wrap .setup-head h1{
  margin:0 0 24px!important;
  padding:0!important;
}
@media(max-width:900px){
  .app,.app-shell{grid-template-columns:1fr!important}
  .sidebar{display:none!important}
  .content{max-width:none!important;padding:30px 22px 44px!important}
}
