:root{--ink:#172d2b;--muted:#6b7d78;--line:#e0e9e5;--paper:#f4f7f5;--white:#fff;--teal:#087f72;--teal2:#11a58f;--teal-soft:#e0f5f0;--orange:#c96e39;--orange-soft:#fff0e5;--red:#b83b42;--red-soft:#fff0f1;--yellow:#90630b;--yellow-soft:#fff6dc;--nav:#102a28;--nav2:#183a35;--nav-muted:#a2b8b2;--shadow:0 10px 28px rgba(22,51,47,.055);--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ad7cc;outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:850;letter-spacing:1.7px;text-transform:uppercase;color:var(--teal);margin-bottom:9px}.brand-mark,.loading-mark{width:40px;height:40px;border-radius:13px;background:#d6faf1;color:#07584f;display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:inset 0 0 0 1px #b4e8dc}.app-loading{min-height:100vh;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted)}.loading-title{font-size:19px;font-weight:800;color:var(--ink)}.loading-sub{font-size:12px}.login-page{min-height:100vh;background:radial-gradient(ellipse at top left,#dff3ec 0,transparent 47%),var(--paper);display:grid;place-items:center;padding:28px}.login-wrap{width:min(100%,440px)}.login-brand{display:flex;gap:13px;align-items:center;margin:0 0 26px 5px}.brand-name{font-size:22px;font-weight:850;letter-spacing:-.8px}.brand-name span{color:var(--teal)}.brand-sub{font-size:10px;color:var(--muted);letter-spacing:1.8px;text-transform:uppercase;margin-top:4px}.login-card{background:white;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.login-card h1{margin:0;font-size:31px;letter-spacing:-1.2px}.login-card>p{margin:10px 0 25px;font-size:13px}.stack{display:grid;gap:17px}.stack label,.field label{font-size:11px;font-weight:750;color:#405b55;display:grid;gap:7px}.stack input,.field input,.field select,.field textarea,.filters input,.filters select,.input{border:1px solid #d9e4df;border-radius:10px;padding:11px 12px;background:white;color:var(--ink);min-width:0;width:100%}.stack input{padding:13px}.btn{border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:720;white-space:nowrap;transition:.15s}.btn:hover{border-color:#b2cac4;transform:translateY(-1px)}.btn-primary{background:var(--teal);color:white;border-color:var(--teal)}.btn-primary:hover{background:#066c61;color:white}.btn-danger{color:var(--red);border-color:#ecc9ca;background:white}.btn-quiet{background:transparent}.btn-small{font-size:11px;padding:7px 9px;border-radius:8px}.btn-block{width:100%;padding:13px}.login-foot{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid #edf1ef;color:var(--muted);font-size:10px}.security-dot{width:7px;height:7px;border-radius:50%;background:var(--teal2)}.login-help{text-align:center;font-size:11px;color:var(--muted);line-height:1.6;padding:0 12px;margin-top:18px}.error-box{background:var(--red-soft);color:var(--red);border:1px solid #f0c8cb;border-radius:10px;padding:11px 12px;font-size:12px;line-height:1.5}
.shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:var(--nav);color:white;display:flex;flex-direction:column;padding:22px 13px 16px;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}.side-brand{display:flex;align-items:center;gap:10px;padding:0 9px 23px}.side-brand .brand-mark{width:36px;height:36px;font-size:18px}.side-brand-title{font-size:17px;font-weight:850;letter-spacing:-.5px}.side-brand-sub{font-size:9px;letter-spacing:1.4px;color:#9bb5ae;text-transform:uppercase;margin-top:3px}.side-user{background:var(--nav2);border:1px solid #2f504a;border-radius:12px;padding:11px;margin:0 4px 21px;display:flex;gap:10px;align-items:center}.user-avatar{height:31px;width:31px;border-radius:10px;background:#c5eee3;color:#07584f;font-weight:850;display:grid;place-items:center;font-size:11px;flex:none}.user-name{font-size:11px;font-weight:800;overflow-wrap:anywhere}.user-role{font-size:10px;color:#a8c3bc;margin-top:3px}.nav-label{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#76958d;padding:7px 11px 9px}.nav-list{display:grid;gap:4px}.nav-item{width:100%;text-align:left;border:0;background:transparent;color:var(--nav-muted);padding:10px 11px;border-radius:9px;display:flex;gap:11px;align-items:center;font-size:11px;font-weight:650}.nav-item:hover{background:#1a3c38;color:white}.nav-item.active{background:#214943;color:white;box-shadow:inset 3px 0 #42d7bd}.nav-ico{width:18px;height:18px;display:grid;place-items:center;font-size:15px;flex:none}.nav-item .count{margin-left:auto;font-size:9px;padding:3px 6px;border-radius:30px;background:#2b4b44;color:#cde6df}.side-spacer{flex:1;min-height:20px}.side-note{margin:15px 4px 12px;border:1px solid #31514c;background:#183632;border-radius:11px;padding:12px;color:#c6d8d4;font-size:10px;line-height:1.55}.side-note strong{color:white;display:block;margin-bottom:3px}.side-foot{padding:12px 9px 0;border-top:1px solid #254540;color:#8fa9a4;font-size:10px;display:flex;justify-content:space-between;gap:8px}.main{min-width:0;padding:0 29px 38px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e1eae5;margin-bottom:26px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.crumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.crumb strong{color:var(--ink);font-weight:800}.topbar-actions{display:flex;align-items:center;gap:8px}.source-chip{border:1px solid var(--line);background:white;color:var(--muted);font-size:10px;border-radius:30px;padding:7px 10px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-head h1{margin:0;font-size:27px;letter-spacing:-1.1px;line-height:1.2}.page-head p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.65;max-width:760px}.head-actions{display:flex;align-items:center;gap:8px;padding-top:6px;flex-shrink:0}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.kpi{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--shadow);min-width:0}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--muted);font-size:10px;font-weight:750}.kpi-icon{height:30px;width:30px;border-radius:10px;background:var(--teal-soft);display:grid;place-items:center;font-size:15px;flex:none}.kpi-value{font-size:25px;letter-spacing:-1px;line-height:1.2;font-weight:850;margin:13px 0 7px;overflow-wrap:anywhere}.kpi-foot{font-size:10px;color:var(--muted);line-height:1.5}.kpi.clickable{cursor:pointer;transition:.15s}.kpi.clickable:hover{border-color:#a9cec3;transform:translateY(-2px)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 12px}.section-head h2{font-size:14px;letter-spacing:-.3px;margin:0}.section-head p{font-size:10px;color:var(--muted);margin:5px 0 0}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:17px 18px 0}.panel-head h3{font-size:12px;margin:0;font-weight:820}.panel-head p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.55}.panel-body{padding:15px 18px 18px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filters input{max-width:260px}.filters select{max-width:220px}.data-wrap{overflow:auto;width:100%}.data-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;font-size:11px}.data-table th{background:#f8fbf9;color:#82928e;text-transform:uppercase;letter-spacing:.7px;font-size:9px;font-weight:850;padding:12px 12px;text-align:left;border-top:1px solid #edf2ef;border-bottom:1px solid #e8efec;white-space:nowrap}.data-table td{padding:12px;border-bottom:1px solid #eef2f0;vertical-align:middle;line-height:1.45}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfc}.data-table tr[data-open]{cursor:pointer}.data-table .cell-title{font-weight:800;color:#263e39}.cell-sub{display:block;color:var(--muted);font-size:10px;margin-top:3px}.money{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:30px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.pill-green{background:var(--teal-soft);color:#137568}.pill-orange{background:var(--orange-soft);color:#9b4c23}.pill-red{background:var(--red-soft);color:#ae3838}.pill-yellow{background:var(--yellow-soft);color:#926007}.pill-gray{background:#edf1ef;color:#647572}.empty-state{padding:30px;text-align:center;color:var(--muted);font-size:11px;line-height:1.65}.notice{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;background:#eef7f4;border:1px solid #d7ece5;border-radius:12px;margin-bottom:16px}.notice.warn{background:#fff7e8;border-color:#f2dfb8}.notice.danger{background:#fff0f0;border-color:#f1d0d0}.notice strong{display:block;font-size:11px;margin:1px 0 4px}.notice p{margin:0;color:#526764;font-size:10px;line-height:1.6}.notice-ico{width:28px;height:28px;border-radius:9px;background:white;display:grid;place-items:center;flex:none}.two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}.age-card{background:white;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;transition:.15s;min-width:0}.age-card:hover,.age-card.selected{border-color:#7fc6b6;box-shadow:0 0 0 2px #d6f3eb}.age-card.selected{background:#f7fcfa}.age-count{font-size:28px;font-weight:880;letter-spacing:-1px;margin:11px 0 6px}.age-card-title{font-size:11px;font-weight:800}.age-caption{font-size:10px;color:var(--muted);line-height:1.55}.progress-track{height:7px;background:#edf2ef;border-radius:99px;overflow:hidden;margin:12px 0 7px}.progress-fill{height:100%;background:var(--teal2);border-radius:99px}.progress-fill.orange{background:#d97745}.progress-fill.red{background:#c84a4e}.mission-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.mission-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.mission-title{font-size:14px;font-weight:850;letter-spacing:-.3px}.mission-amount{font-size:25px;font-weight:850;letter-spacing:-.8px;margin:13px 0 4px}.mission-meta{font-size:10px;color:var(--muted);line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:rgba(7,24,22,.48);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(820px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:white;box-shadow:0 24px 80px rgba(0,0,0,.22)}.modal-head{position:sticky;top:0;background:white;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px 14px;border-bottom:1px solid #edf2ef}.modal-head h2{font-size:20px;letter-spacing:-.7px;margin:0}.modal-head p{font-size:10px;color:var(--muted);margin:7px 0 0;line-height:1.5}.modal-body{padding:19px 22px 22px}.modal-footer{position:sticky;bottom:0;background:white;border-top:1px solid #edf2ef;padding:13px 22px;display:flex;justify-content:space-between;gap:10px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field textarea{min-height:85px;resize:vertical}.field-help{font-size:9px;color:var(--muted);line-height:1.5}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}.form-section{grid-column:1/-1;border-bottom:1px solid #eaf0ed;padding-bottom:8px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:1.3px;color:var(--teal);margin-top:6px}.toast-host{position:fixed;right:22px;bottom:22px;z-index:200;display:grid;gap:8px;max-width:min(420px,calc(100vw - 28px))}.toast{background:#173932;color:white;border-radius:11px;padding:12px 14px;font-size:11px;line-height:1.5;box-shadow:0 15px 35px rgba(0,0,0,.18)}.toast.error{background:#8f2e35}.split-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.report-body{white-space:pre-wrap;line-height:1.8;font-size:12px;background:#fbfdfc;border:1px solid #e6eeea;border-radius:12px;padding:18px;min-height:150px}.code-note{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;white-space:pre-wrap;background:#f3f6f4;border-radius:8px;padding:11px;overflow-wrap:anywhere}.check-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid #eef2f0;font-size:11px}.check-row:last-child{border-bottom:0}.check-mark{color:var(--teal);font-weight:900}.footer-note{color:#8b9b96;font-size:10px;text-align:center;padding:22px 0 0}.small-note{font-size:10px;color:var(--muted);line-height:1.6}.chart-bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(80px,.7fr) 2fr 90px;gap:10px;align-items:center;font-size:10px}.bar-track{height:8px;border-radius:99px;background:#edf2ef;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:var(--teal2)}.report-title{font-size:18px;font-weight:850;letter-spacing:-.5px;margin:0 0 6px}.role-line{font-size:10px;color:var(--muted);margin-bottom:14px}.setting-card{padding:17px;border:1px solid var(--line);background:white;border-radius:13px}.setting-card h3{font-size:12px;margin:0 0 7px}.setting-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 13px}.pagination{display:flex;gap:8px;justify-content:flex-end;align-items:center;font-size:10px;color:var(--muted);padding-top:13px}.danger-text{color:var(--red)}
@media(max-width:1100px){.shell{grid-template-columns:225px minmax(0,1fr)}.main{padding:0 20px 30px}.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media(max-width:780px){.shell{display:block}.sidebar{position:fixed;left:-280px;top:0;width:252px;z-index:50;transition:left .18s;height:100dvh}.sidebar.open{left:0}.main{padding:0 13px 24px}.topbar{height:65px;margin-bottom:20px}.mobile-menu{display:inline-flex}.source-chip{display:none}.page-head{display:block}.head-actions{padding-top:13px}.page-head h1{font-size:24px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{gap:9px}.kpi{padding:13px}.kpi-value{font-size:21px}.panel-body{padding:13px}.panel-head{padding:14px 13px 0}.form-grid{grid-template-columns:1fr}.field.full,.form-section{grid-column:1}.modal-backdrop{padding:8px}.modal{max-height:96vh}.modal-head,.modal-body{padding-left:15px;padding-right:15px}.modal-footer{padding-left:15px;padding-right:15px}.bar-row{grid-template-columns:85px 1fr 70px}.topbar-actions .btn:not(.btn-primary){display:none}}@media(max-width:430px){.grid-4,.grid-5,.grid-3,.grid-2{grid-template-columns:1fr}.age-count{font-size:24px}.login-card{padding:23px}.login-card h1{font-size:27px}.filters input,.filters select{max-width:none;width:100%}.modal-footer{align-items:flex-start;flex-direction:column}.modal-actions{width:100%}.modal-actions .btn{flex:1}}

.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* v1.1: Ask Bunny, Action Centre, automation and cash-planning refinements */
.chat-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);gap:14px;align-items:start}.chat-panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);min-width:0}.chat-thread{height:min(56vh,620px);min-height:300px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:13px;background:linear-gradient(180deg,#fbfdfc,#f6faf8)}.chat-message{width:min(92%,720px);border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:#fff;box-shadow:0 3px 12px rgba(24,56,47,.035)}.chat-message.from-user{align-self:flex-end;background:#eaf7f3;border-color:#d4ece4}.chat-message.from-bunny{align-self:flex-start}.chat-who{font-size:10px;font-weight:850;color:var(--teal);margin-bottom:7px}.chat-text{font-size:12px;line-height:1.8;overflow-wrap:anywhere;color:#253b36}.chat-meta{font-size:9px;color:var(--muted);margin-top:9px}.chat-composer{border-top:1px solid var(--line);padding:13px;background:white}.chat-composer textarea{min-height:90px;max-height:200px;resize:vertical;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:12px;outline:none}.chat-composer textarea:focus{border-color:#78b9a9;box-shadow:0 0 0 3px #e4f6f0}.chat-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}.chat-compose-bottom span{font-size:9px;color:var(--muted);line-height:1.5}.chat-side{display:grid;gap:12px}.ask-welcome{text-align:center;margin:auto;max-width:640px;padding:20px}.ask-orb{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 13px;border-radius:18px;background:#e0f4ed;color:#147869;font-size:28px;box-shadow:0 8px 25px #d9eee7}.ask-welcome h2{font-size:24px;margin:0 0 8px;letter-spacing:-.7px}.ask-welcome p{font-size:11px;color:var(--muted);line-height:1.7;max-width:500px;margin:0 auto 19px}.prompt-chips,.prompt-vertical{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.prompt-vertical{display:grid;justify-content:stretch}.prompt-chip{border:1px solid #d8e7e1;background:#fff;color:#2b554b;border-radius:10px;padding:9px 11px;text-align:left;font-size:10px;line-height:1.45;cursor:pointer}.prompt-chip:hover{border-color:#8acbbb;background:#f5fbf8}.prompt-vertical .prompt-chip{width:100%}.typing-dot{display:inline-block;width:6px;height:6px;background:#299a87;border-radius:50%;margin:0 3px;animation:blink 1s infinite alternate}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes blink{to{opacity:.25;transform:translateY(-2px)}}.action-kpis{margin-bottom:14px}.action-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px 0;border-bottom:1px solid #edf2ef}.action-card:last-child{border-bottom:0}.action-badge{border-radius:9px;padding:7px 8px;font-size:9px;font-weight:900;text-align:center;background:#eff2f0;color:#61736e}.action-badge.critical{background:#fff0f0;color:#b4333d}.action-badge.high{background:#fff2e8;color:#a55322}.action-badge.medium{background:#f1f5f4;color:#59716b}.action-title{font-size:12px;font-weight:850;color:#233d36}.action-target{font-size:10px;color:var(--teal);font-weight:700;margin-top:5px}.action-copy p{font-size:10px;color:var(--muted);line-height:1.65;margin:7px 0}.action-meta{font-size:9px;color:#85948f}.action-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.automation-rule{min-height:150px}.rule-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rule-icon{width:32px;height:32px;border-radius:10px;background:#e8f5f0;color:#167b6c;display:grid;place-items:center;font-size:17px;font-weight:850}.rule-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:9px;color:var(--muted)}.saved-report-list{display:grid;gap:7px}.saved-report-item{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer;color:var(--text)}.saved-report-item:hover{border-color:#8acbbb;background:#f8fcfa}.saved-report-item strong{display:block;font-size:11px}.saved-report-item small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.saved-report-item>span:last-child{font-size:10px;color:var(--teal);white-space:nowrap}.action-card .btn{white-space:nowrap}
@media(max-width:950px){.chat-layout{grid-template-columns:1fr}.chat-side{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-side .setting-card:last-child{grid-column:1/-1}}
@media(max-width:650px){.chat-thread{height:48vh;min-height:260px;padding:12px}.chat-side{grid-template-columns:1fr}.chat-side .setting-card:last-child{grid-column:auto}.action-card{grid-template-columns:66px minmax(0,1fr)}.action-buttons{grid-column:2;justify-content:flex-start}.chat-compose-bottom{align-items:flex-start;flex-direction:column}.chat-compose-bottom .btn{width:100%}}
