:root{
  --navy:#1D4391; --navy2:#163574; --accent:#2B87FF; --accent2:#8EC1FF; --accent-dk:#1C6FE0;
  --blue-50:#EEF5FF; --blue-100:#DCEAFF; --cream:#F5F7FB; --ink:#1E2738; --slate:#475467; --muted:#6B7789;
  --border:#E3E8F0; --green:#16A34A; --yellow:#F59E0B; --red:#DC2626; --white:#fff;
  --card-shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04); --radius:.75rem;
  --font-head:'Montserrat',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:15.5px}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;line-height:1.55}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--navy);letter-spacing:-.01em;margin:0}
a{color:var(--accent)}
.ms{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;font-size:1.15rem;line-height:1;display:inline-block;vertical-align:-.2em;letter-spacing:normal;text-transform:none;white-space:nowrap;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20}
/* icons stay invisible (but keep their space) until the icon font is loaded */
.ms{visibility:hidden;width:1.15em;overflow:hidden;text-align:center}
html.ms-ok .ms{visibility:visible}
.ms.fill{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 20}

/* Sidebar */
.sidebar{width:264px;background:#fff;border-right:1px solid var(--border);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100;overflow-y:auto}
.sidebar-brand{padding:1.3rem 1.4rem .9rem;border-bottom:1px solid var(--border)}
.sidebar-brand img{width:100%;max-width:210px;height:auto;display:block}
.brand-sub{display:block;font-size:.74rem;font-weight:600;color:var(--muted);letter-spacing:.03em;margin-top:.55rem}
.sidebar-agent{padding:.85rem 1.4rem;border-bottom:1px solid var(--border);font-size:.85rem}
.agent-name{font-weight:600}
.agent-market{color:var(--muted);font-size:.78rem}
.sidebar nav{flex:1;padding:.4rem 0 1rem}
.nav-link{display:flex;align-items:center;gap:.7rem;margin:.1rem .75rem;padding:.5rem .75rem;color:var(--slate);font-size:.92rem;font-weight:500;text-decoration:none;border-radius:.55rem;cursor:pointer}
.nav-link .lbl{flex:1}
.nav-link:hover{color:var(--navy);background:var(--cream)}
.nav-link.active{color:var(--navy);background:var(--blue-50);font-weight:600}
.nav-link .ms:first-child{color:var(--muted);width:1.2rem;text-align:center}
.nav-link.active .ms:first-child{color:var(--accent)}
.nav-link.ai .ms:first-child{color:var(--accent)}
.nav-tick{font-size:.95rem;color:#c3cad6}
.nav-tick.done{color:var(--green)}
.nav-section-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:1rem 1.5rem .3rem}
.nav-section-label.setup{color:var(--navy)}
.sidebar-footer{padding:.9rem 1.5rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted)}

