:root{--ink:#1d2926;--muted:#68736e;--bg:#f7f4ee;--card:#fffdf9;--green:#123f38;--green2:#dce9e4;--sand:#ece5d9;--warn:#b85d3e;--line:#ded9d0;--shadow:0 8px 24px rgba(30,45,40,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:720px;margin:auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(90px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:4;background:rgba(247,244,238,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px}.brand{font-size:25px;font-weight:800;letter-spacing:-.04em}.avatar{border:0;border-radius:999px;padding:9px 12px;background:var(--sand);font-weight:700}.eyebrow{font-size:13px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}h1{font-size:31px;line-height:1.06;letter-spacing:-.04em;margin:8px 0}h2{font-size:18px;margin:26px 0 10px}.lead{color:var(--muted);line-height:1.5;margin:0 0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:10px 0;box-shadow:var(--shadow)}.item,.household-card{display:grid;grid-template-columns:1fr auto;gap:10px}.item h3,.household-card h3{font-size:16px;margin:0 0 7px}.meta{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:var(--green2);color:var(--green);font-size:12px;font-weight:700}.pill.warn{background:#f6dfd5;color:#81391f}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:750;background:var(--green);color:white}.btn.secondary{background:var(--sand);color:var(--ink)}.btn.ghost{background:transparent;color:var(--green);border:1px solid var(--line)}.btn.danger{background:#f5ded7;color:#7c311d}.iconbtn{width:40px;height:40px;padding:0;border-radius:50%;border:0;background:var(--green2);color:var(--green);font-size:20px}.empty{text-align:center;padding:34px 20px;color:var(--muted)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:10;width:min(720px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:#fffefa;border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.nav button{border:0;background:none;color:var(--muted);padding:8px 2px;font-size:11px}.nav button.active{color:var(--green);font-weight:800}.nav svg{display:block;width:22px;height:22px;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav span{display:block}.fab{position:fixed;right:max(22px,calc((100vw - 720px)/2 + 22px));bottom:88px;z-index:12;width:58px;height:58px;border:0;border-radius:50%;background:var(--green);color:white;font-size:30px;box-shadow:0 10px 28px rgba(18,63,56,.3)}.overlay{position:fixed;inset:0;z-index:20;background:rgba(20,31,27,.45);display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(720px,100%);max-height:92dvh;overflow:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.sheethead{display:flex;justify-content:space-between;align-items:center}.sheet h2{margin:4px 0 16px}.field{margin:14px 0}.field label{display:block;font-size:13px;font-weight:750;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:13px;color:var(--ink)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subtask{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.subtask input{width:20px;height:20px}.progress{height:8px;background:var(--sand);border-radius:99px;overflow:hidden;margin:10px 0}.progress span{display:block;height:100%;background:var(--green)}.notice{padding:12px;border-left:4px solid var(--warn);background:#fff4ef;border-radius:8px;margin:10px 0}.seg{display:flex;gap:6px;overflow:auto;margin-bottom:12px}.seg button{white-space:nowrap;border:1px solid var(--line);background:white;padding:9px 12px;border-radius:999px}.seg button.active{background:var(--green);color:white}.back{border:0;background:none;color:var(--green);font-weight:750;padding:8px 0}.reviewstep{font-size:13px;color:var(--muted);margin-bottom:10px}.setup-card p{margin:6px 0;color:var(--muted);line-height:1.4}.checkgrid,.packgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px;margin:8px 0}.choice input{width:20px;height:20px;accent-color:var(--green);flex:0 0 auto}.taskchoice{min-height:54px}.pack{border:1px solid var(--line);text-align:left;width:100%;margin:0;min-height:100px}.pack small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.household-card{align-items:center}@media(min-width:650px){.shell{padding-left:28px;padding-right:28px}.sheet{padding-left:28px;padding-right:28px}}@media(max-width:420px){.twocol,.checkgrid,.packgrid{grid-template-columns:1fr}}

/* Samarbeidsrom, tydelig merkevare og mobilvennlige valg */
.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
.brand-lockup{display:flex;align-items:center;gap:8px}.brand-lockup img{width:34px;height:34px;border-radius:10px;box-shadow:0 4px 12px rgba(18,63,56,.18)}
.space-switch{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:rgba(255,253,249,.9);border-radius:999px;padding:9px 12px;color:var(--ink)}
.space-switch b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.space-list{display:grid;gap:9px}.space-option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;margin:0;box-shadow:none}
.space-option.selected{border-color:var(--green);background:linear-gradient(135deg,#fffdf9,#edf5f1)}
.space-option small{display:block;color:var(--muted);margin-top:4px}.space-emoji{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--green2);font-size:23px}
.space-hero{display:flex;align-items:center;gap:14px;margin:12px 0 20px}.space-hero>span{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--green2);font-size:34px}.space-hero h2,.space-hero p{margin:0}.space-hero p{color:var(--muted);margin-top:4px}
.member-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn.compact{padding:8px 11px}
.success-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;margin:20px auto;background:var(--green2);color:var(--green);font-size:36px;font-weight:900}
.invite-code{font-size:32px;letter-spacing:.16em;font-weight:900;text-align:center;background:white;border:2px dashed var(--green);border-radius:18px;padding:20px 12px;margin:18px 0;color:var(--green)}
[hidden]{display:none!important}
.btn{min-height:44px;transition:transform .12s ease,filter .12s ease}.btn:active,.iconbtn:active,.space-switch:active{transform:scale(.98)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(18,63,56,.14);border-color:var(--green)}
.card.pack{position:relative;overflow:hidden}.card.pack:after{content:"›";position:absolute;right:13px;bottom:10px;color:var(--green);font-size:22px}
@media(max-width:520px){.brand-lockup .brand{display:none}.space-switch b{max-width:125px}.top{grid-template-columns:38px minmax(0,1fr) auto}.avatar{padding:9px 10px}.sheet{border-radius:28px 28px 0 0}}

