@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes autoJustertGlow{0%{box-shadow:0 0 0 3px #fbbf2499}50%{box-shadow:0 0 12px 4px #fbbf244d}to{box-shadow:0 0 0 2px transparent}}@keyframes toastIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes varselPulse{0%,to{box-shadow:0 0 #fbbf2400;background:#fbbf2414}50%{box-shadow:0 0 0 3px #fbbf2426;background:#fbbf2424}}@keyframes fabPop{0%{transform:scale(0) rotate(-90deg)}to{transform:scale(1) rotate(0)}}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button:focus-visible{outline-offset:1px}.kalk-section{transition:all .2s ease}.kalk-section:hover{box-shadow:var(--shadow-md)!important}.kalk-row{animation:fadeSlideIn .25s ease}.kalk-btn{transition:all .15s ease}.kalk-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.kalk-btn:active{transform:translateY(0)}.kalk-btn-primary{transition:all .18s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff14}.kalk-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000002e,inset 0 1px #ffffff1a}.kalk-btn-primary:active{transform:translateY(.5px) scale(.985);box-shadow:0 1px 3px #0000001f,inset 0 2px 4px #00000014}.kalk-btn-soft{transition:all .15s ease;box-shadow:0 1px 4px #0000000f,inset 0 1px #ffffff0a}.kalk-btn-soft:hover{transform:translateY(-.5px);box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff0f}.kalk-btn-soft:active{transform:translateY(.5px);box-shadow:0 0 2px #0000000f}.kalk-input:focus{border-color:var(--accent)!important;box-shadow:var(--focus-ring)!important}.kalk-add-btn{transition:all .15s ease;opacity:.8}.kalk-add-btn:hover{background:var(--accent-soft)!important;border-color:var(--accent)!important;opacity:1}.kalk-remove-btn{transition:all .15s ease}.kalk-remove-btn:hover{opacity:1!important;transform:scale(1.15)}.kalk-move-btn{transition:all .1s ease;opacity:.5}.kalk-move-btn:hover{opacity:1;background:var(--accent-soft)}.kalk-move-btn:active{transform:scale(.9)}.kalk-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kalk-toast{animation:toastIn .3s ease forwards}.kalk-toast.out{animation:toastOut .3s ease forwards}.kalk-skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--inputBg) 50%,var(--border) 75%);background-size:200% 100%;animation:pulse 1.5s ease infinite;border-radius:8px}.kalk-fab{animation:fabPop .3s ease;transition:all .15s ease}.kalk-fab:hover{transform:scale(1.08)}.kalk-fab:active{transform:scale(.95)}.kalk-fab-menu{animation:slideUp .2s ease}.kalk-sticky-bar{animation:slideUp .3s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.kalk-picker-item{transition:all .1s ease}.kalk-picker-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000000f!important}@media(max-width:600px){.kalk-row-responsive{flex-direction:column!important}.kalk-row-responsive>*{flex:1 1 100%!important;min-width:0!important}.kalk-row-responsive .kalk-row-actions{flex-direction:row!important;justify-content:flex-end;gap:4px;margin-top:4px}.kalk-header-title h1{font-size:15px!important}.kalk-header-title p{display:none}.kalk-modal-responsive{border-radius:0!important;max-width:100%!important;width:100%!important;max-height:100vh!important;height:100vh!important}.kalk-modal-bottom{border-radius:16px 16px 0 0!important;max-height:90vh!important}.kalk-info-grid{flex-direction:column!important}.kalk-summary-grid{flex-direction:column!important;gap:4px!important}.kalk-section-content{padding:0 12px 12px 10px!important}.kalk-pakke-stats{flex-direction:column!important;gap:4px!important}}@media(max-width:900px)and (min-width:601px){.kalk-row-tablet{flex-wrap:wrap!important}.kalk-row-tablet>*:first-child{flex:1 1 100%!important;margin-bottom:6px}}@media(min-width:601px){.kalk-mobile-only{display:none!important}}@media(max-width:600px){.kalk-desktop-only{display:none!important}}@media(max-width:400px){.kalk-hide-mobile,.kalk-hide-mobile-sm,.kalk-compact-timer{display:none!important}}input[type=range].timer-slider::-webkit-slider-thumb,input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4e8cff,#7c5cfc);border:2px solid #fff;box-shadow:0 2px 6px #4e8cff66;cursor:pointer}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4e8cff,#7c5cfc);border:2px solid #fff;box-shadow:0 2px 6px #4e8cff66;cursor:pointer}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.byggekalk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease}.byggekalk-overlay.closing{animation:fadeOut .25s ease forwards}.byggekalk-panel{position:fixed;top:0;right:0;bottom:0;z-index:901;width:100%;max-width:460px;background:var(--bg);box-shadow:-4px 0 24px #00000040;animation:slideInRight .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.byggekalk-panel.closing{animation:slideOutRight .25s ease forwards}.byggekalk-card{border-bottom:1px solid var(--border)}.byggekalk-card:last-child{border-bottom:none}.byggekalk-card-head{display:flex;align-items:center;gap:8px;padding:11px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.byggekalk-card-head:active{background:#4e8cff0f}.byggekalk-card-body{padding:0 16px 16px}.byggekalk-result{background:var(--accentDim);border:1px solid var(--accent);border-radius:8px;padding:10px 12px;margin-top:10px}.byggekalk-result-row{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}.byggekalk-result-row strong{color:var(--accent)}.byggekalk-input-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-end}.byggekalk-input-row>div{flex:1}.byggekalk-input-row label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.3px}