/* Main */
.main-wrap{margin-left:264px;padding:2rem 2.5rem;min-height:100vh;max-width:1400px}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.75rem;margin-bottom:1.6rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}
.page-title{font-size:1.6rem;font-weight:800}
.page-subtitle{color:var(--slate);font-size:.95rem;margin:.3rem 0 0;max-width:760px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.hdr-tools{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}

/* Grid helpers */
.grid{display:grid;gap:1rem}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.g-side{grid-template-columns:minmax(0,1fr) 340px}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-2{margin-top:1rem}.mt-1{margin-top:.5rem}
.row-flex{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.ml-auto{margin-left:auto}
.hidden{display:none!important}

/* Cards */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:1.3rem 1.4rem}
.kpi-label{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.kpi-value{font-family:var(--font-head);font-size:1.8rem;font-weight:800;color:var(--navy);line-height:1.1}
.kpi-of{font-size:.95rem;font-weight:600;color:var(--muted);font-family:Inter,sans-serif}
.kpi-sub{font-size:.82rem;color:var(--muted);margin-top:.35rem}
.card-title{font-family:var(--font-head);font-size:1.02rem;font-weight:700;color:var(--navy);margin:0}
.section-head{font-size:.98rem;font-weight:700;border-bottom:1px solid var(--border);padding-bottom:.45rem;margin:1.4rem 0 .8rem;display:flex;align-items:center;gap:.45rem}
.section-head small{font-family:Inter;font-weight:400;font-size:.78rem;color:var(--muted)}
.clickable{cursor:pointer;text-decoration:none;color:inherit;display:block}
.clickable:hover{border-color:var(--accent)}

/* Badges / pills */
.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:.4rem;font-size:.74rem;font-weight:600;padding:.22rem .55rem;white-space:nowrap}
.badge-direct{background:#DCEAFF;color:#1D4391}
.badge-nurture{background:#DCFCE7;color:#166534}
.badge-targeted{background:#FEF3C7;color:#92400E}
.badge-custom{background:#F3E8FF;color:#6B21A8}
.badge-task{background:#FFEDD5;color:#9A3412}
.pill{border-radius:20px;padding:.18rem .62rem;font-size:.76rem;font-weight:600;white-space:nowrap;display:inline-block}
.pill-green{background:#DCFCE7;color:#166534}
.pill-yellow{background:#FEF3C7;color:#92400E}
.pill-red{background:#FEE2E2;color:#991B1B}
.pill-gray{background:#EEF1F5;color:#475467}
.pill-blue{background:var(--blue-100);color:var(--navy)}

/* Forms */
label.fl{display:block;font-size:.85rem;font-weight:600;color:var(--slate);margin:.75rem 0 .3rem}
.fc{width:100%;border:1px solid #D0D7E2;border-radius:.5rem;font:inherit;font-size:.92rem;padding:.52rem .8rem;color:var(--ink);background:#fff}
.fc:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,135,255,.15);outline:none}
textarea.fc{resize:vertical;min-height:70px}
.fc[disabled]{background:var(--cream);color:var(--muted)}
.form-text{font-size:.8rem;color:var(--muted);margin-top:.25rem}
.fgrid{display:grid;gap:0 .8rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.fgrid3{display:grid;gap:0 .8rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.fgrid .full,.fgrid3 .full{grid-column:1/-1}
.input-pre{display:flex}
.input-pre span{border:1px solid #D0D7E2;border-right:none;border-radius:.5rem 0 0 .5rem;padding:.52rem .7rem;background:var(--cream);color:var(--muted);font-size:.92rem}
.input-pre .fc{border-radius:0 .5rem .5rem 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:.5rem;font:600 .92rem Inter,sans-serif;padding:.52rem 1.15rem;cursor:pointer;text-decoration:none;line-height:1.3;white-space:nowrap}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy2)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dk)}
.btn-outline{border-color:#C7D2E4;color:var(--navy);background:#fff}
.btn-outline:hover{background:var(--blue-50);border-color:var(--accent)}
.btn-danger-link{background:none;border:none;color:var(--red);padding:.35rem .5rem}
.btn-link{background:none;border:none;color:var(--accent);padding:0;font-weight:600}
.btn-sm{padding:.33rem .8rem;font-size:.84rem}
.btn:disabled{opacity:.55;cursor:not-allowed}
.seg{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.seg button{border:1px solid #D0D7E2;background:#fff;border-radius:.5rem;padding:.42rem .8rem;font:500 .86rem Inter,sans-serif;color:var(--slate);cursor:pointer}
.seg button.on{background:var(--blue-50);border-color:var(--accent);color:var(--navy);font-weight:600}

/* Progress */
.progress{height:8px;border-radius:4px;background:#E9EEF5;overflow:hidden}
.progress-bar{height:100%;border-radius:4px;background:var(--accent);transition:width .4s}
.progress-bar.good{background:var(--green)}.progress-bar.warn{background:var(--yellow)}.progress-bar.low{background:var(--red)}

/* Callout */
.callout{background:var(--blue-50);border:1px solid var(--blue-100);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1rem 1.3rem}
.callout-title{font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:1.02rem}
.callout p{margin:.2rem 0 0;color:var(--slate);font-size:.9rem}
.alert-ok{background:#ECFDF3;border:1px solid #BBF7D0;color:#166534;border-radius:.5rem;padding:.55rem .9rem;font-size:.88rem}
.alert-warn{background:#FFFBEB;border:1px solid #FDE68A;color:#92400E;border-radius:.5rem;padding:.65rem .9rem;font-size:.9rem}

/* Tables */
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--cream);text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}
.tbl td{padding:.65rem .8rem;border-bottom:1px solid #EEF1F5;vertical-align:middle}
.tbl tfoot td{background:var(--cream);font-weight:700}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tr.this-week td{background:var(--blue-50)}
.tbl-wrap{overflow-x:auto}

/* Dashboard actions */
.act-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);overflow:hidden}
.act-section-head{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.act-section-head h2{font-size:1.12rem;font-weight:800}
.sec-tasks .act-section-head{border-top:4px solid #F97316}
.sec-daily .act-section-head{border-top:4px solid var(--accent)}
.sec-weekly .act-section-head{border-top:4px solid var(--navy)}
.sec-monthly .act-section-head{border-top:4px solid var(--green)}
.act-empty{padding:1rem 1.25rem;color:var(--muted);font-size:.92rem}
.act-row{display:flex;align-items:center;gap:1rem;padding:.8rem 1.25rem;border-bottom:1px solid #EEF1F5}
.act-row:last-child{border-bottom:none}
.act-row.is-done{background:#F6FEF9}
.act-row.is-done .act-text{color:var(--muted);text-decoration:line-through;text-decoration-color:#9CA3AF}
.act-count{flex:0 0 3.6rem;text-align:center;background:var(--blue-50);color:var(--navy);border-radius:.5rem;padding:.35rem .2rem;font-family:var(--font-head);font-weight:800;font-size:1.12rem}
.act-count .of{font-size:.78rem;font-weight:600;color:var(--muted)}
.act-row.is-done .act-count{background:#DCFCE7;color:#166534}
.act-body{flex:1;min-width:0}
.act-text{font-size:1rem;font-weight:600;line-height:1.35}
.act-meta{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}
.act-controls{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;max-width:46%}
.tile{width:2rem;height:2rem;border:1.5px solid #C7D0DD;border-radius:.45rem;background:#fff;color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.tile:hover{border-color:var(--accent)}
.tile.on{background:var(--green);border-color:var(--green);color:#fff}
.step-btn{width:2.3rem;height:2.3rem;border-radius:.5rem;border:1px solid #C7D0DD;background:#fff;color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.step-btn.plus{background:var(--accent);border-color:var(--accent);color:#fff}
.task-due{font-size:.78rem;font-weight:600;color:#9A3412}
.task-due.late{color:var(--red)}
.link-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.15rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;box-shadow:var(--card-shadow);cursor:pointer;height:100%}
.link-card:hover{border-color:var(--accent)}
.link-card > .ms{font-size:1.6rem;color:var(--accent)}
.lc-title{font-weight:700;color:var(--navy)}
.lc-sub{font-size:.84rem;color:var(--muted)}
.funnel-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.funnel-step{padding:.8rem .3rem}
.step-num{font-family:var(--font-head);font-size:1.5rem;font-weight:800;color:var(--navy)}
.step-label{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.sec-h{font-size:1.15rem;font-weight:800}

/* Stage tabs */
.stage-tabs{display:flex;gap:.45rem;flex-wrap:wrap}
.stage-tab{display:inline-flex;align-items:center;padding:.45rem .9rem;border:1px solid var(--border);background:#fff;border-radius:.55rem;color:var(--slate);font-weight:600;font-size:.88rem;cursor:pointer}
.stage-tab:hover{border-color:var(--accent);color:var(--navy)}
.stage-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.stage-count{margin-left:.45rem;background:rgba(0,0,0,.07);border-radius:1rem;padding:0 .5rem;font-size:.78rem}
.stage-tab.active .stage-count{background:rgba(255,255,255,.2)}
.deal-name{font-weight:700;color:var(--navy);cursor:pointer;background:none;border:none;padding:0;font:inherit;font-weight:700;text-align:left}
.deal-name:hover{text-decoration:underline}
.menu-wrap{position:relative;display:inline-block}
.menu-pop{position:absolute;right:0;top:110%;background:#fff;border:1px solid var(--border);border-radius:.5rem;box-shadow:0 8px 24px rgba(16,24,40,.12);z-index:30;min-width:170px;padding:.3rem}
.menu-pop button{display:block;width:100%;text-align:left;background:none;border:none;padding:.45rem .7rem;border-radius:.35rem;font:500 .88rem Inter,sans-serif;color:var(--ink);cursor:pointer}
.menu-pop button:hover{background:var(--blue-50)}

/* Methods picker */
.meth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.55rem}
.meth{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;min-height:3.1rem;border:1px solid var(--border);border-radius:.6rem;background:#fff;cursor:pointer;user-select:none}
.meth:hover{border-color:#B9C8DA}
.meth.on{border-color:var(--accent);background:var(--blue-50)}
.meth .box{flex:0 0 1.3rem;height:1.3rem;border:1.5px solid #C7D0DD;border-radius:.35rem;display:flex;align-items:center;justify-content:center;color:transparent;background:#fff}
.meth.on .box{background:var(--accent);border-color:var(--accent);color:#fff}
.meth .nm{flex:1;font-weight:500;font-size:.9rem}
.meth .del{background:none;border:none;color:#aaa;cursor:pointer;padding:0}
.meth .del:hover{color:var(--red)}
.sel-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:.6rem 1rem;box-shadow:var(--card-shadow)}

/* Action plan builder */
.method-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .95rem;background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:.5rem;font:600 .83rem Inter,sans-serif;cursor:pointer}
.method-tab:hover{background:var(--blue-50);border-color:var(--accent)}
.method-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.method-tab .ms{font-size:.95rem;color:var(--green)}
.method-tab.active .ms{color:var(--accent2)}
.action-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.45rem}
.action-row .amt{flex:0 0 110px}
.action-row .txt{flex:1}
.daily-row{border:1px solid var(--border);border-radius:.6rem;padding:.6rem;margin-bottom:.55rem;background:#FBFCFE}
.daily-row-top{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.day-picker{display:flex;gap:.35rem;flex-wrap:wrap}
.day-tile{display:flex;flex-direction:column;align-items:center;width:52px;padding:.3rem .2rem;border:1.5px solid var(--border);border-radius:.45rem;cursor:pointer;user-select:none;background:#fff}
.day-tile .dn{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.2rem}
.day-tile input{width:36px;text-align:center;border:1px solid #ddd;border-radius:.3rem;font-size:.82rem;font-weight:700;color:var(--navy);padding:.12rem 0;background:#f8fafc}
.day-tile.on{background:var(--navy);border-color:var(--navy)}
.day-tile.on .dn{color:#fff}
.day-tile.on input{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.15);color:#fff}
.rm-btn{background:none;border:none;color:#aaa;cursor:pointer;padding:.2rem}
.rm-btn:hover{color:var(--red)}
.add-row{background:none;border:1.5px dashed var(--border);color:var(--muted);border-radius:.5rem;padding:.38rem .85rem;font:500 .8rem Inter,sans-serif;cursor:pointer}
.add-row:hover{border-color:var(--accent);color:var(--navy)}
.col-labels{display:flex;gap:.5rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.25rem}
.col-labels .a{flex:0 0 110px;padding-left:.5rem}

/* Setup steps */
.setup-step{display:flex;align-items:center;gap:1.1rem;background:#fff;border:1px solid var(--border);border-radius:.85rem;padding:1rem 1.25rem;cursor:pointer;box-shadow:var(--card-shadow);margin-bottom:.7rem}
.setup-step:hover{border-color:var(--accent)}
.setup-step.next{border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,135,255,.12)}
.step-num-c{flex:0 0 2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:1.05rem;background:var(--blue-50);color:var(--navy)}
.setup-step.done .step-num-c{background:#DCFCE7;color:#166534}

/* Funnel bars */
.fbar-row{display:flex;align-items:center;gap:.8rem;margin-bottom:.45rem}
.fbar-lbl{flex:0 0 130px;font-size:.8rem;font-weight:600;color:var(--slate);text-align:right}
.fbar-track{flex:1;height:30px;background:#F1F4F9;border-radius:.35rem}
.fbar{height:100%;min-width:2rem;border-radius:.35rem;display:flex;align-items:center;justify-content:flex-end;padding-right:.6rem;font-family:var(--font-head);font-weight:700;color:#fff}

/* Modal */
.modal-bg{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto}
.modal{background:#fff;border-radius:.85rem;width:100%;max-width:680px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal.sm{max-width:380px}
.modal-h{display:flex;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid var(--border)}
.modal-h h3{font-size:1.08rem}
.modal-x{margin-left:auto;background:none;border:none;font-size:1.4rem;color:var(--muted);cursor:pointer}
.modal-b{padding:.4rem 1.3rem 1.2rem}
.modal-f{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.3rem;border-top:1px solid var(--border)}

/* AI help */
.ai-hero{background:linear-gradient(135deg,var(--navy),#2B6BD8);color:#fff;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.4rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ai-hero h1{color:#fff;font-size:1.45rem}
.ai-hero p{margin:.25rem 0 0;color:#DCEAFF;max-width:720px}
.method-chip{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.15);border-radius:20px;padding:.2rem .7rem;font-size:.78rem;font-weight:600;margin-bottom:.45rem}
.ai-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:1.2rem;align-items:start}
.step-dot{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.78rem;display:inline-grid;place-items:center;flex:none}
.pieces-group h4{font-family:Inter;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:.9rem 0 .45rem}
.pieces{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.5rem}
.piece{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--border);border-radius:.6rem;padding:.6rem .75rem;cursor:pointer;background:#fff}
.piece:hover{border-color:#B9C8DA}
.piece.on{border-color:var(--accent);background:var(--blue-50)}
.piece input{margin-top:.25rem;accent-color:var(--navy)}
.piece b{display:block;font-size:.88rem}
.piece small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}
.result{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem;box-shadow:var(--card-shadow)}
.result-head{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--border);background:#FAFBFD;flex-wrap:wrap}
.result-head b{color:var(--navy)}
.result-head .tag{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.result-head .tools{margin-left:auto;display:flex;gap:.35rem;flex-wrap:wrap}
.result textarea{display:block;width:100%;border:none;padding:1rem;min-height:140px;font:inherit;font-size:.92rem;line-height:1.55;resize:vertical;color:var(--ink)}
.result textarea:focus{outline:none;background:#FFFEFA}
.refine{display:flex;gap:.5rem;padding:.6rem 1rem;border-top:1px solid var(--border);background:#FAFBFD;align-items:center}
.refine .fc{flex:1}
.refine-label{font-size:.84rem;font-weight:600;color:var(--slate);white-space:nowrap}
.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.25}}
.task-pick{display:flex;align-items:center;gap:.6rem;padding:.5rem .2rem;border-bottom:1px solid #EEF1F5}
.task-pick:last-child{border-bottom:none}
.task-pick input[type=checkbox]{accent-color:var(--navy);width:1.05rem;height:1.05rem}
.task-pick .fc{padding:.35rem .55rem;font-size:.88rem}
.task-pick .d{flex:0 0 150px}
.task-pick .t{flex:1}
.task-pick.past .d{border-color:#FCA5A5}
.lib-item{border:1px solid var(--border);border-radius:.6rem;background:#fff;margin-bottom:.6rem}
.lib-item summary{padding:.75rem 1rem;cursor:pointer;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.lib-item pre{white-space:pre-wrap;font:inherit;font-size:.92rem;margin:0;padding:0 1rem .75rem}
.compliance{font-size:.8rem;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:.6rem;padding:.65rem .8rem;margin-top:1rem}

/* Worksheet */
.ws{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem}
.ws h2{font-size:1.15rem;margin-bottom:.2rem}
.ws-sec{margin-top:1.2rem}
.ws-sec h3{font-size:.92rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--navy);padding-bottom:.25rem;margin-bottom:.4rem}
.ws-line{display:flex;gap:.6rem;padding:.38rem 0;border-bottom:1px dotted #CBD3DE;font-size:.92rem}
.ws-boxes{margin-left:auto;letter-spacing:.15rem;color:#8a96a8;white-space:nowrap}

/* Toast, banners */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:.6rem 1.1rem;border-radius:.55rem;font-size:.9rem;opacity:0;transition:opacity .2s;pointer-events:none;z-index:900}
.toast.show{opacity:1}
.toast.err{background:var(--red)}
.viewas{background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5;padding:.55rem 1.1rem;border-radius:.6rem;display:flex;align-items:center;gap:.8rem;font-size:.88rem;margin-bottom:1.3rem}
.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--muted);gap:.6rem}
.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--muted)}

/* Mobile */
.mobile-top{display:none;position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--border);padding:.55rem 1rem;align-items:center;gap:.7rem}
.mobile-top img{height:28px}
.hamb{background:none;border:none;color:var(--navy);cursor:pointer;padding:.1rem}
.hamb .ms{font-size:1.7rem}
.overlay{display:none;position:fixed;inset:0;background:rgba(16,24,40,.35);z-index:98}
.overlay.on{display:block}
@media (max-width:1100px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-grid{grid-template-columns:1fr}.g-side{grid-template-columns:1fr}}
@media (max-width:900px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g7-5{grid-template-columns:1fr}}
@media (max-width:768px){
  .mobile-top{display:flex}
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;z-index:99}
  .sidebar.open{transform:none;box-shadow:0 10px 40px rgba(0,0,0,.15)}
  .main-wrap{margin-left:0;padding:1rem}
  .g2,.g3,.fgrid,.fgrid3{grid-template-columns:1fr}
  .g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .act-row{flex-wrap:wrap}
  .act-controls{max-width:100%;width:100%;justify-content:flex-start;padding-left:4.6rem}
  .funnel-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stat3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem}
  .stat3 .card{padding:.75rem .6rem}
  .stat3 .kpi-sub,.stat3 .pct{display:none}
  .stat3 .kpi-value{font-size:1.3rem}
  .stat3 .kpi-of{display:block;font-size:.74rem}
  .task-pick{flex-wrap:wrap}.task-pick .d{flex:1 1 130px}
}

/* Monthly schedule editor */
.monthly-row{border:1px solid var(--border);border-radius:.6rem;padding:.6rem;margin-bottom:.55rem;background:#FBFCFE}
.monthly-row .action-row{margin-bottom:.4rem}
.when-box{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.when-lbl{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:0 0 110px;padding-left:.5rem}
.when-type{flex:0 1 330px}
.when-dates{display:flex;flex-wrap:wrap;gap:.25rem;flex:1 1 100%;padding-left:calc(110px + .45rem)}
.dchip{width:2.05rem;height:2rem;border:1.5px solid var(--border);border-radius:.4rem;background:#fff;font:600 .8rem Inter,sans-serif;color:var(--slate);cursor:pointer}
.dchip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.when-nth{display:flex;flex-direction:column;gap:.35rem;flex:1 1 100%;padding-left:calc(110px + .45rem);align-items:flex-start}
.nth-rule{display:flex;gap:.4rem;align-items:center}
.nth-rule .fc{width:auto}
@media (max-width:768px){.when-lbl{flex-basis:100%}.when-dates,.when-nth{padding-left:0}}

/* Get AI Help chat */
.chat-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.1rem;align-items:start}
.chat-side{position:sticky;top:1rem;padding:1rem}
.chat-hist{display:flex;flex-direction:column;gap:.3rem;max-height:60vh;overflow-y:auto;margin-top:.3rem}
.hist{text-align:left;background:#fff;border:1px solid transparent;border-radius:.5rem;padding:.45rem .6rem;cursor:pointer;font:inherit}
.hist:hover{background:var(--cream)}
.hist.on{background:var(--blue-50);border-color:var(--blue-100)}
.hist b{display:block;font-size:.86rem;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hist span{font-size:.76rem;color:var(--muted)}
.chat-main{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;min-height:78vh}
.chat-top{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}
.chat-main > .alert-warn{margin:.8rem 1.2rem 0}
.chat-msgs{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1rem;max-height:66vh}
.chat-empty{text-align:center;margin:auto;max-width:720px;padding:1rem 0}
.chat-hello{width:52px;height:52px;border-radius:50%;background:var(--blue-50);color:var(--accent);display:grid;place-items:center;margin:0 auto .7rem}
.chat-hello .ms{font-size:1.6rem}
.idea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;text-align:left}
.idea{background:#fff;border:1px solid var(--border);border-radius:.6rem;padding:.65rem .8rem;font:500 .88rem Inter,sans-serif;color:var(--ink);cursor:pointer;text-align:left;line-height:1.35}
.idea:hover{border-color:var(--accent);background:var(--blue-50)}
.msg{display:flex;gap:.6rem;align-items:flex-start}
.msg.user{justify-content:flex-end}
.msg.user .bubble{background:var(--navy);color:#fff;border-radius:1rem 1rem .25rem 1rem;max-width:75%}
.msg.ai .bubble{background:#F7F9FC;border:1px solid var(--border);border-radius:1rem 1rem 1rem .25rem}
.bubble{padding:.65rem .95rem;font-size:.93rem;line-height:1.55;overflow-wrap:anywhere}
.bubble p{margin:.25rem 0}.bubble ul{margin:.3rem 0;padding-left:1.2rem}.bubble li{margin:.15rem 0}
.bubble-tools{display:flex;gap:.9rem;margin-top:.35rem;font-size:.82rem}
.bubble-tools .btn-link{font-size:.82rem}
.avatar{flex:0 0 32px;height:32px;border-radius:50%;background:var(--blue-50);color:var(--accent);display:grid;place-items:center}
.thinking{color:var(--muted)}
.msg-card{border:1px solid var(--blue-100);background:#fff;border-radius:.75rem;padding:.75rem .9rem;margin-top:.6rem}
.g-wrap{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start}
.g-canvas{width:260px;height:260px;border-radius:.5rem;border:1px solid var(--border);background:var(--navy)}
.composer{border-top:1px solid var(--border);padding:.8rem 1.2rem}
.composer textarea{resize:none;min-height:46px}
.attach span{margin-left:.15rem}
.photo-strip{display:flex;gap:.4rem;flex-wrap:wrap}
.photo-strip .ph{position:relative;margin-bottom:.4rem}
.photo-strip img{width:64px;height:64px;object-fit:cover;border-radius:.4rem;border:1px solid var(--border)}
.photo-strip button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:var(--ink);color:#fff;cursor:pointer;line-height:1}
@media (max-width:1000px){.chat-layout{grid-template-columns:1fr}.chat-side{position:static}.chat-hist{max-height:180px}}
@media (max-width:768px){.idea-grid{grid-template-columns:1fr}.msg.user .bubble{max-width:90%}.chat-msgs{max-height:none}}

/* ---- v2.2: overdue setting, funnel counters, week-of-month chips, month planner, add to calendar ---- */
.modal.lg{max-width:860px}
.overdue-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;background:#F7F9FC;border:1px solid var(--border);border-radius:.6rem;padding:.5rem .8rem;font-size:.88rem;color:var(--slate)}
.overdue-toggle .seg button{padding:.28rem .7rem;font-size:.82rem}
.cal-btn{width:2rem;height:2rem;border:1.5px solid #D0D7E2;border-radius:.45rem;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cal-btn:hover{border-color:var(--accent);background:var(--blue-50,#EEF5FF)}
.cal-btn .ms{font-size:18px}
.cal-choices{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.4rem 0 .6rem}
.cal-choices .btn{justify-content:center;text-decoration:none}
@media (max-width:560px){.cal-choices{grid-template-columns:1fr}}
.fcount{border:1px solid var(--border);border-radius:.75rem;padding:.8rem .7rem;display:flex;flex-direction:column;align-items:center;gap:.45rem;background:#fff}
.fcount-lbl{font-weight:600;color:var(--navy);font-size:.92rem;display:flex;align-items:center;gap:.3rem;text-align:center}
.fcount-num{width:100%;max-width:7.5rem;text-align:center;font:700 2.4rem/1.1 Montserrat,sans-serif;color:var(--navy);border:1.5px solid transparent;border-radius:.5rem;background:#F7F9FC;padding:.2rem 0;-moz-appearance:textfield}
.fcount-num::-webkit-outer-spin-button,.fcount-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fcount-num:hover{border-color:#D0D7E2}
.fcount-num:focus{outline:none;border-color:var(--accent);background:#fff}
.fcount-add{width:100%;justify-content:center;font-size:1.05rem;padding:.55rem}
.fcount-num.bump{animation:bump .25s ease}
@keyframes bump{50%{transform:scale(1.12)}}
.weeks-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-top:.5rem}
.weeks-lbl{font-size:.8rem;font-weight:600;color:var(--slate)}
.weeks-lbl small{font-weight:400;color:var(--muted)}
.wchips{display:inline-flex;flex-wrap:wrap;gap:.3rem}
.wchip{border:1.5px solid var(--border);border-radius:999px;background:#fff;font:600 .78rem Inter,sans-serif;color:var(--slate);padding:.25rem .65rem;cursor:pointer}
.wchip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.wchip.every.on{background:var(--accent);border-color:var(--accent)}
.planner{display:flex;flex-direction:column;gap:.5rem}
.planner-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;border:1px solid var(--border);border-radius:.6rem;padding:.6rem .8rem}
.planner-what{flex:1;min-width:240px}

/* ---- v2.3 ---- */
.setup-step{cursor:default;align-items:flex-start}
.setup-step > .btn{margin-top:.15rem;white-space:nowrap}
details.learn{margin-top:.5rem}
details.learn summary{cursor:pointer;color:var(--accent-dk);font-weight:600;font-size:.86rem;list-style:none;display:inline-flex;align-items:center;gap:.25rem}
details.learn summary::-webkit-details-marker{display:none}
details.learn summary::after{content:'▾';font-size:.8rem;transition:transform .15s}
details.learn[open] summary::after{transform:rotate(180deg)}
.learn-body{margin-top:.5rem;padding:.8rem 1rem;background:#F7F9FC;border-radius:.6rem;font-size:.9rem;color:var(--slate);line-height:1.55}
.learn-body p{margin:0 0 .6rem}.learn-body p:last-child{margin:0}
.learn-body ul,.learn-body ol{margin:.1rem 0 .6rem;padding-left:1.3rem}.learn-body li{margin-bottom:.2rem}
.learn-body b{color:var(--navy)}
.sidebar-agent .get-started{margin-top:.6rem;width:100%;justify-content:center}
.dash-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.done-note{padding:.55rem 1rem;font-size:.84rem;color:var(--muted);display:flex;align-items:center;gap:.35rem;border-top:1px solid #EEF1F5}
.done-note .ms{color:var(--green);font-size:18px}
.time-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;color:var(--navy);background:var(--blue-50);border-radius:999px;padding:.1rem .5rem}
.time-tag .ms{font-size:15px}
.sched-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.5rem}
.time-ctl{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.time-ctl label{font-size:.8rem;font-weight:600;color:var(--slate);display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.time-ctl label small{font-weight:400;color:var(--muted)}
.time-ctl .fc{width:auto;padding:.3rem .5rem;font-size:.85rem}
.cal-set{padding:.3rem .65rem}
.wk-when{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.wk-when .fc{width:auto}
.wk-when .sched-row{width:100%;margin-top:.1rem}
.ws-extra{display:block;font-size:.76rem;color:#9A3412}
.ws-done{color:#8a96a8}.ws-done > span:first-child{text-decoration:line-through}
.ws-boxes{color:#475467}

details.learn-big summary{margin-top:.25rem;background:var(--blue-50);border:1.5px solid var(--accent);color:var(--navy);border-radius:.55rem;padding:.45rem .85rem;font-size:.9rem}
details.learn-big summary:hover{background:var(--accent);color:#fff}
details.learn-big summary .ms{font-size:19px}
details.learn-big[open] summary{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---- v3.0: accounts, AI plan, funnel tracker, phone polish ---- */
body.auth-mode .sidebar,body.auth-mode .mobile-top{display:none!important}
body.auth-mode .main-wrap{margin-left:0;max-width:none;padding:0}
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(160deg,#EEF5FF 0%,#F5F7FB 55%)}
.auth-card{width:100%;max-width:420px;padding:2rem 1.8rem}
.auth-logo{display:block;max-width:230px;margin:0 auto .3rem}
.auth-sub{text-align:center;color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-bottom:1.2rem}
.auth-title{font-size:1.3rem;text-align:center;margin-bottom:1rem}
.auth-card .fl{margin-top:.8rem}
.auth-go{width:100%;justify-content:center;margin-top:1.1rem;padding:.75rem}
.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:1rem;font-size:.88rem;color:var(--muted)}
.auth-err{color:var(--red);font-size:.88rem;margin-top:.8rem;min-height:1.1em}
.auth-foot{margin-top:1.2rem;font-size:.78rem;color:var(--muted);text-align:center}
.ts-box{margin-top:1rem;min-height:65px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.side-account{padding:.8rem 1.4rem 1rem;border-top:1px solid var(--border);margin-top:.6rem;display:flex;flex-direction:column;gap:.3rem}
.side-email{font-size:.78rem;color:var(--muted);word-break:break-all}
.side-account .btn-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.86rem;align-self:flex-start}
.upsell{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;background:linear-gradient(120deg,#EEF5FF,#fff);border:1.5px solid var(--accent);border-radius:.8rem;padding:.85rem 1rem}
.upsell > div:first-child .ms{font-size:28px;color:var(--accent)}
.ai-meter{font-size:.86rem;color:var(--slate);margin:.4rem 0 .8rem}
.ai-meter .progress{margin-top:.25rem}
.ai-meter.compact{max-width:340px;margin:0 0 .6rem auto}
.upgrade-card{border:2px solid var(--accent);background:linear-gradient(180deg,#fff,#F5F9FF)}
.upgrade-card .price{font-family:var(--font-head);font-size:2rem;font-weight:800;color:var(--navy);margin:.4rem 0}
.ticks{list-style:none;padding:0;margin:.2rem 0 1rem}
.ticks li{padding:.3rem 0 .3rem 1.6rem;position:relative;color:var(--slate);font-size:.92rem}
.ticks li::before{content:'✓';position:absolute;left:.2rem;color:var(--green);font-weight:800}
.ai-admin{border:1px dashed var(--accent);border-radius:.6rem;padding:.7rem .9rem;background:#FAFCFF}
.top-tracker{margin-left:auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.6rem;background:var(--blue-50)}

/* Funnel Tracker (phone first) */
.trk{max-width:560px;margin:0 auto}
.trk-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.2rem 0 .8rem}
.trk-date{text-align:center;display:flex;flex-direction:column}
.trk-date b{font-family:var(--font-head);font-size:1.45rem;color:var(--navy)}
.trk-date span{color:var(--muted);font-size:.9rem}
.trk-day{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--border);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer}
.trk-day.off{border:none;background:none;cursor:default}
.trk-day .ms{font-size:28px}
.trk-today{display:block;margin:0 auto .8rem}
.trk-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.trk-tile{background:#fff;border:1px solid var(--border);border-top:5px solid var(--c);border-radius:1rem;padding:.8rem .7rem .7rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;box-shadow:var(--card-shadow)}
.trk-lbl{font-weight:700;color:var(--navy);font-size:.88rem;text-align:center;display:flex;align-items:center;gap:.25rem;min-height:2.3em}
.trk-lbl .ms{color:var(--c);font-size:20px}
.trk-num{width:100%;text-align:center;font:800 2.8rem/1.05 Montserrat,sans-serif;color:var(--c);border:1.5px solid transparent;border-radius:.6rem;background:#F7F9FC;padding:.15rem 0;-moz-appearance:textfield}
.trk-num::-webkit-outer-spin-button,.trk-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.trk-num:focus{outline:none;border-color:var(--c);background:#fff}
.trk-num.bump{animation:bump .25s ease}
.trk-plus{width:100%;min-height:64px;border:none;border-radius:.8rem;background:var(--c);color:#fff;font:800 1.6rem Montserrat,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.trk-plus:active{transform:scale(.96);filter:brightness(1.1)}
.trk-plus:disabled{opacity:.5}
.trk-week{font-size:.8rem;color:var(--muted)}
.trk-hint{text-align:center;color:var(--muted);font-size:.85rem;margin:.9rem 0}
.trk-notes{background:#fff;border:1px solid var(--border);border-radius:.8rem;padding:.6rem .9rem}
.trk-notes summary{cursor:pointer;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:.35rem}
.trk-notes textarea{margin-top:.6rem}
.trk-links{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0 2rem}
.trk-links .btn{justify-content:center}

/* Phone polish */
@media (max-width:768px){
  .main-wrap{padding:.9rem .8rem calc(1.5rem + env(safe-area-inset-bottom))}
  .mobile-top{padding-top:calc(.55rem + env(safe-area-inset-top))}
  .page-header{align-items:flex-start;margin-bottom:1rem;padding-bottom:.8rem}
  .page-title{font-size:1.35rem}
  .hdr-tools{width:100%}
  .hdr-tools .btn{flex:1 1 auto;justify-content:center}
  .btn,.fc{min-height:42px}
  .btn-sm{min-height:38px}
  .tile,.cal-btn,.step-btn{width:2.4rem;height:2.4rem}
  .stage-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;-webkit-overflow-scrolling:touch}
  .stage-tab{flex:0 0 auto}
  .dash-opts{flex-direction:column}
  .overdue-toggle{font-size:.84rem}
  .card{padding:1rem}
  .tbl{font-size:.86rem}
  .modal-bg{padding:0;align-items:stretch}
  .modal{max-width:none!important;min-height:100%;border-radius:0}
  .fcount-num{font-size:2rem}
  .planner-row .wchips{width:100%}
  .sched-row{align-items:flex-start}
  .upsell .btn{width:100%;justify-content:center}
  .ai-meter.compact{max-width:none}
  .act-meta{flex-wrap:wrap}
}
@media (max-width:380px){ .trk-num{font-size:2.3rem} .trk-plus{min-height:58px} }