/* Én dagsoversikt på tvers av hjem, med rolige romfiltre */
.overview-filters{display:flex;gap:8px;overflow-x:auto;margin:4px -16px 8px;padding:4px 16px 8px;scrollbar-width:none}
.overview-filters::-webkit-scrollbar{display:none}
.overview-filters button{flex:0 0 auto;min-height:40px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--card);color:var(--ink);font-weight:700}
.overview-filters button.active{border-color:var(--green);background:var(--green);color:white}
.handover-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fffdf9,#edf5f1)}
.handover-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:var(--green2);color:var(--green);font-size:21px;font-weight:900}

/* Produktpilot: kort onboarding, tydeligere I dag og varme valg */
:root{
  --ink:#1d2724;
  --muted:#6f7773;
  --bg:#f8f3e9;
  --card:#fffefa;
  --green:#1f6b58;
  --green-bright:#2f9d69;
  --green2:#dceee4;
  --sand:#eee5d6;
  --warn:#c96042;
  --line:#dfd9ce;
  --coral:#f29a79;
  --sun:#f4c95d;
  --shadow:0 12px 34px rgba(44,62,55,.08);
}
body{
  min-height:100dvh;
  background:
    radial-gradient(circle at 92% -8%,rgba(47,157,105,.08),transparent 31%),
    var(--bg);
  font-family:"Avenir Next","Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.btn{border-radius:16px;font-weight:800}
.onboarding-shell{
  width:min(100%,620px);
  min-height:100dvh;
  margin:0 auto;
  padding:calc(10px + env(safe-area-inset-top)) 22px calc(138px + env(safe-area-inset-bottom));
  position:relative;
}
.onboarding-top{
  min-height:58px;
  display:grid;
  grid-template-columns:74px 1fr 74px;
  align-items:center;
  gap:8px;
}
.onboarding-back,.onboarding-skip{
  border:0;
  background:none;
  color:var(--green);
  font-weight:800;
  padding:12px 0;
}
.onboarding-back{text-align:left;font-size:24px}
.onboarding-skip{text-align:right;font-size:13px}
.onboarding-wordmark,.welcome-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:var(--green);
  font-size:27px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
}
.onboarding-wordmark img,.welcome-brand img{width:36px;height:36px;border-radius:11px}
.onboarding-progress{
  height:5px;
  margin:5px 0 28px;
  background:rgba(29,39,36,.08);
  border-radius:99px;
  overflow:hidden;
}
.onboarding-progress span{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--green),var(--green-bright));
  border-radius:inherit;
  transition:width .25s ease;
}
.onboarding-content h1,.auth-copy h1,.done-screen h1,.welcome-copy h1{
  font-size:clamp(32px,8vw,46px);
  line-height:1.02;
  letter-spacing:-.055em;
  margin:8px 0 12px;
}
.onboarding-content>.lead,.done-screen>.lead{
  font-size:17px;
  margin-bottom:24px;
}
.step-kicker{
  color:var(--green-bright);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.onboarding-footer{
  position:fixed;
  z-index:8;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%,620px);
  padding:22px 22px calc(15px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(248,243,233,0),var(--bg) 23%);
}
.onboarding-primary{
  width:100%;
  min-height:58px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--green),#278764);
  box-shadow:0 12px 28px rgba(31,107,88,.22);
  font-size:17px;
}
.onboarding-link{
  width:100%;
  background:transparent;
  color:var(--green);
  border:0;
  box-shadow:none;
}
.footer-hint{
  margin-top:10px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}
