:root{--green:#173c2b;--green2:#285b43;--cream:#f5f2e9;--card:#fff;--line:#d9ddd7;--red:#b83232;--amber:#a96b00}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#202722;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}header{background:linear-gradient(135deg,var(--green),var(--green2));color:white;padding:32px max(20px,calc((100% - 900px)/2));display:flex;gap:30px;justify-content:space-between;align-items:end}h1{font-size:clamp(32px,7vw,54px);margin:0 0 8px}header p{margin:0;max-width:600px}.progress{min-width:180px;font-weight:700}.progress>div{height:10px;background:#ffffff35;border-radius:9px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:#fff;border-radius:9px}main{max-width:900px;margin:24px auto;padding:0 16px 60px}.notice,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0;box-shadow:0 5px 20px #0000000a}.notice{border-left:6px solid var(--green2)}h2{margin:0 0 8px}.catTitle{display:flex;align-items:center;justify-content:space-between}.items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:12px}.check{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;background:#f8faf8}.check input{width:21px;height:21px;accent-color:var(--green2)}button{border:0;background:var(--green);color:white;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}.sectionHead{display:flex;justify-content:space-between;gap:12px;align-items:center}.sectionHead p{margin:0;color:#59625d}.foodForm{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:8px;margin:16px 0}.foodForm label{font-size:12px}.foodForm label input{display:block;width:100%;margin-top:3px}input,textarea{border:1px solid #cbd1cc;border-radius:9px;padding:11px;font:inherit;background:white}textarea{width:100%;min-height:110px}.foodRow{display:grid;grid-template-columns:2fr 1fr 1.3fr auto;gap:8px;align-items:center;padding:11px 0;border-top:1px solid #eee}.foodRow .soon{color:var(--amber);font-weight:700}.foodRow .expired{color:var(--red);font-weight:800}.foodRow button{background:#eee;color:#333;padding:7px 10px}.source{font-size:14px;color:#56605a}@media(max-width:650px){header{display:block}.progress{margin-top:22px}.foodForm,.foodRow{grid-template-columns:1fr}.sectionHead{align-items:flex-start;flex-direction:column}}
.accountCard{border:2px solid #d4e2d8}.authGrid{display:grid;grid-template-columns:2fr auto;gap:8px;margin-top:16px}.invite{margin:16px 0}.secondary{background:#e9eeeb;color:#173c2b}.accountCard hr{border:0;border-top:1px solid #e3e7e4;margin:18px 0}.accountCard label{display:grid;gap:6px;margin-bottom:10px}#syncStatus{margin:0;color:#59625d}@media(max-width:650px){.authGrid{grid-template-columns:1fr}}

.accountHelp{font-size:14px;color:#59625d;margin:10px 0 0}.accountCard h3{margin:12px 0 6px}.joinBox{margin-top:18px}.inviteCodeBox{margin:16px 0 10px;padding:14px;border:2px dashed #285b43;border-radius:12px;background:#f2f8f4}.inviteCodeBox span{display:block;font-size:13px;color:#59625d}.inviteCodeBox strong{display:block;font-size:28px;letter-spacing:2px;margin-top:4px;color:#173c2b}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}

.storageActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.storageActions button{flex:1;min-width:220px}
\n\n/* V10: utskrift/PDF av hele beredskapslista */\n@media print {\n  @page { size: A4; margin: 12mm; }\n  html, body { background:#fff !important; }\n  body { font-size: 12pt; }\n  header { padding: 18px 0 !important; background:#fff !important; color:#111 !important; }\n  main { max-width:none !important; margin:0 !important; padding:0 !important; }\n  .card, .notice { box-shadow:none !important; break-inside:avoid; border:1px solid #bbb !important; margin:0 0 10px !important; }\n  .accountCard, .storageCard, #foodForm, #addFood, .foodRow button, button { display:none !important; }\n  input[type=checkbox] { -webkit-appearance:auto; appearance:auto; }\n  textarea, input { border:0 !important; background:#fff !important; color:#111 !important; }\n  #notes { min-height:80px; }\n  .source { break-inside:avoid; }\n}\n
/* V12: enkel administratorstatistikk */
.adminCard{border:2px solid #d8dfda}.adminStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.statBox{background:#f6f8f6;border:1px solid #d9ddd7;border-radius:12px;padding:14px}.statBox strong{display:block;font-size:28px;color:#173c2b}.statBox span{font-size:13px;color:#59625d}.adminNote{font-size:13px;color:#59625d}@media(max-width:650px){.adminStats{grid-template-columns:1fr}}

/* V14: synlig administratorinngang */
.adminLoginCard{border:2px solid #d8dfda}.adminLoginCard p{margin:0;color:#59625d}

/* V17 – enklere innlogging */
.simpleAuth{display:grid;gap:12px;margin-top:8px}.simpleAuth input{width:100%;box-sizing:border-box}.simpleAuth button{width:100%}.authStep{display:grid;gap:12px}.authBack{background:transparent!important;color:#173c2b!important;border:1px solid #b9c9bf!important}.authHint{margin:0;color:#59645e;font-size:.95rem}.authError{margin:0;color:#a32727;font-weight:700}

.familyCodeBox{margin-top:14px;padding:16px;border:1px solid #d8e1db;border-radius:16px;background:#f7faf8}
.familyCodeDisplay{font-size:34px;font-weight:800;letter-spacing:5px;margin:8px 0 14px;color:#173c2b}

/* V25 – enkel familiedeling */
#accountPanel{margin-top:18px}
#authLoggedOut input,#noHouseholdActions input{width:100%;box-sizing:border-box;margin:8px 0 10px}
#authLoggedOut button,#noHouseholdActions button,#activeHousehold>button{width:100%}
.familyChoice{padding:16px 0;border-top:1px solid #e2e7e3}
.familyChoice:first-child{border-top:0}
.familyChoice h3,#activeHousehold h3{margin:0 0 8px}
.familyCodeDisplay{font-size:36px;font-weight:800;letter-spacing:6px;text-align:center;padding:16px;margin:10px 0 14px;border:2px dashed #356b54;border-radius:14px;background:#f4faf6;color:#173c2b}
.accountActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
#loggedInNoFamilyActions{margin-top:14px}
#loggedInNoFamilyActions button{width:auto}

.adminFooter{display:flex;justify-content:center;align-items:center;gap:12px;opacity:.65;font-size:12px;margin:18px}.adminFooter button{background:transparent;color:#173c2b;border:0;padding:3px 5px;font-size:12px;text-decoration:underline}.adminLogin{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:18px;z-index:9999}.adminLogin[hidden]{display:none}.adminLoginBox{width:min(420px,100%);background:#fff;border-radius:16px;padding:22px;box-shadow:0 16px 50px #0004}.adminLoginBox label{display:grid;gap:6px;margin:12px 0}.adminLoginActions{display:flex;gap:10px;margin-top:14px}.adminLoginActions button{flex:1}

/* V32 – samlet husstand og vann */
.householdWaterCard{border:2px solid #bfd2c5}.peopleLabel{display:grid;gap:6px;max-width:280px;margin:16px 0 10px;font-weight:700}.peopleLabel input{width:120px}.waterCalc{padding:14px 16px;border-radius:12px;background:#f2f8f4;margin:10px 0 14px;font-size:17px}.waterCalc b{color:#173c2b;font-size:20px}
