:root{
  color-scheme: dark;
  --navy:#0b1a4a;
  --navy-dark:#081235;
  --navy-light:#13245e;
  --orange:#f5821f;
  --green:#4caf50;
  --green-dark:#6fe6a0;
  --yellow:#f5c518;
  --red:#ff6b6b;
  --blue:#2f6fed;
  --purple:#8e5cd9;
  --teal:#0ea5a5;
  --gray:#9aa0ac;

  --bg:#0c1024;
  --card:#161a36;
  --text:#e8eaf6;
  --text-soft:#9aa3c7;
  --border:#2b3160;
  --navy-text:#9db4ff;
  --surface-2:#1d2247;
  --weekend-bg:#11142c;

  --chip-alt-bg:#1e2452;
  --chip-alt-hover:#262d63;

  --warn-bg:#3a2c12;
  --warn-border:#7a5a1f;
  --warn-text:#f0c987;
  --warn-text-soft:#dcb46e;

  --danger-bg:#3a1414;

  --seasonal-bg:#3a2410;
  --seasonal-text:#f0a15f;

  --overlap-bg:#3a2b12;
  --overlap-border:#7a5426;
  --overlap-text:#f0b06a;

  --example-bg:#0f2b1c;
  --badge-purple-bg:#2a1c45;
  --badge-purple-text:#cb9ef5;
  --badge-yellow-bg:#3a2f0a;
  --badge-yellow-text:#e6c257;
  --badge-blue-bg:#122a42;
  --badge-blue-text:#7dbdf5;

  --radius:14px;
  --shadow:0 2px 10px rgba(0,0,0,0.35);
  --shadow-lg:0 8px 30px rgba(0,0,0,0.5);
}

html[data-theme="light"]{
  color-scheme: light;
  --bg:#f4f6fb;
  --card:#ffffff;
  --text:#1b2340;
  --text-soft:#5b6480;
  --border:#e3e7f1;
  --navy-text:#0b1a4a;
  --surface-2:#fbfcfe;
  --weekend-bg:#fbfbfd;
  --green-dark:#2e7d32;
  --red:#e53935;

  --chip-alt-bg:#eef1fb;
  --chip-alt-hover:#dfe4f7;

  --warn-bg:#fff4e0;
  --warn-border:#f2c98a;
  --warn-text:#8a5a12;
  --warn-text-soft:#6b4a12;

  --danger-bg:#fdeaea;

  --seasonal-bg:#fdeee0;
  --seasonal-text:#a35318;

  --overlap-bg:#fef3e8;
  --overlap-border:#f3c79a;
  --overlap-text:#7a3d0f;

  --example-bg:#eef8ef;
  --badge-purple-bg:#f3e8ff;
  --badge-purple-text:#6b21a8;
  --badge-yellow-bg:#fff6dc;
  --badge-yellow-text:#8a6d00;
  --badge-blue-bg:#e6f1fb;
  --badge-blue-text:#185fa5;

  --shadow:0 2px 10px rgba(11,26,74,0.06);
  --shadow-lg:0 8px 30px rgba(11,26,74,0.12);
}

/* THEME TOGGLE BUTTON */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);
  color:#fff;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:600;
  margin-bottom:8px;transition:background .15s ease;
}
.theme-toggle:hover{background:rgba(255,255,255,0.16);}
.theme-toggle .icon-sun{display:none;}
.theme-toggle .icon-moon{display:inline-flex;}
html[data-theme="light"] .theme-toggle .icon-sun{display:inline-flex;}
html[data-theme="light"] .theme-toggle .icon-moon{display:none;}


*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

#app{display:flex;min-height:100vh;}

