:root{
    --navy:#063253;
    --navy2:#0c426b;
    --teal:#24bdb2;
    --teal-dark:#159f98;
    --blue:#2f92ef;
    --gold:#ffc447;
    --coral:#ff6f53;
    --mint:#e9fbf7;
    --sky:#edf7ff;
    --cream:#fff8e9;
    --danger:#d94835;
    --ok:#128a65;
    --text:#16324f;
    --muted:#62748b;
    --line:#dfeaf3;
    --bg:#f7fbff;
    --card:#ffffff;
    --shadow:0 18px 45px rgba(7,50,83,.10);
    --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#fff 0%,var(--bg) 42%,#fff 100%);color:var(--text);line-height:1.5}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}.container{width:min(1160px,92vw);margin:0 auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,234,243,.8)}.topbar-inner{width:min(1160px,92vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}.brand-link{display:flex;align-items:center}.brand-logo{height:58px;width:auto}.brand-fallback{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--navy);font-size:30px}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--teal),var(--blue));color:white}.main-nav{display:flex;align-items:center;gap:18px;font-weight:700}.main-nav a{color:var(--navy2)}.nav-pill,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff!important;font-weight:900;padding:12px 18px;box-shadow:0 10px 25px rgba(47,146,239,.18);cursor:pointer;text-decoration:none!important}.btn.secondary{background:#fff;color:var(--navy)!important;border:1px solid var(--line);box-shadow:none}.btn.gold{background:linear-gradient(135deg,#ffd166,#ffad42);color:var(--navy)!important}.btn.danger{background:var(--danger)}.btn.small{padding:8px 12px;font-size:14px}.btn.full{width:100%}.hero{position:relative;padding:64px 0 34px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--teal-dark);background:var(--mint);border:1px solid #c7f4ed;border-radius:999px;padding:8px 13px;font-weight:900;font-size:14px}.hero h1{font-size:clamp(44px,6vw,78px);line-height:.98;margin:18px 0;color:var(--navy);letter-spacing:-.055em}.hero .highlight{color:var(--teal)}.lead{font-size:clamp(18px,2.2vw,23px);color:#3a5069;max-width:700px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:24px;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:auto -80px -90px auto;width:220px;height:220px;border-radius:50%;background:rgba(36,189,178,.14)}.hero-image{border-radius:28px;box-shadow:0 20px 55px rgba(6,50,83,.12)}.banner-img{border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow)}.section{padding:58px 0}.section-title{font-size:clamp(30px,4vw,48px);line-height:1.06;color:var(--navy);letter-spacing:-.035em;margin:0 0 12px}.section-lead{font-size:19px;color:var(--muted);max-width:780px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(7,50,83,.07);padding:24px}.card h3,.panel h2,.panel h3{margin-top:0;color:var(--navy)}.icon-bubble{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--mint);color:var(--teal-dark);font-weight:900;font-size:24px;margin-bottom:12px}.icon-bubble.blue{background:var(--sky);color:var(--blue)}.icon-bubble.gold{background:var(--cream);color:#b16b00}.muted{color:var(--muted)}.mini{font-size:13px}.site-footer{border-top:1px solid var(--line);padding:30px 0;background:#fff}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted)}.footer-links{display:flex;gap:14px}.flash-wrap{width:min(1160px,92vw);margin:14px auto 0}.flash{padding:13px 16px;border-radius:16px;margin:8px 0;font-weight:800}.flash.ok{background:#e8f9f1;color:#0b684c}.flash.error{background:#fdecea;color:#9f2e22}.flash.info{background:#eaf4ff;color:#174d7a}.auth-shell{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:42px 0}.auth-card{width:min(520px,92vw);background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:34px}.auth-card .brand-logo{height:64px;margin:0 auto 16px}.form-grid{display:grid;gap:14px}.field label{font-weight:900;color:var(--navy);display:block;margin:0 0 7px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font:inherit;background:#fff;color:var(--text)}.field textarea{min-height:160px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(36,189,178,.16);border-color:var(--teal)}.dash{padding:34px 0 60px}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.dash-head h1{margin:0;color:var(--navy);font-size:clamp(32px,4vw,50px);letter-spacing:-.035em}.dash-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 25px rgba(7,50,83,.05)}.stat strong{display:block;font-size:28px;color:var(--navy)}.stat span{font-size:13px;color:var(--muted);font-weight:800}.list{display:grid;gap:12px}.item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.item.done{opacity:.62}.checkbtn{width:28px;height:28px;border-radius:10px;border:2px solid #c8d7e5;background:#fff;cursor:pointer}.checkbtn.checked{background:var(--teal);border-color:var(--teal);position:relative}.checkbtn.checked:after{content:"✓";color:#fff;font-weight:900;position:absolute;inset:0;display:grid;place-items:center}.item-title{font-weight:900;color:var(--navy)}.item-meta{color:var(--muted);font-size:13px;margin-top:3px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:var(--sky);color:var(--navy);font-weight:900;font-size:12px}.pill.high{background:#fff0eb;color:#9d331f}.pill.normal{background:var(--sky);color:#1a5d91}.pill.low{background:#f1f5f9;color:#52677d}.pill.school{background:#e9f3ff;color:#00549b}.pill.sports{background:#e6faf2;color:#087a55}.pill.general{background:#f4f2ff;color:#4f46a5}.pill.church{background:#fff8dd;color:#8a5a00}.pill.medical{background:#ffecef;color:#9d2541}.capture-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px;align-items:start}.source-card{border:1px solid var(--line);border-radius:20px;padding:16px;background:#fff}.source-card + .source-card{margin-top:12px}.source-card .title{font-weight:900;color:var(--navy)}.review-block{border:1px dashed #b8cbde;border-radius:18px;padding:16px;background:#fcfeff;margin:14px 0}.review-row{display:grid;grid-template-columns:1fr 155px 135px;gap:10px;margin:10px 0}.review-row.action{grid-template-columns:1fr 145px 130px 125px}.empty{padding:26px;border-radius:20px;background:linear-gradient(135deg,#f3fbff,#fff);border:1px dashed #cfe2f1;text-align:center;color:var(--muted)}.processing-overlay{position:fixed;inset:0;background:rgba(255,255,255,.78);backdrop-filter:blur(10px);z-index:200;display:none;align-items:center;justify-content:center;text-align:center}.processing-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow);width:min(360px,90vw)}.spinner{width:54px;height:54px;border-radius:50%;border:6px solid #dbeaf6;border-top-color:var(--teal);animation:spin .85s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.subscribe-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px;background:linear-gradient(135deg,#ffffff,#f0fffb);border-color:#c7f4ed}.subscribe-panel h2{margin:10px 0 6px}
.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}.table th{color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.mobile-only{display:none}
@media(max-width:900px){.subscribe-panel{display:block}.subscribe-panel .btn{margin-top:12px}.main-nav{gap:10px;font-size:14px;flex-wrap:wrap;justify-content:flex-end}.brand-logo{height:46px}.hero-grid,.dash-grid,.capture-layout,.grid-2,.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.dash-head{display:block}.review-row,.review-row.action{grid-template-columns:1fr}.footer-grid{display:block}.footer-links{margin-top:12px}.hero{padding-top:32px}.desktop-only{display:none}.mobile-only{display:block}}
@media(max-width:560px){.topbar-inner{display:block;padding:12px 0}.brand-link{margin-bottom:10px}.main-nav{justify-content:flex-start}.stats{grid-template-columns:1fr}.hero h1{font-size:42px}.card,.panel,.auth-card{padding:20px}.item{grid-template-columns:auto 1fr}.item .right{grid-column:2}.btn{width:100%}}

/* Kibbi update: mobile/camera, family icons, and integrations */
.checkline{display:flex!important;gap:10px;align-items:flex-start;font-weight:800;color:var(--navy)}
.checkline input,.google-add-option input{width:auto!important;margin-top:4px}
.google-add-option{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid #c7f4ed;background:var(--mint);border-radius:16px;font-weight:900;color:var(--navy);margin:12px 0 18px}
.email-builder{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.email-builder input{border:0!important;border-radius:0!important}
.email-builder span{padding:0 14px;color:var(--muted);font-weight:900;background:#f7fbff;height:100%;display:flex;align-items:center;border-left:1px solid var(--line)}
.icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.icon-picker label{cursor:pointer}
.icon-picker input{position:absolute;opacity:0;pointer-events:none}
.icon-picker span{display:grid;place-items:center;height:44px;border:1px solid var(--line);border-radius:16px;background:#fff;font-size:22px;box-shadow:0 6px 18px rgba(7,50,83,.04)}
.icon-picker input:checked + span{border-color:var(--teal);outline:3px solid rgba(36,189,178,.18);background:var(--mint)}
.family-member-card{border:1px solid var(--line);border-radius:20px;padding:14px;background:#fff;display:grid;gap:10px}
.family-member-form{display:grid;grid-template-columns:auto 1.1fr 90px 80px auto;gap:10px;align-items:end}
.member-preview{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 10px 24px rgba(7,50,83,.12)}
.field.compact label{font-size:12px;margin-bottom:5px}.field.compact input,.field.compact select{padding:9px 10px;border-radius:13px}.mini-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mobile-camera{display:none}.is-mobile .mobile-camera{display:block}
body.is-mobile .container{width:min(100% - 28px, 1160px)}
body.is-mobile .topbar{position:relative}body.is-mobile .main-nav{overflow-x:auto;white-space:nowrap;padding-bottom:4px}body.is-mobile .main-nav a{flex:0 0 auto}body.is-mobile .btn{min-height:44px}body.is-mobile input,body.is-mobile textarea,body.is-mobile select{font-size:16px!important}
@media(max-width:760px){.family-member-form{grid-template-columns:auto 1fr}.family-member-form .btn,.family-member-form .field{grid-column:span 2}.member-preview{grid-row:span 1}.icon-picker{grid-template-columns:repeat(4,1fr)}.email-builder{grid-template-columns:1fr}.email-builder span{border-left:0;border-top:1px solid var(--line);padding:8px 14px}.google-add-option{align-items:flex-start}.source-card .btn.small{width:auto}.mini-form .btn{width:auto}.topbar-inner{min-height:auto}.main-nav{font-size:13px}.brand-logo{height:42px}}
