*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf6f0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;font-weight:700;line-height:1.25}p{margin:0}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #c9a227}.barn-inn{flex-direction:column;align-items:center;gap:.9rem;display:flex}.barn-inn-tittel{color:#5c3d26;text-align:center;margin:0;font-size:1.4rem}.barn-inn-hjelp{color:#7a6a5c;margin:0;font-size:.95rem}.barn-liste{flex-direction:column;gap:.6rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.barn-valg{color:#5c3d26;cursor:pointer;background:#fff;border:2px solid #ece0cd;border-radius:14px;width:100%;min-height:60px;font-size:1.15rem;font-weight:700;transition:border-color .15s,background .15s}.barn-valg:hover{background:#faf6f0;border-color:#8b5e3c}.pin-prikker{gap:.9rem;margin:.2rem 0;display:flex}.pin-prikk{border:2.5px solid #b98a63;border-radius:50%;width:16px;height:16px;transition:background .15s,transform .15s}.pin-prikk.er-fylt{background:#5b7b52;border-color:#5b7b52;transform:scale(1.15)}.barn-inn-feil{color:#b3402c;text-align:center;min-height:1.4em;margin:0;font-size:.95rem}.tastatur{grid-template-columns:repeat(3,1fr);gap:.7rem;width:100%;max-width:280px;display:grid}.tastatur button{color:#3a2c22;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ece0cd;border:none;border-radius:16px;height:62px;font-size:1.5rem;font-weight:700;transition:background .12s,transform .1s}.tastatur button:hover:not(:disabled){background:#ddcbb0}.tastatur button:active:not(:disabled){transform:scale(.94)}.tastatur button:disabled{opacity:.45;cursor:default}.tastatur .tast-lys{color:#7a6a5c;background:0 0;font-size:1.25rem}.tastatur .tast-lys:hover:not(:disabled){background:#f2eadd}@media (prefers-reduced-motion:reduce){.tastatur button,.pin-prikk{transition:none}.tastatur button:active:not(:disabled){transform:none}}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.login-box{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0003}.login-box h1{text-align:center;color:#333;margin-bottom:30px;font-size:32px}.mode-toggle{background:#f0f0f0;border-radius:8px;gap:10px;margin-bottom:30px;padding:4px;display:flex}.toggle-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:6px;flex:1;padding:10px;font-weight:600;transition:all .3s}.toggle-btn.active{color:#667eea;background:#fff;box-shadow:0 2px 8px #0000001a}.login-box form{flex-direction:column;gap:15px;display:flex}.login-box input{border:2px solid #e0e0e0;border-radius:8px;padding:12px;font-size:16px;transition:border-color .3s}.login-box input:focus{border-color:#667eea;outline:none}.login-box button[type=submit]{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;padding:12px;font-size:16px;font-weight:600;transition:background .3s}.login-box button[type=submit]:hover:not(:disabled){background:#764ba2}.login-box button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.signup-link{text-align:center;color:#666;margin-top:20px}.signup-link a{color:#667eea;font-weight:600;text-decoration:none}.error{color:#e74c3c;background:#ffe0e0;border-radius:6px;padding:10px;font-size:14px}.dashboard{background:#f5f5f5;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.dashboard-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:20px;display:flex;box-shadow:0 4px 12px #0000001a}.dashboard-header h1{margin:0;font-size:24px}.header-actions{gap:10px;display:flex}.dashboard-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px}.section{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 8px #0000000d}.section h2{color:#333;margin-top:0;margin-bottom:15px}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{color:#fff;background:#667eea}.btn-primary:hover{background:#764ba2;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{color:#333;background:#e0e0e0}.btn-secondary:hover{background:#d0d0d0}.btn-danger{color:#fff;background:#e74c3c}.btn-danger:hover{background:#c0392b}.btn-small{padding:8px 12px;font-size:12px}.btn-highlight{color:#fff;background:#f39c12!important}.members-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-bottom:20px;display:grid}.member-card{background:linear-gradient(135deg,#667eea15 0%,#764ba215 100%);border-left:4px solid #667eea;border-radius:8px;padding:15px}.member-card h3{color:#333;margin:0 0 5px}.member-card .role{color:#666;margin:0;font-size:13px}.add-member-form{background:#f9f9f9;border-radius:8px;flex-wrap:wrap;gap:10px;padding:15px;display:flex}.add-member-form input{border:2px solid #e0e0e0;border-radius:6px;flex:1;min-width:200px;padding:10px}.form-actions{gap:10px;display:flex}.plans-list,.plans-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;display:grid}.plan-card{background:linear-gradient(135deg,#f39c1215 0%,#e74c3c15 100%);border-left:4px solid #f39c12;border-radius:8px;padding:15px}.plan-card h3{color:#333;margin:0 0 10px}.plan-card .week-range{color:#666;margin:0 0 10px;font-size:13px}.plan-card p{color:#555;margin:0;font-size:14px}.child-plan{cursor:pointer;background:linear-gradient(135deg,#667eea15 0%,#764ba215 100%);border-left-color:#667eea;transition:transform .2s}.child-plan:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.empty-state{text-align:center;color:#999;padding:40px 20px;font-size:16px}.week-navigation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.week-display{align-items:center;gap:10px;display:flex}.week-display h2{color:#333;margin:0}.loading{color:#667eea;justify-content:center;align-items:center;min-height:100vh;font-size:18px;display:flex}.planlegger-topp{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.planlegger-topp h2{margin:0}.planlegger-uke{align-items:center;gap:8px;display:flex}.planlegger-datoer{text-align:center;color:#555;min-width:105px;font-weight:600}.plan-skjema{background:#f7f5f2;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:12px;display:flex}.plan-skjema select,.plan-skjema input{background:#fff;border:1px solid #ddd6cc;border-radius:8px;padding:9px 10px}.plan-tittel{flex:1;min-width:190px}.plan-poeng{width:68px}.ukeplan-dag{margin-bottom:16px}.ukeplan-dag h3{color:#8b5e3c;text-transform:capitalize;margin:0 0 6px;font-size:.95rem}.ukeplan-dag ul{margin:0;padding:0;list-style:none}.ukeplan-dag li{border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ukeplan-dag li:nth-child(odd){background:#faf8f5}.merke{text-align:center;color:#fff;border-radius:999px;flex:none;min-width:58px;padding:2px 8px;font-size:.72rem;font-weight:700}.merke-skole{background:#4f7fa8}.merke-fritid{background:#5b7b52}.merke-hjemme{background:#8b5e3c}.merke-annet{background:#c9a227}.ukeplan-tittel{flex:1;min-width:0}.ukeplan-tid,.ukeplan-poeng{color:#7a6a5c;flex:none;font-size:.85rem}.ukeplan-slett{color:#b3402c;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;width:28px;height:28px;font-size:1.2rem;line-height:1}.ukeplan-slett:hover{background:#f6e2de}.hest-side{--lær:#8b5e3c;--lær-mørk:#5c3d26;--lær-lys:#b98a63;--krem:#faf6f0;--sand:#ece0cd;--beite:#5b7b52;--messing:#c9a227;--blekk:#2e241d;--dempet:#7a6a5c;background:var(--krem);min-height:100vh;color:var(--blekk);padding-bottom:3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.45}.hest-topp{background:linear-gradient(160deg, var(--lær) 0%, var(--lær-mørk) 100%);color:var(--krem);border-radius:0 0 22px 22px;padding:1.1rem 1.1rem 1.3rem;position:relative;overflow:hidden;box-shadow:0 4px 16px #5c3d2647}.hest-topp:after{content:"";opacity:.09;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M8 21.5v-4C8 14.5 6 12.8 6 9.8a6 6 0 0 1 12 0c0 3-2 4.7-2 7.7v4'/%3E%3C/svg%3E") 50%/contain no-repeat;width:116px;height:116px;position:absolute;bottom:-34px;right:-18px}.hest-topp-rad{justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.hest-topp h1{letter-spacing:-.01em;color:var(--krem);margin:0;font-size:1.5rem}.ukevelger{justify-content:space-between;align-items:center;gap:.6rem;margin-top:1rem;display:flex;position:relative}.ukevelger-midt{flex-direction:column;flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.ukevelger-datoer{opacity:.9;white-space:nowrap;font-size:.95rem}.h-knapp{font:inherit;cursor:pointer;border:none;border-radius:999px;transition:transform .12s,background .2s}.h-knapp:active{transform:scale(.96)}.h-pil{width:48px;height:48px;color:var(--krem);background:#ffffff2e;flex:0 0 48px;font-size:1.6rem;line-height:1}.h-pil:hover{background:#ffffff47}.h-denne-uken{background:var(--messing);color:var(--lær-mørk);padding:.5rem 1.1rem;font-size:.95rem;font-weight:700;box-shadow:0 2px 8px #0003}.h-denne-uken.er-aktiv{color:var(--krem);box-shadow:none;cursor:default;background:#fff3}.h-knapp-nedtonet{color:var(--krem);background:#0000002e;padding:.45rem .9rem;font-size:.85rem}.hest-innhold{flex-direction:column;gap:1.1rem;max-width:640px;margin:0 auto;padding:1.1rem;display:flex}.ukevarsel{background:var(--sand);color:var(--lær-mørk);text-align:center;border-radius:12px;margin:0;padding:.8rem 1rem;font-size:.95rem}.kort{background:#fff;border-radius:18px;padding:1rem 1rem .6rem;box-shadow:0 2px 10px #5c3d261a}.kort h2{color:var(--lær-mørk);align-items:center;gap:.5rem;margin:0 0 .7rem;font-size:1.15rem;display:flex}.kategori-ikon{font-size:1.3rem}.i-dag{background:linear-gradient(150deg, #fff 0%, var(--sand) 100%);border:2px solid var(--messing)}.i-dag-dato{color:var(--dempet);text-transform:capitalize;margin-left:auto;font-size:.85rem;font-weight:500}.nott{border:2px solid var(--lær-lys);background:linear-gradient(150deg,#fff 0%,#f6efe4 100%)}.nott-poeng{color:var(--lær-mørk);background:var(--sand);border-radius:999px;margin-left:auto;padding:.15rem .55rem;font-size:.8rem;font-weight:700}.nott-sporsmal{margin:0 0 .8rem;font-size:1.05rem;line-height:1.4}.nott-skjema{gap:.5rem;margin-bottom:.6rem;display:flex}.nott-skjema input{border:2px solid var(--sand);min-width:0;min-height:48px;color:var(--blekk);background:#fff;border-radius:12px;flex:1;padding:0 .8rem}.nott-skjema input:focus{border-color:var(--lær);outline:none}.nott-skjema button{background:var(--lær);min-height:48px;color:var(--krem);cursor:pointer;border:none;border-radius:12px;padding:0 1.2rem;font-weight:700;transition:background .15s}.nott-skjema button:hover:not(:disabled){background:var(--lær-mørk)}.nott-skjema button:disabled{opacity:.5;cursor:default}.nott-feil,.nott-hint,.nott-riktig{margin:0 0 .5rem;font-size:.95rem}.nott-feil{color:#b3402c}.nott-hint{color:var(--dempet);font-style:italic}.nott-lost{border-color:var(--beite);background:linear-gradient(150deg,#fff 0%,#eaf0e6 100%)}.nott-riktig{color:#3f5c37;font-weight:700}.kategori{border-left:6px solid var(--lær-lys)}.kategori-skole{border-left-color:#4f7fa8}.kategori-fritid{border-left-color:var(--beite)}.kategori-hjemme{border-left-color:var(--lær)}.kategori-annet{border-left-color:var(--messing)}.oppgaveliste{margin:0;padding:0;list-style:none}.oppgave+.oppgave{border-top:1px solid var(--sand)}.oppgave-knapp{width:100%;min-height:56px;font:inherit;text-align:left;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;align-items:center;gap:.8rem;padding:.6rem .2rem;transition:background .15s;display:flex}.oppgave-knapp:hover:not(:disabled){background:var(--krem)}.oppgave-knapp:disabled{cursor:default;opacity:.75}.oppgave-knapp:focus-visible{outline:3px solid var(--messing);outline-offset:2px}.hakeboks{border:2.5px solid var(--lær-lys);color:#fff;background:#fff;border-radius:9px;flex:0 0 32px;place-items:center;height:32px;font-size:1.2rem;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:grid}.er-fullfort .hakeboks{background:var(--beite);border-color:var(--beite);transform:scale(1.06)}.oppgave-tekst{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.oppgave-tittel{font-weight:600}.er-fullfort .oppgave-tittel{color:var(--dempet);text-decoration:line-through}.oppgave-meta{color:var(--dempet);font-size:.85rem}.poeng{background:var(--sand);min-width:30px;color:var(--lær-mørk);text-align:center;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.8rem;font-weight:700}.er-fullfort .poeng{background:var(--beite);color:#fff}.hest-tomt{color:var(--dempet);margin:0;padding:.9rem .2rem}.hest-bunn{text-align:center;color:var(--dempet);margin:0;font-size:.9rem}@media (prefers-reduced-motion:reduce){.h-knapp,.hakeboks,.oppgave-knapp{transition:none}.h-knapp:active{transform:none}}.chat-container{background:#f5f5f5;flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.chat-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;gap:10px;padding:15px 20px;display:flex;box-shadow:0 4px 12px #0000001a}.chat-header h1{flex:1;margin:0;font-size:20px}.messages-area{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.message{margin-bottom:10px;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.own{justify-content:flex-end}.message.other{justify-content:flex-start}.message-content{background:#fff;border-radius:12px;max-width:70%;padding:12px 15px;box-shadow:0 2px 6px #0000001a}.message.own .message-content{color:#fff;background:#667eea}.message-sender{opacity:.8;margin:0 0 4px;font-size:13px;font-weight:600}.message.own .message-sender{text-align:right}.message-text{word-wrap:break-word;margin:0}.message-time{opacity:.6;margin:6px 0 0;font-size:11px}.message.own .message-time{text-align:right}.message-input-form{background:#fff;border-top:1px solid #e0e0e0;gap:10px;padding:15px 20px;display:flex}.message-input{border:2px solid #e0e0e0;border-radius:24px;flex:1;padding:10px 15px;font-size:14px;transition:border-color .3s}.message-input:focus{border-color:#667eea;outline:none}.empty-state{text-align:center;color:#999;padding:40px 20px}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{width:100%;height:100%}