/* SIDEBAR */
.sidebar{
  width:260px;
  flex-shrink:0;
  background:linear-gradient(180deg,var(--navy) 0%, var(--navy-dark) 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  padding:20px 16px;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:22px;padding:0 4px;}
.brand-logo-img{height:48px;width:auto;display:block;}
.brand-logo-img.mobile{height:68px;}
.brand-tagline{color:#ffffff;font-size:11px;font-weight:600;letter-spacing:.3px;}
.social-links{display:flex;justify-content:center;gap:16px;padding:6px 0 14px;}
.social-links a{color:#ffffff;opacity:.8;display:flex;transition:opacity .15s ease;}
.social-links a:hover{opacity:1;}
.cross-tool-link{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:4px 0 10px;padding:9px 10px;border-radius:8px;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);
  color:#fff;font-size:12px;font-weight:600;text-decoration:none;
  transition:background .15s ease;
}
.cross-tool-link:hover{background:rgba(255,255,255,0.16);}
.cross-tool-link svg{flex-shrink:0;color:var(--orange);}

/* CAPTURA DE LEAD */
.lead-gate-overlay{
  position:fixed;inset:0;z-index:999;background:rgba(11,26,74,0.94);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.lead-gate-overlay.hidden{display:none;}
body.lead-gate-lock{overflow:hidden;}
.lead-gate-card{
  background:var(--card);border-radius:16px;padding:30px 28px;max-width:380px;width:100%;
  text-align:center;box-shadow:var(--shadow-lg);
}
.lead-gate-logo{height:40px;width:auto;margin-bottom:14px;}
.lead-gate-card h2{font-size:19px;color:var(--navy-text);margin:0 0 6px;}
.lead-gate-card p{font-size:13.5px;color:var(--text-soft);margin:0 0 18px;}
.lead-gate-card form{display:flex;flex-direction:column;gap:12px;text-align:left;}
.lead-gate-error{color:var(--red);font-size:12.5px;min-height:16px;text-align:left;}
.lead-gate-footnote{font-size:11px;color:var(--text-soft);margin-top:14px;}

/* RELATÓRIO PDF (IMPRESSÃO) */
.print-report{--bg:#f4f6fb;--card:#ffffff;--text:#1b2340;--text-soft:#5b6480;--border:#e3e7f1;--navy-text:#0b1a4a;--surface-2:#fbfcfe;--weekend-bg:#fbfbfd;display:none;font-family:inherit;-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact;color:var(--text);}
.pr-header{
  display:flex;align-items:center;gap:16px;background:var(--navy);color:#fff;
  padding:20px 24px;margin:-16mm -16mm 20px;border-radius:0;
}
.pr-header img{height:40px;width:auto;}
.pr-kicker{font-size:10.5px;letter-spacing:1px;color:var(--orange);text-transform:uppercase;font-weight:700;}
.pr-header-txt h1{font-size:21px;color:#fff;margin:3px 0;}
.pr-header-txt .pr-sub{color:#c7cfe8;}
.pr-block{margin-bottom:22px;page-break-inside:avoid;}
.pr-block h2{
  font-size:14px;color:var(--navy-text);text-transform:uppercase;letter-spacing:.4px;
  border-left:4px solid var(--orange);padding:2px 0 2px 10px;margin-bottom:12px;
}
.pr-block h3{font-size:13px;color:var(--navy-text);margin:12px 0 6px;font-weight:700;}
.pr-block p{font-size:12px;line-height:1.55;margin:4px 0;color:var(--text);}
.pr-sub{color:var(--text-soft);font-size:11.5px;}
.pr-tag{display:inline-block;font-size:10px;font-weight:700;background:var(--orange);color:#fff;padding:2px 9px;border-radius:10px;margin-left:6px;text-transform:uppercase;letter-spacing:.3px;}
.pr-table{width:100%;border-collapse:collapse;font-size:11.5px;border-radius:8px;overflow:hidden;}
.pr-table th{background:var(--navy);color:#fff;padding:7px 10px;text-align:left;font-weight:600;}
.pr-table td{padding:6px 10px;border-bottom:1px solid var(--border);}
.pr-table tr:nth-child(even) td{background:var(--bg);}
.pr-item{margin-bottom:10px;padding:10px 12px;border-radius:8px;background:var(--bg);border-left:3px solid var(--navy-light);}
.pr-item.pr-conflict{border-left-color:var(--red);}
.pr-footer{margin-top:28px;padding:14px 24px;margin-left:-16mm;margin-right:-16mm;background:var(--navy);color:#c7cfe8;font-size:10px;text-align:center;}

@media print{
  body *{visibility:hidden;}
  .print-report, .print-report *{visibility:visible;}
  .print-report{display:block;position:absolute;left:0;top:0;width:100%;padding:0;}
  @page{margin:16mm;}
}

.progress-wrap{margin-bottom:20px;padding:0 4px;}
.progress-label{font-size:12px;color:#c7cde3;margin-bottom:6px;}
.progress-bar{background:rgba(255,255,255,0.12);border-radius:8px;height:8px;overflow:hidden;}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--orange),var(--green));transition:width .3s ease;}

.nav-menu{display:flex;flex-direction:column;gap:4px;flex:1;}
.nav-item{
  display:flex;align-items:center;gap:10px;
  background:transparent;border:none;color:#d6dcf0;
  padding:11px 10px;border-radius:10px;text-align:left;
  cursor:pointer;font-size:14px;transition:background .15s;
}
.nav-item:hover{background:rgba(255,255,255,0.08);}
.nav-item.active{background:var(--orange);color:#fff;font-weight:600;}
.nav-item.disabled{opacity:.35;cursor:not-allowed;}
.nav-num{
  width:22px;height:22px;flex-shrink:0;border-radius:50%;
  background:rgba(255,255,255,0.15);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
}
.nav-item.active .nav-num{background:#fff;color:var(--orange);}

.ad-slot{
  display:block;width:100%;aspect-ratio:3/4;border-radius:12px;overflow:hidden;
  position:relative;margin-top:14px;background:rgba(255,255,255,0.06);
  border:1px dashed rgba(255,255,255,0.28);text-decoration:none;flex-shrink:0;
}
.ad-slot:hover{border-color:rgba(255,255,255,0.5);}
.ad-slot-img{width:100%;height:100%;object-fit:cover;display:block;}
.ad-slot-placeholder{
  display:none;position:absolute;inset:0;align-items:center;justify-content:center;
  text-align:center;font-size:11.5px;line-height:1.4;color:#c7cde3;padding:10px;
}
.ad-slot-empty .ad-slot-img{display:none;}
.ad-slot-empty .ad-slot-placeholder{display:flex;}

.ad-slot--light{background:var(--bg);border-color:var(--border);}
.ad-slot--light:hover{border-color:var(--orange);}
.ad-slot--light .ad-slot-placeholder{color:var(--text-soft);}

.mobile-only-ad{display:none;}

.sidebar-footer{padding-top:10px;border-top:1px solid rgba(255,255,255,0.1);margin-top:10px;}
.btn-ghost-small{
  width:100%;background:transparent;border:1px solid rgba(255,255,255,0.25);
  color:#d6dcf0;padding:8px;border-radius:8px;cursor:pointer;font-size:12px;
}
.btn-ghost-small:hover{background:rgba(255,255,255,0.08);}

.mobile-topbar{display:none;}

.back-to-projects{margin-bottom:6px;}
.current-project-name{
  font-size:12.5px;font-weight:700;color:#fff;padding:0 4px 4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.save-status{font-size:11px;color:#a9b2d4;padding:0 4px 14px;min-height:14px;}

/* MEUS PROJETOS */
.projects-screen{min-height:100vh;background:var(--bg);}
.projects-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 36px;background:var(--navy);
}
.projects-header .brand-logo-img{height:36px;}
.projects-user{color:#fff;font-size:13.5px;font-weight:600;}
.projects-body{max-width:900px;margin:0 auto;padding:40px 24px 60px;}
.projects-body h1{font-size:26px;color:var(--navy-text);margin:0 0 8px;}
.projects-body .btn-large{margin:10px 0 26px;}
.upsell-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:12px;
  padding:16px 20px;margin-bottom:22px;
}
.upsell-banner b{color:var(--warn-text);}
.upsell-banner p{margin:4px 0 0;font-size:13px;color:var(--warn-text);}
.projects-list{display:flex;flex-direction:column;gap:12px;}
.project-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--card);border:1px solid var(--border);border-radius:12px;
  padding:16px 18px;box-shadow:var(--shadow);
}
.project-card-main{cursor:pointer;flex:1;}
.project-card-main h3{margin:0 0 4px;font-size:15px;color:var(--navy-text);}
.project-card-date{font-size:12px;color:var(--text-soft);}
.project-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}

/* MAIN */
.main{flex:1;padding:28px 36px 60px;max-width:1200px;}
.ficticia-banner{
  background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);
  padding:10px 16px;border-radius:10px;font-weight:600;font-size:13px;margin-bottom:18px;
}

.screen h2{font-size:24px;margin:0 0 4px;color:var(--navy-text);}
.screen-sub{color:var(--text-soft);margin:0 0 18px;font-size:14px;}
.hidden{display:none !important;}

/* HERO */
.hero-card{background:var(--card);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);}
.hero-card h1{margin:0 0 10px;font-size:30px;color:var(--navy-text);}
.lead{color:var(--text-soft);font-size:15px;max-width:720px;margin:0 0 22px;}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px;}
.mini-step{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--navy-text);font-weight:600;}
.warning-box{
  background:var(--warn-bg);border:2px solid var(--orange);border-radius:12px;padding:18px 20px;margin-bottom:18px;
}
.warning-title{font-weight:800;color:var(--warn-text);margin-bottom:6px;font-size:14px;}
.warning-box p{margin:0;color:var(--warn-text-soft);font-size:13.5px;line-height:1.5;}
.confirm-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:22px;font-size:14px;color:var(--text);cursor:pointer;}
.confirm-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* BUTTONS */
.btn-primary,.btn-secondary,.btn-danger,.btn-large{
  border:none;border-radius:10px;cursor:pointer;font-weight:700;font-size:14px;padding:11px 18px;
  transition:transform .1s, opacity .15s;
}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{opacity:.92;}
.btn-primary:disabled{background:#d6b28a;cursor:not-allowed;}
.btn-secondary{background:var(--navy);color:#fff;}
.btn-secondary:hover{opacity:.9;}
.btn-secondary:disabled{background:#9aa0ac;cursor:not-allowed;}
.btn-danger{background:var(--danger-bg);color:var(--red);}
.btn-danger:hover{background:#fbdada;}
.btn-large{padding:15px 26px;font-size:15px;border-radius:12px;}
.btn-link{background:none;border:none;color:var(--navy-text);text-decoration:underline;cursor:pointer;font-size:13px;padding:0;}

/* CARDS */
.card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:5px;}
.field.full{grid-column:1/-1;}
.field label{font-weight:700;font-size:13px;color:var(--navy-text);}
.field input,.field select,.field textarea{
  border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;
  background:var(--surface-2);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange);border-color:var(--orange);}
.field-hint{font-size:12px;color:var(--text-soft);margin:0;}
.field-example{font-size:12px;color:var(--green-dark);background:var(--example-bg);padding:5px 9px;border-radius:6px;display:inline-block;margin-top:2px;}
.field-fictional-tag{font-size:11px;color:var(--orange);font-weight:700;}

/* CHIPS */
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.chip{background:var(--navy);color:#fff;padding:7px 12px;border-radius:20px;font-size:13px;display:flex;align-items:center;gap:8px;}
.chip button{background:none;border:none;color:#fff;opacity:.7;cursor:pointer;font-size:13px;}
.chip button:hover{opacity:1;}
.chip.chip-outline{background:var(--chip-alt-bg);color:var(--navy-text);}
.chip.chip-outline button{color:var(--navy-text);}
.inline-add{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;}
.inline-add input{flex:1;min-width:160px;border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:14px;}

.suggestion-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.suggestion-chip{background:var(--chip-alt-bg);color:var(--navy-text);border:1px dashed var(--navy-text);padding:6px 12px;border-radius:20px;font-size:12.5px;cursor:pointer;font-weight:600;}
.suggestion-chip.active{background:var(--navy);color:#fff;}
.suggestion-chip:hover{background:var(--chip-alt-hover);}

/* CARDS LIST */
.cards-list{display:flex;flex-direction:column;gap:14px;margin-top:16px;}
.item-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;}
.item-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;}
.item-card-head h4{margin:0;color:var(--navy-text);font-size:16px;}
.item-tag{font-size:11.5px;color:var(--text-soft);}
.item-body{font-size:13.5px;color:var(--text);line-height:1.5;}
.item-actions{display:flex;gap:8px;margin-top:10px;}
.empty-state{background:var(--warn-bg);border:1px dashed var(--orange);border-radius:10px;padding:14px 18px;color:var(--warn-text);font-size:13.5px;margin-bottom:14px;}

/* BADGES */
.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;margin:2px 4px 2px 0;}
.badge-nacional{background:var(--example-bg);color:var(--green-dark);}
.badge-estadual{background:var(--chip-alt-bg);color:var(--navy-text);}
.badge-municipal{background:var(--badge-yellow-bg);color:var(--badge-yellow-text);}
.badge-aniversario_cidade{background:var(--badge-purple-bg);color:var(--badge-purple-text);}
.badge-comemorativa{background:var(--seasonal-bg);color:var(--seasonal-text);}
.badge-media{background:var(--chip-alt-bg);color:var(--navy-text);}
.badge-status{font-weight:700;}
.badge-status-planejamento{background:var(--bg);color:var(--text-soft);}
.badge-status-aprovacao{background:var(--badge-yellow-bg);color:var(--badge-yellow-text);}
.badge-status-pronto{background:var(--example-bg);color:var(--green-dark);}

/* KANBAN DE TAREFAS */
.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.kanban-col{background:var(--surface-2);border-radius:var(--radius);padding:10px;min-height:120px;}
.kanban-col h5{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-soft);margin:0 0 8px;}
.kanban-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:8px;font-size:13px;}
.kanban-card b{color:var(--navy-text);}
.kanban-card select{margin-top:6px;width:100%;font-size:12px;}
.kanban-card .kanban-del{float:right;cursor:pointer;color:var(--red);font-size:12px;}
@media (max-width:720px){.kanban-board{grid-template-columns:1fr;}}

/* PAINEL FINAL */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px;}
.stat-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;text-align:center;}
.stat-card .num{font-size:26px;font-weight:800;color:var(--navy-text);}
.stat-card .lbl{font-size:12px;color:var(--text-soft);margin-top:4px;}
.stat-card.green .num{color:var(--green-dark);}
.stat-card.red .num{color:var(--red);}
.stat-card.orange .num{color:var(--orange);}
.footer-note{text-align:center;color:var(--text-soft);font-size:12.5px;margin-top:26px;padding-bottom:10px;}
.breakdown-list{display:flex;flex-direction:column;gap:8px;}
.breakdown-row{display:flex;align-items:center;gap:10px;font-size:13px;}
.breakdown-row .lbl{width:140px;flex-shrink:0;color:var(--text-soft);}
.breakdown-bar-wrap{flex:1;background:var(--bg);border-radius:6px;height:10px;overflow:hidden;}
.breakdown-bar{height:100%;background:var(--orange);border-radius:6px;}
.breakdown-row .val{width:28px;text-align:right;font-weight:700;color:var(--navy-text);}

