
:root{--bg:#f7f4ec;--paper:#fffdf8;--ink:#142019;--muted:#727a72;--green:#174d39;--mint:#edf1e4;--orange:#d58943;--purple:#6f61b8;--blue:#5b98bd;--teal:#22a3a7;--rose:#a878a7;--line:#e4e1d8;--shadow:0 14px 28px rgba(41,52,45,.09),0 2px 5px rgba(41,52,45,.05);--radius:30px}
*{box-sizing:border-box}html{background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 13%,rgba(208,235,224,.55),transparent 27%),linear-gradient(180deg,#f7f4ec 0%,#f8f6ef 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;padding-bottom:110px}
button,input,textarea,select{font:inherit}button{cursor:pointer}#app{width:min(860px,100%);margin:0 auto;padding:30px 34px 40px}
.screen-kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:12px;color:#6e786f;margin-bottom:12px}.back{border:0;background:transparent;color:#657067;padding:0;margin-bottom:26px;font-size:15px}
h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:39px;line-height:1.05;font-weight:600;letter-spacing:-.02em;margin-bottom:14px;color:#122018}h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.15;font-weight:600;margin-bottom:11px;color:#17251c}h3{font-size:18px;margin-bottom:8px}
.lead{font-size:18px;line-height:1.5;color:var(--muted);margin-bottom:26px}.card{background:rgba(255,255,252,.92);border:1px solid rgba(227,226,218,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card+.card{margin-top:18px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#6d766d;margin-bottom:10px}
.big-question{background:var(--green);color:white;border-radius:34px;padding:26px 28px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px;border:0;width:100%;text-align:left}.big-question .eyebrow{color:rgba(255,255,255,.7);margin-bottom:12px}.big-question p{font-size:22px;line-height:1.25;margin:0;color:white}.big-question .arrow{font-size:36px;font-weight:200;opacity:.9}
.rhythm-area{position:relative;min-height:455px;display:grid;place-items:center;margin:0 -10px 24px;overflow:visible}.rhythm-glow{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(92,204,192,.38) 0%,rgba(92,204,192,.18) 45%,transparent 73%);filter:blur(10px)}.rhythm-svg{position:relative;width:min(390px,95vw);height:auto;overflow:visible}.ring-label{font-size:11px;fill:#70786f;font-weight:700;letter-spacing:.12em}.ring-letter{font-size:12px;fill:white;font-weight:800}.current-segment{filter:drop-shadow(0 9px 12px rgba(79,66,166,.18))}
.harvest-center{position:absolute;width:152px;height:152px;border-radius:50%;border:none;background:linear-gradient(145deg,#f0b24e,#d56f3f);box-shadow:0 18px 40px rgba(207,121,54,.28);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.harvest-center span:first-child{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:600;letter-spacing:.08em}.harvest-center small{font-size:11px;margin-top:6px;opacity:.88}.harvest-center:after{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(217,142,77,.25)}
.calling-card{background:white;border-radius:30px;padding:28px 24px;box-shadow:var(--shadow);border:1px solid var(--line)}.calling-card h2{font-size:30px;line-height:1.25;margin-bottom:20px}.link-button{border:0;background:transparent;color:#256244;font-weight:700;padding:0;font-size:16px}.week3-label{margin:28px 4px 14px}
.week3-card{background:white;border:1px solid var(--line);border-radius:28px;padding:21px 22px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow);margin-top:12px}.dot{width:8px;height:8px;border-radius:50%;background:#5d9477;margin-top:8px;flex:0 0 8px}.week3-card .eyebrow{margin-bottom:4px}.week3-card p{margin:0;font-size:17px;line-height:1.4}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.quick-card{background:white;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.quick-card .icon{font-size:22px;color:var(--orange);margin-bottom:18px}.quick-card h3{font-size:21px}.quick-card p{margin:0;color:var(--muted);font-size:15px}.mantra{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.5;color:#647068;text-align:center;padding:34px 24px 6px}
.bottom-nav{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  z-index:40;
  width:min(820px,calc(100% - 12px));
  min-height:78px;
  background:rgba(255,255,252,.96);
  border:1px solid rgba(225,224,218,.95);
  border-radius:38px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:center;
  box-shadow:0 14px 40px rgba(43,50,45,.11);
  backdrop-filter:blur(14px);
  padding:0 4px;
  overflow:hidden
}.bottom-nav button{
  border:0;
  background:transparent;
  color:#667168;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:4px 1px;
  min-width:0;
  width:100%;
  height:100%;
  white-space:nowrap;
  overflow:hidden
}.bottom-nav span{
  font-size:20px;
  line-height:1;
  flex:0 0 auto
}.bottom-nav small{
  font-size:10px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  max-width:100%;
  letter-spacing:-.01em
}.bottom-nav button.active{color:#1e6042}
.field-card{background:white;border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:var(--shadow);margin-top:16px}.field-card .eyebrow{display:flex;align-items:center;gap:10px}.field-card .eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent,var(--teal));display:inline-block}.field-card h2{font-size:27px}
textarea,input,select{width:100%;border:1px solid #dcd9d0;background:#f7f5ef;color:var(--ink);border-radius:24px;padding:19px 20px;font-size:18px;line-height:1.45;outline:none}textarea{min-height:124px;resize:vertical}.note{text-align:center;color:#7a827b;font-size:15px;line-height:1.45;margin:28px 14px}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#edf0e4;border-radius:28px;padding:5px;margin:20px 0 30px}.segmented button{border:0;background:transparent;border-radius:24px;padding:13px 16px;font-size:17px;color:#697168}.segmented button.active{background:white;color:#1f5c3f;box-shadow:0 8px 18px rgba(52,62,55,.08)}
.people-question{text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.3;color:#68736a;margin-bottom:24px}.person-card{background:white;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow);margin-top:16px}.person-head{display:flex;gap:14px;align-items:flex-start}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e1ecdf;font-family:Georgia,"Times New Roman",serif;font-size:22px}.avatar.leader{background:#e3e0ef}.person-head h3{font-size:19px;margin-bottom:3px}.person-head p{margin:0;color:var(--muted);font-size:15px}.next-step{margin-top:18px;background:#edf1e4;border-radius:24px;padding:17px 18px;font-size:17px;line-height:1.4;color:#274333}.subline{margin:14px 2px 0;color:#747e76;font-size:15px;line-height:1.4}.prayer{font-style:italic}.add-outline{width:100%;border:1.5px dashed #d9dbd3;background:transparent;color:#69736b;border-radius:27px;padding:20px;font-size:17px;margin-top:18px}
.history-card{background:white;border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:var(--shadow);margin-top:18px}.history-card h2{font-size:28px}.history-row{font-size:17px;line-height:1.45;margin:10px 0}.history-row b{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#6d776f}.fruit-list{margin-top:18px}.fruit-item{display:flex;gap:10px;margin:10px 0;align-items:flex-start}.fruit-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:8px;flex:0 0 8px}.fruit-item span{font-size:17px}.harvest-look{margin-top:18px;background:#edf1e4;border-radius:24px;padding:18px 20px}.harvest-look p{font-size:17px;margin:0 0 8px;line-height:1.45}.data-card{margin-top:20px}.data-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.data-actions button{border:0;background:#edf1e4;border-radius:22px;padding:16px 8px;font-size:16px;color:#214833}
.detail-hero{background:#edeaf6;border-radius:30px;padding:26px;margin-bottom:18px}.detail-hero h2{font-size:30px}.detail-hero p{font-size:18px;color:#737d74;margin:0;line-height:1.5}.detail-circle{margin-top:30px}
.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(31,37,32,.28);backdrop-filter:blur(7px);display:grid;align-items:end}.modal-sheet{background:#fffdf8;border-radius:34px 34px 0 0;padding:22px 24px 28px;box-shadow:0 -18px 40px rgba(35,42,37,.14);max-height:90vh;overflow:auto}.sheet-handle{width:40px;height:5px;border-radius:3px;background:#d7d8d2;margin:0 auto 22px}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.modal-head h2{font-size:30px}.close{border:0;background:transparent;font-size:28px;color:#6d756e}.save-fruit{width:100%;border:0;border-radius:26px;padding:18px;background:linear-gradient(90deg,#f1ac41,#dd653e);color:white;font-size:18px;font-weight:700;margin-top:18px}.sheet-caption{text-align:center;color:#737a73;font-size:14px;margin-top:16px}.hidden{display:none!important}
@media(max-width:620px){#app{padding:30px 18px 34px}h1{font-size:34px}.lead{font-size:17px}.rhythm-area{min-height:420px}.rhythm-glow{width:310px;height:310px}.harvest-center{width:134px;height:134px}.harvest-center span:first-child{font-size:21px}.quick-grid{gap:10px}.quick-card{padding:18px}.bottom-nav{width:calc(100% - 24px)}.fruit-fab{width:78px;height:78px;bottom:56px}}
/* v5 */
.bottom-nav{grid-template-columns:repeat(5,1fr)}
.primary-btn,.soft-btn,.outline-btn,.pdf-btn{border:0;border-radius:24px;padding:16px 18px;font-size:17px;font-weight:700}.primary-btn{background:var(--green);color:#fff}.soft-btn{background:#edf1e4;color:#214833}.outline-btn{background:transparent;border:1px solid var(--line);color:#546058}.pdf-btn{width:100%;margin-top:20px;background:linear-gradient(90deg,#174d39,#2c6d51);color:white}
.login-wrap{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:20px}.login-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:30px}.login-mark{width:66px;height:66px;border-radius:50%;background:linear-gradient(145deg,#174d39,#2f6c53);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;margin-bottom:24px}.switch{text-align:center;color:var(--muted);margin-top:16px}.switch button{border:0;background:transparent;color:#1f5c3f;font-weight:700}
.reflection-list{margin-top:18px}.reflection-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 18px;margin-top:10px;box-shadow:var(--shadow)}.reflection-item time{display:block;color:#8a918a;font-size:12px;margin-bottom:7px}.reflection-item p{margin:0;font-size:16px;line-height:1.45}
.follow-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.follow-actions button{border:0;border-radius:18px;padding:11px 13px;font-size:13px;font-weight:700}.profile-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.profile-row:first-child{border-top:0}.profile-row b{display:block}.profile-row small{color:var(--muted)}
@media print{body{background:white;padding:0}.bottom-nav,.back,.pdf-btn{display:none!important}#app{max-width:none;padding:0}.field-card,.card{box-shadow:none;break-inside:avoid}}


@media(max-width:520px){
  .bottom-nav{
    width:calc(100% - 8px);
    min-height:72px;
    border-radius:34px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding:0 2px;
  }
  .bottom-nav button{
    min-width:0;
    width:100%;
    gap:2px;
    padding:3px 0;
    white-space:nowrap;
    overflow:hidden;
  }
  .bottom-nav span{
    font-size:19px;
  }
  .bottom-nav small{
    font-size:10px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
  }
  .fruit-nav{
    height:50px;
    margin:0 3px;
  }
  .fruit-nav span{
    font-size:23px!important;
  }
  .fruit-nav small{
    font-size:10px!important;
  }
}
.profile-history-card{
  width:100%;
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  color:var(--ink);
  cursor:pointer;
}
.profile-history-card h2{
  margin-bottom:7px;
}
.profile-history-card p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
}
.profile-history-arrow{
  flex:0 0 auto;
  font-size:30px;
  color:#2a6548;
}


/* Mobilrettelse: Safari/iOS kan give native dato-felter en for stor minimumsbredde */
input[type="date"],
input[type="datetime-local"]{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  inline-size:100%;
  min-inline-size:0;
  box-sizing:border-box;
  overflow:hidden;
}

.field-card,
.modal-sheet{
  min-width:0;
  max-width:100%;
}

@supports (-webkit-touch-callout: none){
  input[type="date"],
  input[type="datetime-local"]{
    -webkit-appearance:none;
    appearance:none;
    font-size:16px;
    padding-left:16px;
    padding-right:12px;
  }
}


/* ============================================================
   v7.3 — safe overrides
   The full base stylesheet above is kept intact.
   ============================================================ */

/* Navigation: five items, consistent line-icons */
.bottom-nav{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  z-index:40;
  width:min(820px,calc(100% - 12px));
  min-height:82px;
  background:rgba(255,255,252,.97);
  border:1px solid rgba(225,224,218,.95);
  border-radius:38px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:center;
  box-shadow:0 14px 40px rgba(43,50,45,.11);
  backdrop-filter:blur(14px);
  padding:0 6px;
  overflow:hidden;
}

.bottom-nav button{
  border:0;
  background:transparent;
  color:#667168;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 2px;
  min-width:0;
  width:100%;
  height:100%;
  white-space:nowrap;
  overflow:hidden;
}

.nav-ico{
  width:30px;
  height:30px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

.bottom-nav button small{
  font-size:10px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  max-width:100%;
  letter-spacing:-.01em;
}

.bottom-nav button.active{
  color:var(--green);
}

.bottom-nav button.active .nav-ico{
  stroke:var(--green);
}

/* Frugtnote-button: integrated, orange, clearly outlined */
.fruit-nav{
  border:2.5px solid rgba(214,111,62,.58) !important;
  outline:3px solid rgba(237,169,74,.25);
  outline-offset:2px;
  border-radius:999px;
  margin:0 auto;
  width:64px !important;
  height:64px !important;
  background:linear-gradient(145deg,#eda94a,#d66f3e) !important;
  color:white !important;
  box-shadow:0 10px 20px rgba(208,120,57,.22);
  gap:0 !important;
  padding:0 !important;
  align-self:center;
  justify-self:center;
}

.fruit-nav .nav-ico{
  width:30px;
  height:30px;
  stroke:white;
  stroke-width:2.2;
}

.fruit-nav small{
  display:none !important;
}

/* Profile -> history entry */
.profile-history-card{
  width:100%;
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  color:var(--ink);
  cursor:pointer;
}
.profile-history-card h2{margin-bottom:7px}
.profile-history-card p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
}
.profile-history-arrow{
  flex:0 0 auto;
  font-size:30px;
  color:#2a6548;
}

/* Weekly report download */
.weekly-report-btn{
  width:100%;
  margin-top:18px;
  border:1px solid rgba(35,98,72,.18);
  border-radius:21px;
  padding:14px 16px;
  background:#edf1e4;
  color:#214833;
  font-size:14px;
  font-weight:700;
}

/* Mobile date controls */
input[type="date"],
input[type="datetime-local"]{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  inline-size:100%;
  min-inline-size:0;
  box-sizing:border-box;
  overflow:hidden;
}
.field-card,
.modal-sheet{
  min-width:0;
  max-width:100%;
}

@supports (-webkit-touch-callout: none){
  input[type="date"],
  input[type="datetime-local"]{
    -webkit-appearance:none;
    appearance:none;
    font-size:16px;
    padding-left:16px;
    padding-right:12px;
  }
}

@media(max-width:620px){
  #app{padding:30px 18px 34px}
  h1{font-size:34px}
  .lead{font-size:17px}
  .rhythm-area{min-height:420px}
  .rhythm-glow{width:310px;height:310px}
  .harvest-center{width:134px;height:134px}
  .harvest-center span:first-child{font-size:21px}
  .quick-grid{gap:10px}
  .quick-card{padding:18px}
}

@media(max-width:520px){
  .bottom-nav{
    width:calc(100% - 8px);
    min-height:74px;
    border-radius:34px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding:0 3px;
  }
  .bottom-nav button{
    gap:4px;
    padding:4px 1px;
  }
  .nav-ico{
    width:27px;
    height:27px;
  }
  .bottom-nav button small{
    font-size:9px;
    line-height:1;
  }
  .fruit-nav{
    width:58px !important;
    height:58px !important;
    border-width:2px !important;
    outline:2.5px solid rgba(237,169,74,.23);
    outline-offset:2px;
  }
  .fruit-nav .nav-ico{
    width:28px;
    height:28px;
  }
}

/* Keep modal controls polished */
.modal-sheet input,
.modal-sheet textarea,
.modal-sheet select{
  background:#f7f5ef;
  border:1px solid #dcd9d0;
  border-radius:24px;
}

.login-card input{
  background:#f7f5ef;
  border:1px solid #dcd9d0;
  border-radius:24px;
}


/* v7.4 — optional follow-up on fruit notes */
.followup-toggle{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:18px;
  padding:16px 18px;
  background:#f3f2eb;
  border:1px solid #dfddd3;
  border-radius:22px;
  cursor:pointer;
  color:var(--ink);
}
.followup-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.followup-check{
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:8px;
  border:1.5px solid #aeb5ad;
  background:#fffdf8;
  position:relative;
  margin-top:1px;
}
.followup-toggle input:checked + .followup-check{
  background:var(--green);
  border-color:var(--green);
}
.followup-toggle input:checked + .followup-check::after{
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:6px;
  height:11px;
  border:solid white;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.followup-toggle b{
  display:block;
  font-size:15px;
  margin-bottom:3px;
}
.followup-toggle small{
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.followup-date-wrap{
  margin-top:14px;
}


/* v7.5 — delete fruit notes */
.fruit-item-manage{
  align-items:center;
}
.fruit-copy{
  flex:1 1 auto;
  min-width:0;
}
.fruit-copy small{
  display:block;
  color:var(--muted);
  margin-top:3px;
  font-size:12px;
}
.fruit-delete{
  flex:0 0 auto;
  border:0;
  background:#f5ebe6;
  color:#9a4f37;
  border-radius:16px;
  padding:8px 10px;
  font-size:12px;
  font-weight:700;
}
.fruit-delete:hover{
  background:#f0ddd5;
}