.welcome-screen{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:calc(25px + env(safe-area-inset-top));
}
.welcome-brand{font-size:34px}
.welcome-brand img{width:43px;height:43px;border-radius:13px}
.welcome-illustration{
  width:min(94%,430px);
  max-height:42dvh;
  margin:20px auto 5px;
  object-fit:contain;
  filter:drop-shadow(0 22px 30px rgba(36,74,61,.11));
}
.welcome-copy{text-align:center;max-width:470px}
.welcome-copy .eyebrow{color:var(--green-bright)}
.welcome-copy p,.auth-copy p{font-size:17px;line-height:1.5;color:var(--muted);margin:0}
.welcome-footer{padding-top:28px}
.large-field label{font-size:14px}
.large-field input{font-size:18px;font-weight:750;padding:16px!important}
.choice-grid{display:grid;gap:10px}
.housing-grid{grid-template-columns:repeat(2,1fr);margin-bottom:24px}
.icon-choice-grid{grid-template-columns:repeat(3,1fr)}
.select-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:58px;
  border:1.5px solid var(--line);
  border-radius:17px;
  padding:12px;
  background:rgba(255,254,250,.82);
  font-weight:750;
  transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.select-card:active{transform:scale(.98)}
.select-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.select-card:has(input:checked){
  border-color:var(--green);
  background:linear-gradient(135deg,#fffefa,#e6f2eb);
  box-shadow:0 6px 18px rgba(31,107,88,.08);
}
.select-card:has(input:checked):after{
  content:"✓";
  position:absolute;
  top:7px;
  right:8px;
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:var(--green);
  color:white;
  font-size:11px;
  font-weight:900;
}
.compact-select{justify-content:center}
.icon-select{flex-direction:column;justify-content:center;text-align:center;min-height:94px}
.select-emoji{font-size:28px;line-height:1}
.onboarding-child-list{display:grid;gap:10px}
.member-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  box-shadow:var(--shadow);
}
.member-card small{display:block;margin-top:3px;color:var(--muted)}
.onboarding-section-title{margin:18px 0 9px}
.member-avatar{
  display:grid;
  place-items:center;
  width:50px;height:50px;
  border-radius:16px;
  background:#f7e8cc;
  font-size:25px;
}
.gentle-empty{
  min-height:185px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1.5px dashed var(--line);
  border-radius:24px;
  color:var(--muted);
  text-align:center;
}
.gentle-empty>span{font-size:40px}.gentle-empty small{max-width:240px}
.add-member-button{
  width:100%;
  min-height:60px;
  margin-top:14px;
  border:1.5px solid var(--green);
  border-radius:18px;
  background:transparent;
  color:var(--green);
  font-weight:850;
}
.add-member-button span{font-size:22px;margin-right:5px}
.quick-child-hero{display:flex;align-items:center;gap:13px;margin:10px 0 22px}
.quick-child-hero>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#f7e8cc;font-size:30px}
.quick-child-hero h2,.quick-child-hero p{margin:0}.quick-child-hero p{color:var(--muted);margin-top:3px}
.field label small{color:var(--muted);font-weight:500;margin-left:4px}
.focus-grid{grid-template-columns:1fr 1fr}
.focus-card{align-items:flex-start;min-height:120px;padding:16px}
.focus-icon{font-size:29px}
.focus-card b,.focus-card small{display:block}
.focus-card small{color:var(--muted);margin-top:5px;line-height:1.35}
.starter-pack-list{display:grid;gap:12px}
.starter-pack{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1.5px solid var(--line);
  border-radius:21px;
  background:var(--card);
  box-shadow:0 7px 22px rgba(44,62,55,.05);
}
.starter-pack input{position:absolute;opacity:0}
.starter-pack:has(input:checked){border-color:var(--green);background:linear-gradient(135deg,#fffefa,#e8f3ed)}
.pack-emoji{display:grid;place-items:center;width:51px;height:51px;border-radius:16px;background:var(--sand);font-size:27px}
.pack-copy b,.pack-copy small,.pack-copy em{display:block}
.pack-copy small{margin-top:4px;color:var(--muted);line-height:1.35}
.pack-copy em{margin-top:7px;color:var(--green);font-size:12px;font-style:normal;font-weight:800}
.pack-check{display:grid;place-items:center;width:27px;height:27px;border:1.5px solid var(--line);border-radius:50%;color:transparent}
.starter-pack:has(input:checked) .pack-check{border-color:var(--green);background:var(--green);color:white}
.done-screen{text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:calc(55px + env(safe-area-inset-top))}
.done-visual{position:relative;margin:8px auto 28px}
.done-visual img{width:105px;height:105px;border-radius:30px;box-shadow:0 20px 40px rgba(31,107,88,.19)}
.done-visual span{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:38px;height:38px;border:4px solid var(--bg);border-radius:50%;background:var(--green-bright);color:#fff;font-weight:900}
.done-summary{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 20px}
.done-summary div{padding:15px 5px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.done-summary b,.done-summary span{display:block}.done-summary b{font-size:23px;color:var(--green)}.done-summary span{font-size:11px;color:var(--muted);margin-top:3px}
.done-promise{display:flex;gap:12px;text-align:left;padding:17px;border-radius:20px;background:var(--green2);color:var(--ink)}
.done-promise>span{font-size:27px}.done-promise p{margin:5px 0 0;color:var(--muted);line-height:1.4}

/* Innlogging bruker samme språk som resten av produktet */
.auth-experience{
  width:min(100%,560px);
  min-height:100dvh;
  margin:0 auto;
  padding:calc(26px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.auth-illustration{width:min(86%,390px);max-height:35dvh;object-fit:contain;margin:16px auto}
.auth-copy{text-align:center;margin:8px 0 19px}
.auth-form,.setup-option{display:grid;gap:12px}
.auth-email{display:grid;gap:6px;text-align:left;font-size:13px;font-weight:800}
.auth-email input{width:100%;border:1.5px solid var(--line);border-radius:17px;background:var(--card);padding:16px;color:var(--ink);font-size:16px}
.auth-email input:focus{outline:3px solid rgba(31,107,88,.12);border-color:var(--green)}
.privacy-line{text-align:center;color:var(--muted);font-size:11px}
.auth-loading{display:flex;justify-content:center;gap:7px;margin:30px}
.auth-loading span{width:10px;height:10px;border-radius:50%;background:var(--green);animation:authPulse 1s infinite alternate}.auth-loading span:nth-child(2){animation-delay:.2s}.auth-loading span:nth-child(3){animation-delay:.4s}
@keyframes authPulse{to{opacity:.25;transform:translateY(-5px)}}
.setup-experience{justify-content:flex-start}
.setup-option{margin:10px 0;padding:18px;border:1.5px solid var(--line);border-radius:23px;background:var(--card)}
.setup-option.primary-option{border-color:var(--green);background:linear-gradient(135deg,#fffefa,#edf5f0)}
.setup-option-icon{font-size:30px}.setup-option h2,.setup-option p{margin:0}.setup-option p{margin-top:3px;color:var(--muted)}

/* I dag er nå et produktdashboard, ikke en liste med like bokser */
.today-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:15px;
  margin:5px 0 18px;
}
.today-hero h1{font-size:36px;margin:6px 0 4px}.today-hero p{margin:0;color:var(--muted)}
.quick-add{display:flex;align-items:center;gap:7px;flex:0 0 auto;border:0;border-radius:999px;padding:11px 14px;background:var(--green);color:#fff;font-weight:800}
.quick-add span{font-size:20px;line-height:1}
.presence-strip{display:flex;gap:9px;overflow-x:auto;margin:0 -16px 12px;padding:2px 16px 10px;scrollbar-width:none}
.presence-strip::-webkit-scrollbar{display:none}
.presence-strip button{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;flex:0 0 auto;min-width:126px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:var(--card);color:var(--ink)}
.presence-strip button>span{grid-row:1/3;font-size:23px}.presence-strip button b{font-size:13px}.presence-strip button small{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.pet-strip{display:flex;gap:9px;overflow-x:auto;margin:-4px -16px 12px;padding:2px 16px 9px;scrollbar-width:none}
.pet-strip::-webkit-scrollbar{display:none}
.pet-strip button{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;flex:0 0 auto;min-width:145px;text-align:left;border:1px solid #d8c9b7;border-radius:16px;padding:10px 12px;background:linear-gradient(135deg,#fffefa,#fbf0df);color:var(--ink)}
.pet-strip button>span{grid-row:1/3;font-size:25px}.pet-strip button b{font-size:13px}.pet-strip button small{color:var(--muted);white-space:nowrap}
.task-card{position:relative;overflow:hidden;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center;gap:12px;padding:14px}
.task-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--green2);color:var(--green);font-size:21px;font-weight:900}
.task-copy{min-width:0}.task-copy h3{font-size:16px;margin:5px 0 7px}
.task-details{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.task-details span:not(:last-child):after{content:"·";margin-left:7px;color:var(--line)}
.severity-important{border-left:5px solid #e0a62e}
.severity-financial{border-left:5px solid #4a7fb5;background:linear-gradient(110deg,#f4f8fc,var(--card) 36%)}
.severity-critical{border-left:5px solid #c94d43;background:linear-gradient(110deg,#fff3f0,var(--card) 40%)}
.impact-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}
.impact-pill.important{background:#fff0bf;color:#74530b}
.impact-pill.financial{background:#dcebf8;color:#315e89}
.impact-pill.critical{background:#f9d8d4;color:#8d3029}
.task-amount{color:var(--ink);font-weight:900}
.impact-note{margin:9px 0 0;padding:8px 10px;border-radius:11px;background:rgba(201,77,67,.08);color:#74342e;font-size:12px;font-weight:700;line-height:1.35}
.task-due.overdue{color:var(--warn);font-weight:850}
.task-overdue{border-color:rgba(201,96,66,.55);box-shadow:0 9px 25px rgba(201,96,66,.10)}
.task-overdue .task-symbol{background:#f7e1d9}
.calm-empty{display:flex;align-items:center;gap:13px;padding:18px;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
.calm-empty>span{font-size:30px}.calm-empty b,.calm-empty small{display:block}.calm-empty small{margin-top:3px}
.overview-filters{margin-top:8px}
.template-library-callout{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  margin:12px 0;
  padding:16px;
  text-align:left;
  border:1.5px solid var(--green);
  border-radius:20px;
  background:linear-gradient(135deg,#fffefa,#e5f1ea);
  color:var(--ink);
}
.template-library-callout>span:first-child{font-size:28px}
.template-library-callout>span:last-child{font-size:25px;color:var(--green)}
.template-library-callout b,.template-library-callout small{display:block}
.template-library-callout small{margin-top:4px;color:var(--muted);line-height:1.35}
.home-pack-library{display:grid;gap:10px}
.library-pack{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  padding:15px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:19px;
  background:var(--card);
  color:var(--ink);
}
.library-pack>span:first-child{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--sand);font-size:26px}
.library-pack>span:last-child{font-size:22px;color:var(--green)}
.library-pack b,.library-pack small,.library-pack em{display:block}
.library-pack small{margin-top:3px;color:var(--muted);line-height:1.35}
.library-pack em{margin-top:5px;color:var(--green);font-size:11px;font-style:normal;font-weight:850}
.pack-detail-title{display:flex;align-items:center;gap:14px;margin:12px 0 20px}
.pack-detail-title>span{display:grid;place-items:center;width:65px;height:65px;border-radius:20px;background:var(--sand);font-size:34px}
.pack-detail-title h2,.pack-detail-title p{margin:0}.pack-detail-title p{margin-top:5px;color:var(--muted)}
.pack-preview-list{display:grid;gap:9px;margin:15px 0}
.pack-preview-list>div{display:flex;align-items:center;gap:11px;padding:12px;border-radius:15px;background:var(--card);border:1px solid var(--line)}
.pack-preview-list>div>span:first-child{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green2);color:var(--green);font-weight:900}
.pack-preview-list b,.pack-preview-list small{display:block}.pack-preview-list small{margin-top:2px;color:var(--muted)}
.pack-selection-intro{
  display:grid;
  gap:4px;
  margin:4px 0 16px;
  padding:14px 15px;
  border-radius:17px;
  background:var(--green2);
}
.pack-selection-intro small{color:var(--muted);line-height:1.4}
.home-pack-choices{display:grid;gap:14px}
.pack-choice-group{
  margin:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:19px;
  background:rgba(255,255,255,.48);
}
.pack-choice-group h3{
  margin:0 0 8px;
  font-size:13px;
  color:var(--green);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pack-choice-group .choice{margin:7px 0;background:var(--card)}
.pack-choice-group .choice:last-child{margin-bottom:0}
.pack-choice-group b,.pack-choice-group small{display:block}
.pack-choice-group small{margin-top:3px;color:var(--muted);line-height:1.35}
.compact-lead{margin-bottom:12px}
.simple-item-form>.field:first-child{margin-top:10px}
.repeat-fieldset{
  min-width:0;
  margin:18px 0;
  padding:0;
  border:0;
}
.repeat-fieldset legend{
  padding:0;
  margin-bottom:9px;
  font-size:14px;
  font-weight:800;
}
.repeat-options{
  display:flex;
  gap:8px;
  margin:0 -18px;
  padding:2px 18px 8px;
  overflow-x:auto;
  scrollbar-width:none;
}
.repeat-options::-webkit-scrollbar{display:none}
.repeat-options label{position:relative;flex:0 0 auto}
.repeat-options input{position:absolute;opacity:0;pointer-events:none}
.repeat-options span{
  display:block;
  min-height:42px;
  padding:10px 14px;
  border:1.5px solid var(--line);
  border-radius:999px;
  background:var(--card);
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  transition:.14s ease;
}
.repeat-options input:checked+span{
  border-color:var(--green);
  background:var(--green);
  color:#fff;
  box-shadow:0 6px 16px rgba(31,107,88,.16);
}
.repeat-description{
  min-height:18px;
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.custom-repeat{
  display:grid;
  grid-template-columns:auto 80px 1fr;
  align-items:center;
  gap:8px;
  margin-top:11px;
  padding:11px 12px;
  border-radius:15px;
  background:var(--green2);
  color:var(--green);
  font-size:13px;
  font-weight:800;
}
.custom-repeat input,.custom-repeat select{
  min-width:0;
  width:100%;
  border:1px solid rgba(31,107,88,.22);
  border-radius:11px;
  padding:10px;
  background:#fff;
  color:var(--ink);
}
.advanced-item-options{
  margin:15px 0 18px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,254,250,.6);
  overflow:hidden;
}
.advanced-item-options summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
  color:var(--green);
}
.advanced-item-options summary::-webkit-details-marker{display:none}
.advanced-item-options summary b,.advanced-item-options summary small{display:block}
.advanced-item-options summary small{margin-top:2px;color:var(--muted);font-weight:500}
.advanced-item-options summary>span:last-child{font-size:19px;transition:transform .15s ease}
.advanced-item-options[open] summary>span:last-child{transform:rotate(180deg)}
.advanced-item-options[open] summary{border-bottom:1px solid var(--line)}
.advanced-item-options>div,.advanced-item-options>.field,.advanced-item-options>.choice{margin-left:14px;margin-right:14px}
.field-hint{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.35}
.impact-details{margin-top:10px!important;padding:2px 12px 4px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.62)}
.amount-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}
.amount-input span{font-weight:850;color:var(--muted)}
.detail-amount{margin:11px 0;font-size:24px;font-weight:900;letter-spacing:-.03em}
.compact-notice{margin:10px 0;font-size:13px}
.item-submit{margin-top:4px}

/* Kjæledyr er familiemedlemmer med egen helse- og oppfølgingsprofil */
.pet-card{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center}
.pet-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#fbebd4;font-size:27px}
.pet-profile-hero{display:flex;align-items:center;gap:14px;margin:10px 0 20px}
.pet-profile-hero>span{display:grid;place-items:center;flex:0 0 auto;width:68px;height:68px;border-radius:22px;background:#fbebd4;font-size:37px}
.pet-profile-hero h2,.pet-profile-hero p{margin:0}.pet-profile-hero p{margin-top:4px;color:var(--muted);line-height:1.35}
.profile-section{margin:11px 0;border:1px solid var(--line);border-radius:18px;background:rgba(255,254,250,.72);overflow:hidden}
.profile-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;list-style:none;color:var(--ink);font-weight:850;cursor:pointer}
.profile-section summary::-webkit-details-marker{display:none}
.profile-section summary>span:last-child{color:var(--green);transition:transform .15s ease}
.profile-section[open] summary{border-bottom:1px solid var(--line)}
.profile-section[open] summary>span:last-child{transform:rotate(180deg)}
.profile-section-body{padding:2px 14px 12px}
.pet-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 18px}
.pet-facts>div{min-width:0;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.pet-facts span,.pet-facts b,.pet-facts small,.pet-facts a{display:block}
.pet-facts span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.pet-facts b{margin-top:4px;font-size:14px}.pet-facts small,.pet-facts a{margin-top:3px;color:var(--green);font-size:12px;overflow-wrap:anywhere}
.pet-health-note{display:grid;gap:4px;border-left-color:#d9942f;background:#fff8e8}
.pet-health-note span{white-space:pre-wrap;color:var(--ink);font-size:13px;line-height:1.45}
.pet-pack{text-align:left}.pet-pack>span{display:block;font-size:25px;margin-bottom:7px}
.pet-pack b,.pet-pack small{display:block}
.sheet .gentle-empty{min-height:120px}

/* Bilprofil: samme rolige system som kjæledyr, med egne praktiske signaler */
.vehicle-card .pet-avatar,.vehicle-profile-hero>span{background:#e6f0ee}
.vehicle-strip button{background:linear-gradient(135deg,#fffefa,#e7f1ef)}
.calm-notice{display:grid;gap:4px;border-left-color:var(--green);background:var(--green2)}
.calm-notice span{font-size:12px;line-height:1.45;color:var(--ink)}
.official-link{display:inline-flex;align-items:center;min-height:42px;margin:3px 0 7px;color:var(--green);font-size:13px;font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
.vehicle-facts>div{background:linear-gradient(145deg,#fffefa,#f4faf8)}

/* Samlet forsikringsoversikt: praktisk arkiv, ikke en sammenligningstjeneste */
.insurance-overview-button{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  margin:8px 0 18px;
  padding:16px;
  border:1px solid rgba(31,107,88,.22);
  border-radius:19px;
  background:linear-gradient(145deg,#fffefa,#e8f2ef);
  color:var(--ink);
  text-align:left;
}
.insurance-overview-button>span:first-child{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:16px;
  background:#dcece7;
  font-size:26px;
}
.insurance-overview-button b,.insurance-overview-button small{display:block}
.insurance-overview-button small{margin-top:3px;color:var(--muted);line-height:1.35}
.insurance-overview-button>span:last-child{color:var(--green);font-size:25px}
.insurance-hero{display:flex;align-items:center;gap:14px;margin:10px 0 18px}
.insurance-hero>span{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:66px;
  height:66px;
  border-radius:22px;
  background:#dcece7;
  font-size:34px;
}
.insurance-hero h2,.insurance-hero p{margin:0}
.insurance-hero p{margin-top:4px;color:var(--muted)}
.insurance-card{grid-template-columns:auto minmax(0,1fr) auto!important}
.insurance-avatar{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:16px;
  background:#e8f2ef;
  font-size:25px;
}
.insurance-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 18px}
.insurance-type-button{
  display:grid;
  justify-items:center;
  gap:6px;
  min-height:84px;
  padding:11px 7px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--card);
  color:var(--ink);
}
.insurance-type-button span{font-size:25px}
.insurance-type-button b{font-size:12px}
.insurance-call{display:flex;margin:9px 0;text-decoration:none}

@media(max-width:430px){
  .onboarding-shell{padding-left:18px;padding-right:18px}
  .onboarding-footer{padding-left:18px;padding-right:18px}
  .onboarding-content h1,.auth-copy h1,.done-screen h1,.welcome-copy h1{font-size:34px}
  .icon-choice-grid{grid-template-columns:repeat(3,1fr)}
  .icon-select{font-size:13px;padding:9px}
  .focus-grid{grid-template-columns:1fr}
  .focus-card{min-height:88px}
  .welcome-illustration{margin-top:10px}
  .today-hero{align-items:flex-start}.quick-add{padding:9px 11px;font-size:13px}
  .done-summary{grid-template-columns:repeat(2,1fr)}
  .pet-facts{grid-template-columns:1fr}
  .insurance-type-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-height:700px){
  .welcome-illustration{max-height:30dvh}
  .welcome-copy h1{font-size:30px}
  .welcome-copy p{font-size:15px}
}