/* CALENDÁRIO */
.cal-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px;font-size:12px;color:var(--text-soft);}
.cal-legend span{display:flex;align-items:center;gap:6px;}
.cal-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.cal-month-label{font-size:18px;font-weight:800;color:var(--navy-text);text-transform:capitalize;}
.cal-grid{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--navy);}
.cal-weekdays div{color:#fff;font-size:11.5px;font-weight:700;text-align:center;padding:10px 4px;}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);}
.cal-day{
  min-height:104px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:6px;cursor:pointer;background:var(--card);display:flex;flex-direction:column;gap:3px;
}
.cal-day:hover{background:var(--surface-2);}
.cal-day.empty{background:var(--bg);cursor:default;}
.cal-day.weekend{background:var(--weekend-bg);}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--orange);}
.cal-day.overlap{background:var(--overlap-bg);}
.cal-day.overlap:hover{background:#fce8d5;}
.cal-day-num{font-size:12px;font-weight:700;color:var(--navy-text);display:flex;align-items:center;gap:4px;}
.cal-day-overlap-icon{font-size:10px;color:var(--red);}
.cal-day-tag{font-size:9.5px;line-height:1.25;padding:1px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-day-tag.seasonal{background:var(--seasonal-bg);color:var(--seasonal-text);}
.cal-day-tag.action{background:var(--navy);color:#fff;}
.cal-day-more{font-size:9.5px;color:var(--text-soft);}

/* SOBREPOSIÇÃO DE AÇÕES */
.overlap-alert{background:var(--overlap-bg);border:1px solid var(--overlap-border);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:var(--overlap-text);}
.overlap-alert b{display:block;margin-bottom:4px;}
.overlap-alert p{margin:4px 0 0;}
.item-card-dates{font-size:11.5px;color:var(--text-soft);margin-top:4px;}
.conflict-card{border-left:3px solid var(--red);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(11,26,74,0.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal{background:var(--card);border-radius:16px;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);}
.modal-header h3{margin:0;color:var(--navy-text);font-size:17px;}
.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-soft);}
.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:14px;}
.modal-body .form-grid{grid-template-columns:1fr 1fr;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;}
.modal-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.modal-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13.5px;}
.modal-checkbox-row-all{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border);}

