@import"https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&family=Inter:wght@400;500;600&display=swap";:root{--moss-900: #212b20;--moss-700: #37452f;--moss-600: #4A5D48;--sage-300: #b1c2ac;--card-wash: #dfe6dc;--warm-white: #f9f8f6;--ink: #1d211c;--ink-soft: #444943;--gold-accent: #c1903f;--rust-accent: #a75c37;--moss: var(--moss-600);--moss-dark: var(--moss-900);--sage: var(--sage-300);--urgent: var(--rust-accent);--medium: var(--gold-accent);--low: #6B8068;--radius: 14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--warm-white);color:var(--moss-dark);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.shell{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--warm-white)}.picker{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center}.picker-mark{color:var(--moss);margin-bottom:20px}.picker h1{font-family:Poppins,sans-serif;font-weight:700;font-size:26px;margin:0 0 6px;color:var(--moss-dark)}.picker-sub{color:var(--moss);margin:0 0 28px;font-size:15px}.picker-grid{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.picker-btn{padding:16px;border-radius:var(--radius);border:1.5px solid var(--sage);background:#fff;font-size:16px;font-weight:600;color:var(--moss-dark);cursor:pointer;transition:background .15s,border-color .15s}.picker-btn:hover,.picker-btn:active{background:var(--card-wash);border-color:var(--moss)}.header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;background:var(--warm-white)}.header-brand{display:flex;align-items:center;gap:10px}.header-mark{color:var(--moss);display:flex;width:28px}.header-title{font-family:Poppins,sans-serif;font-weight:700;font-size:16px;color:var(--moss-dark);line-height:1.2}.header-sub{font-size:12px;color:var(--moss)}.switch-btn{background:var(--card-wash);border:none;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--moss-dark);cursor:pointer}.switch-caret{color:var(--moss);margin-left:2px}.tabbar{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:0 4px;border-bottom:1px solid var(--card-wash)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:8px 1px 10px;font-size:8.5px;font-weight:600;color:var(--sage);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;min-width:0}.tab-icon{font-size:17px;line-height:1}.tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:-.01em}.tab-active{color:var(--moss-dark);border-bottom-color:var(--moss)}.main{flex:1;padding:20px 16px 60px}.app-footer{text-align:center;padding:14px 16px;font-size:11px;color:var(--sage);border-top:1px solid var(--card-wash)}.tab-panel h2{font-family:Poppins,sans-serif;font-size:19px;margin:0 0 4px;color:var(--moss-dark)}.tab-intro{color:var(--moss);font-size:13px;margin:0 0 16px;line-height:1.5}.panel-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-row h2{margin:0}.section-heading{font-family:Poppins,sans-serif;font-size:14px;color:var(--moss-dark);margin:24px 0 10px}.primary-btn{background:var(--moss);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer}.primary-btn:disabled{opacity:.6}.ghost-btn{background:none;border:1.5px solid var(--sage);color:var(--moss-dark);padding:9px 14px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer}.ghost-btn:disabled{opacity:.4}.empty{color:var(--sage);font-size:13px;padding:24px 0;text-align:center}.entry-form{background:#fff;border:1px solid var(--card-wash);border-radius:var(--radius);padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.type-row{display:flex;flex-wrap:wrap;gap:6px}.type-chip{border:1.5px solid var(--card-wash);background:var(--warm-white);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--moss-dark);cursor:pointer}.type-chip-active{background:var(--moss);border-color:var(--moss);color:#fff}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--moss)}.field input,.field select,.field textarea{border:1.5px solid var(--card-wash);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--moss-dark);background:#fff;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--moss);outline-offset:1px}.field-pair{display:flex;gap:10px}.field-pair .field{flex:1}.form-error{color:var(--urgent);font-size:12px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:8px}.entry-list{display:flex;flex-direction:column;gap:10px}.entry-card{background:#fff;border:1px solid var(--card-wash);border-radius:12px;padding:13px 14px}.entry-resolved{opacity:.55}.entry-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.entry-type{font-size:12px;font-weight:700;color:var(--moss)}.entry-date{font-size:11px;color:var(--sage)}.entry-property{font-weight:600;font-size:14px;color:var(--moss-dark);margin-bottom:2px}.entry-owner{font-size:12px;font-weight:600;color:var(--moss);margin-bottom:4px}.entry-details{font-size:13px;color:var(--moss-dark);line-height:1.45;margin-bottom:8px}.entry-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.entry-person{font-size:11px;font-weight:700;color:var(--moss-dark);background:var(--card-wash);padding:3px 9px;border-radius:10px}.pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:10px;background:var(--warm-white);border:1px solid var(--card-wash);color:var(--moss-700)}.pill-outcome{background:var(--card-wash);color:var(--moss-900);border-color:var(--card-wash)}.pill-outcome-interested,.pill-outcome-meeting-booked{background:#e4ebe1;color:var(--moss-700);border-color:#e4ebe1}.pill-outcome-not-interested{background:#f1ddcf;color:var(--rust-accent);border-color:#f1ddcf}.pill-outcome-no-response{background:var(--card-wash);color:var(--ink-soft);border-color:var(--card-wash)}.pill-outcome-follow-up-needed{background:#f3e7d2;color:var(--gold-accent);border-color:#f3e7d2}.pill-sev-low{background:#e4ebe1;color:var(--moss-700);border-color:#e4ebe1}.pill-sev-medium{background:#f3e7d2;color:var(--gold-accent);border-color:#f3e7d2;font-weight:700}.pill-sev-urgent{background:#f1ddcf;color:var(--rust-accent);border-color:#f1ddcf;font-weight:700}.resolve-btn{margin-left:auto;background:none;border:1px solid var(--sage);color:var(--moss-dark);font-size:11px;font-weight:600;padding:4px 10px;border-radius:10px;cursor:pointer}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.week-label{font-weight:700;font-size:14px;color:var(--moss-dark);text-align:center}.week-current{color:var(--moss);font-weight:500}.rollup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:20px}.rollup-grid-2{grid-template-columns:repeat(2,1fr)}.rollup-card{background:var(--moss-dark);color:#fff;border-radius:var(--radius);padding:14px 12px;text-align:center}.rollup-name{font-size:11px;font-weight:700;color:var(--sage);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.rollup-total{font-family:Poppins,sans-serif;font-size:26px;font-weight:700;line-height:1}.rollup-label{font-size:11px;color:var(--sage);margin:3px 0 8px}.rollup-breakdown{display:flex;justify-content:center;gap:8px;font-size:11px;color:var(--sage);flex-wrap:wrap}.flags-block{margin-bottom:8px}.flags-block h3{font-family:Poppins,sans-serif;font-size:14px;color:var(--urgent);margin:0 0 10px}.quick-task-form{margin-top:10px;border-color:var(--sage)}.overdue-banner{background:#fbeae5;color:var(--urgent);font-size:12px;font-weight:700;padding:9px 12px;border-radius:10px;margin-bottom:14px}.prospect-card{cursor:pointer;transition:border-color .15s}.prospect-card:hover{border-color:var(--moss)}.prospect-stage-sage{background:var(--card-wash);color:var(--moss-700);border-color:var(--card-wash)}.prospect-stage-gold{background:#f3e7d2;color:var(--gold-accent);border-color:#f3e7d2}.prospect-stage-moss-700{background:#e4ebe1;color:var(--moss-700);border-color:#e4ebe1}.prospect-stage-moss-900{background:var(--moss-900);color:#fff;border-color:var(--moss-900);font-weight:700}.prospect-stage-rust{background:#f1ddcf;color:var(--rust-accent);border-color:#f1ddcf}.prospect-detail-grid{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink);margin-top:12px}.prospect-detail-grid strong{color:var(--moss-700);font-weight:600;margin-right:4px}.prospect-detail-grid a{color:var(--moss-600);word-break:break-all}.timeline-list{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.timeline-row{display:flex;align-items:flex-start;gap:10px;border-left:2px solid var(--card-wash);padding:8px 4px 8px 14px;margin-left:8px}.timeline-icon{font-size:14px;margin-left:-22px;background:var(--warm-white)}.timeline-body{flex:1}.timeline-label{font-size:13px;color:var(--ink);font-weight:500}.timeline-meta{font-size:11px;color:var(--sage);margin-top:2px}.task-filters{display:flex;gap:8px;margin-bottom:16px}.task-filters select{border:1.5px solid var(--card-wash);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--moss-dark);background:#fff;font-weight:600}.task-board{display:flex;flex-direction:column;gap:20px}.task-col-heading{font-family:Poppins,sans-serif;font-size:13px;font-weight:700;color:var(--moss-dark);margin-bottom:10px;display:flex;align-items:center;gap:6px}.task-col-count{background:var(--card-wash);color:var(--moss);font-size:11px;padding:1px 7px;border-radius:10px}.task-card{background:#fff;border:1px solid var(--card-wash);border-radius:12px;padding:12px 14px}.task-overdue{border-color:var(--urgent)}.status-select{margin-left:auto;border:1px solid var(--sage);border-radius:8px;padding:4px 8px;font-size:11px;font-weight:600;color:var(--moss-dark);background:#fff}.due-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.due-badge-overdue{background:#fbeae5;color:var(--urgent)}.due-badge-today{background:#fbf3e8;color:var(--medium)}.due-badge-soon{background:var(--card-wash);color:var(--moss)}.due-badge-later,.due-badge-no_date{background:var(--warm-white);color:var(--sage)}.task-preview{font-size:12px;color:var(--moss);background:var(--warm-white);padding:8px 12px;border-radius:10px}.dash-section{background:#fff;border:1px solid var(--card-wash);border-radius:var(--radius);padding:16px;margin-bottom:16px}.dash-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.dash-section-head h3{font-family:Poppins,sans-serif;font-size:14px;margin:0;color:var(--moss-dark)}.updated-stamp{font-size:11px;color:var(--sage);font-weight:600;white-space:nowrap}.rollup-grid-3{grid-template-columns:repeat(3,1fr)}.dash-hint{font-size:12px;color:var(--moss);margin-top:8px}.outcome-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.visit-list{display:flex;flex-direction:column;gap:6px}.visit-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--warm-white);border-radius:8px;font-size:12px}.visit-person{font-weight:700;color:var(--moss-900);min-width:60px}.visit-ip{color:var(--ink-soft);font-family:Inter,monospace;flex:1}.visit-time{color:var(--sage);font-size:11px;white-space:nowrap}.split-rows{display:flex;flex-direction:column;gap:8px}.split-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--warm-white);border-radius:10px;font-size:13px;color:var(--moss-dark)}.split-row strong{font-weight:700}.split-row-sos{background:#f3e7d2;color:var(--gold-accent)}.split-row-sos strong{color:var(--ink)}.split-row-owner{background:#e4ebe1;color:var(--moss-700)}.split-row-owner strong{color:var(--ink)}.split-row-cleaning{background:#f1ddcf;color:var(--rust-accent)}.split-row-cleaning strong{color:var(--ink)}.upload-btn-secondary{background:var(--moss-700)}.date-range-picker{background:#fff;border:1px solid var(--card-wash);border-radius:12px;padding:14px;margin-bottom:16px}.date-range-fields{display:flex;gap:10px;margin-bottom:10px}.date-range-fields .field{flex:1}.date-range-presets{display:flex;flex-wrap:wrap;gap:6px}.preset-chip{border:1.5px solid var(--card-wash);background:var(--warm-white);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--moss-700);cursor:pointer}.preset-chip:hover{background:var(--card-wash)}.target-bar-wrap{margin-bottom:6px}.target-bar-track{position:relative;height:14px;background:var(--card-wash);border-radius:8px;overflow:visible;margin-bottom:8px}.target-bar-fill{height:100%;background:var(--moss-600);border-radius:8px;transition:width .3s ease}.target-bar-over{background:var(--rust-accent)}.platform-toggle{display:flex;gap:8px;margin-bottom:16px}.basis-toggle{display:flex;gap:8px;margin-bottom:10px}.basis-btn{flex:1;border:1.5px solid var(--card-wash);background:#fff;border-radius:10px;padding:9px;font-size:12px;font-weight:600;color:var(--moss-700);cursor:pointer}.basis-btn-active{background:var(--moss-900);border-color:var(--moss-900);color:#fff}.platform-btn{flex:1;border:1.5px solid var(--card-wash);background:#fff;border-radius:10px;padding:10px;font-size:13px;font-weight:600;color:var(--moss-700);cursor:pointer}.platform-btn-active{background:var(--moss-600);border-color:var(--moss-600);color:#fff}.mapping-panel{background:#fff;border:1.5px solid var(--sage-300);border-radius:var(--radius);padding:16px;margin:14px 0;display:flex;flex-direction:column;gap:10px}.week-kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.week-kanban-col{flex:0 0 150px;background:var(--card-wash);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:120px}.week-kanban-col-today{border:1.5px solid var(--moss-700);background:#e4ebe1}.week-kanban-col-head{text-align:center;margin-bottom:4px}.week-kanban-col-day{font-size:11px;font-weight:700;color:var(--moss-900);text-transform:uppercase;letter-spacing:.03em}.week-kanban-col-date{font-size:10px;color:var(--sage)}.week-kanban-card{background:#fff;border-radius:8px;padding:6px 8px;font-size:11.5px;color:var(--ink);line-height:1.3}.week-kanban-card-task{border-left:3px solid var(--moss-700)}.week-kanban-card-log{border-left:3px solid var(--sage-300)}.week-kanban-card-campaign{border-left:3px solid var(--gold-accent);font-weight:600}.week-kanban-card-done{opacity:.5;text-decoration:line-through}.week-kanban-card-overdue{border-left-color:var(--rust-accent);background:#fbebe4}.week-kanban-card-overdue .dash-hint{color:var(--rust-accent);font-weight:600}.mentions-section{border:1.5px solid var(--gold-accent);background:#fbf6ec}.mention-card{border-color:var(--gold-accent)}.comments-block,.comments-compact{margin-top:10px}.comments-compact{border-top:1px solid var(--card-wash);padding-top:8px;margin-top:8px}.comments-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.like-btn{background:var(--card-wash);border:none;border-radius:14px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--moss-700);cursor:pointer}.like-btn-active{background:var(--moss-700);color:#fff}.comment-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.comment-row{background:var(--card-wash);border-radius:10px;padding:8px 10px}.comment-author{font-size:11px;font-weight:700;color:var(--moss-700);margin-bottom:2px}.comment-body{font-size:13px;color:var(--ink);white-space:pre-wrap}.mention-tag{color:var(--moss-900);font-weight:700;background:#e4ebe1;padding:0 3px;border-radius:4px}.comment-form{display:flex;gap:8px;margin-top:8px;position:relative;flex-wrap:wrap}.comment-form input{flex:1;min-width:160px;border:1px solid var(--card-wash);border-radius:8px;padding:8px 10px;font-size:13px}.mention-picker{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:4px}.category-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.category-pill{background:var(--card-wash);color:var(--moss-700);border-color:var(--card-wash);font-weight:700}.quick-create-prospect{background:var(--card-wash);border:1.5px solid var(--moss-600);border-radius:12px;padding:14px;margin-bottom:4px;display:flex;flex-direction:column;gap:10px}.mapping-panel h4{font-family:Poppins,sans-serif;font-size:14px;margin:0;color:var(--moss-900)}.target-bar-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--rust-accent)}.target-bar-label{font-size:12px;font-weight:600;color:var(--ink)}.channel-bars{display:flex;flex-direction:column;gap:12px;margin-bottom:10px}.channel-bar-row{width:100%}.channel-bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:4px}.channel-bar-track{height:10px;background:var(--card-wash);border-radius:6px;overflow:hidden}.channel-bar-fill{height:100%;border-radius:6px}.channel-bar-moss-700{background:var(--moss-700)}.channel-bar-moss-900{background:var(--moss-900)}.channel-bar-gold{background:var(--gold-accent)}.channel-bar-rust{background:var(--rust-accent)}.channel-bar-sage{background:var(--sage-300)}.prospect-bars{display:flex;flex-direction:column;gap:10px;margin-top:14px}.prospect-bar-row{width:100%}.prospect-bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:4px}.prospect-bar-sage{background:var(--sage-300)}.prospect-bar-gold{background:var(--gold-accent)}.prospect-bar-moss-700{background:var(--moss-700)}.prospect-bar-moss-900{background:var(--moss-900)}.prospect-bar-rust{background:var(--rust-accent)}.upload-block{display:flex;align-items:flex-end;gap:10px;margin-bottom:8px}.upload-block .field{flex:1}.upload-btn{background:var(--moss);color:#fff;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.table-wrap{overflow-x:auto;border:1px solid var(--card-wash);border-radius:12px}.data-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.data-table th{text-align:left;padding:10px 12px;background:var(--card-wash);color:var(--moss-dark);font-weight:700;white-space:nowrap}.data-table td{padding:9px 12px;border-top:1px solid var(--card-wash);color:var(--moss-dark);white-space:nowrap}.row-exempt td{color:var(--sage)}.exempt-toggle{background:var(--warm-white);border:1px solid var(--card-wash);color:var(--moss-dark);font-size:11px;font-weight:600;padding:4px 9px;border-radius:8px;cursor:pointer;white-space:nowrap}.config-error{padding:40px 24px;text-align:center}.config-error code{background:var(--card-wash);padding:2px 6px;border-radius:4px}@media (max-width: 380px){.rollup-breakdown{gap:5px}}