.step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:18px;border-top:1px solid var(--border);}
.step-nav-label{font-size:12.5px;color:var(--text-soft);}

/* RESPONSIVE */
@media (max-width:980px){
  .form-grid{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .modal-media-grid{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .sidebar{position:fixed;left:-280px;z-index:90;transition:left .2s ease;box-shadow:var(--shadow-lg);}
  .sidebar.open{left:0;}
  .mobile-topbar{
    display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;
    padding:14px 16px;position:sticky;top:0;z-index:80;
  }
  .mobile-menu-btn{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}
  .main{padding:18px;width:100%;}
  #app{flex-direction:column;}
  .mobile-only-ad{display:block;max-width:240px;margin:20px auto 0;}
  .cal-day{min-height:64px;}
  .cal-day-tag{display:none;}
  .cal-day-more{display:block;}
  .breakdown-row .lbl{width:90px;font-size:11.5px;}
}
@media (max-width:520px){
  .steps-grid{grid-template-columns:1fr;}
  .hero-card{padding:20px;}
  .hero-card h1{font-size:22px;}
  .step-nav{flex-wrap:wrap;justify-content:center;row-gap:10px;}
  .step-nav-label{order:3;width:100%;text-align:center;}
  .cal-nav{flex-wrap:wrap;justify-content:center;}
}
