:root{--paper:#f7f8f3;--white:#fff;--ink:#253b33;--muted:#717970;--line:#e3e7de;--green:#244b40;--sage:#e9eee3;--lime:#d8e7ae;--purple:#645274;--lavender:#f0ebf4;--orange:#b06c32;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8caa62;outline-offset:3px}.skip{position:fixed;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#f0f2e9;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 20px 0}.brand{display:flex;align-items:center;gap:11px;font-family:Georgia,serif;font-size:39px;text-decoration:none;letter-spacing:-2px;padding:0 12px}.brand-mark{background:var(--green);color:#e4edca;width:37px;height:39px;font:32px Georgia,serif;text-align:center;border-radius:12px;letter-spacing:-3px;padding-right:3px}.brand-dot{font:18px sans-serif;margin-left:auto;letter-spacing:0;color:#8c9b80}.sidebar-caption{font-size:9px;letter-spacing:1.5px;padding:13px 12px 35px;color:#7f8978}nav{display:grid;gap:7px}nav button{border:0;background:none;color:#657062;text-align:left;display:flex;align-items:center;gap:13px;border-radius:9px;padding:12px 14px;font-size:14px}nav button.active{background:#e0e7d5;color:#244b40;font-weight:650}nav button:hover{background:#e7ebdf}.nav-icon{width:20px;height:21px;display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{width:20px;height:20px}.nav-divider{border-top:1px solid #dce2d3;margin:14px 8px 10px}.sidebar-bottom{margin-top:auto;padding:28px 12px;color:#75806e;font-size:12px}.small-label{font-size:10px;letter-spacing:1.8px;font-weight:650}.sidebar-bottom p{line-height:1.8}.text-btn{border:0;padding:0;background:transparent;color:var(--green);font-size:13px;font-weight:600;display:inline-flex;gap:16px;align-items:center}.profile{border-top:1px solid #dce2d3;padding:20px 0;display:flex;gap:10px;align-items:center;font-size:12px}.profile small{display:block;color:var(--muted);font-size:10px}.avatar{border-radius:50%;background:#e1e6d7;width:34px;height:34px;display:grid;place-items:center}.profile .icon-btn{margin-left:auto}.shell{margin-left:236px}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 44px;font-size:12px;color:#747d73}.topbar>div{display:flex;align-items:center;gap:8px}.demo-dot{width:6px;height:6px;border-radius:50%;background:#8b9b73}.top-sep{margin:0 10px;color:#d3d9cf}main{max-width:1250px;margin:auto;padding:37px 44px 48px;min-height:calc(100vh - 145px)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2px;color:#839071;font-weight:650;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font:39px/1.2 Georgia,serif;letter-spacing:-1.1px;margin-bottom:9px}h2{font:24px/1.3 Georgia,serif;letter-spacing:-.4px;margin-bottom:6px}h3{font-size:15px;font-weight:600;margin-bottom:6px}.sub{color:var(--muted);font-size:13px;margin-bottom:0}.btn{border:1px solid var(--line);border-radius:9px;background:white;padding:10px 16px;color:var(--ink);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;white-space:nowrap}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.purple{background:var(--purple);color:white;border-color:var(--purple)}.btn svg{width:16px;height:16px}.hero{border-radius:var(--radius);background:var(--green);color:#fff;position:relative;overflow:hidden;display:flex;justify-content:space-between;min-height:238px;padding:30px 33px}.hero:after{content:'';position:absolute;width:260px;height:260px;right:25%;top:50px;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 40px #ffffff03,0 0 0 80px #ffffff03;pointer-events:none}.hero .small-label{color:#d1dbbf}.hero-amount{font:56px/1.2 Georgia,serif;letter-spacing:-1px;margin:12px 0 9px}.hero-amount span{font:22px Georgia,serif;color:#b9c9bc;margin-left:8px}.hero p{color:#c6d6cc;font-size:12px;margin-bottom:21px}.hero .text-btn{color:#e6efcd}.hero-right{min-width:210px;align-self:center;border-left:1px solid #ffffff25;padding-left:32px;position:relative;z-index:1}.hero-right strong{font:31px Georgia,serif;color:#d9e8b2;display:block;margin:8px 0}.hero-right span{color:#c6d6cc;font-size:12px}.hero-right .pill{display:inline-block;margin-bottom:9px}.pill{padding:4px 9px;border-radius:6px;font-size:10px;font-weight:550;background:#edf2e6;color:#597044;white-space:nowrap}.pill.light{background:#ffffff16;color:#dbe8c8}.pill.orange{background:#fbf0e1;color:#9d6835}.pill.purple{background:#ece5f2;color:#796184}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 31px}.stat{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:20px 22px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#747f72;font-size:12px}.stat-top svg{width:18px;height:18px;color:#86947c}.stat strong{font:27px Georgia,serif;display:block;margin:10px 0 5px}.stat small{font-size:11px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.12fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-head h2{font-size:22px}.panel-head .text-btn{font-size:11px}.row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf0e8}.row:last-child{border-bottom:0}.row-icon{width:37px;height:37px;flex:none;display:grid;place-items:center;background:#f0f3ea;border-radius:11px;color:#6d7f5a}.row-icon svg{width:18px;height:18px}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:12px;font-weight:600}.row-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.row-amount{text-align:right;font-size:12px;font-weight:600}.row-amount small{display:block;font-size:10px;font-weight:400;margin-top:3px;color:var(--muted)}.notice{padding:13px 15px;background:#f3f5ed;border-radius:9px;display:flex;gap:10px;align-items:center;font-size:11px;color:#718061;margin-top:17px}.notice svg{flex:none;width:16px;height:16px}.budget-row{margin-bottom:18px}.budget-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.budget-top small{color:var(--muted);font-size:11px}.track{height:6px;background:#f0f2e9;border-radius:10px;overflow:hidden}.track>span{height:100%;display:block;background:#a3b987;border-radius:10px}.velvet-teaser{margin-top:23px;border:1px solid #e8e0ed;border-radius:var(--radius);padding:22px 25px;background:var(--lavender);display:flex;gap:18px;align-items:center}.velvet-symbol{width:47px;height:47px;background:#e3d9eb;color:#796286;border-radius:14px;display:grid;place-items:center;font:31px Georgia,serif}.velvet-teaser h2{font-size:22px;color:#5d4c68}.velvet-teaser p{font-size:12px;color:#8b7b94;margin:5px 0 0}.velvet-teaser .text-btn{margin-left:auto;color:#725c81;white-space:nowrap;font-size:12px}footer{max-width:1250px;margin:auto;border-top:1px solid var(--line);padding:18px 44px;display:flex;justify-content:space-between;color:#909889;font-size:10px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.account-card{padding:24px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.account-card .account-type{color:var(--muted);font-size:11px;margin:12px 0 4px}.account-card strong{font:31px Georgia,serif;display:block;margin:14px 0}.account-card small{color:var(--muted);font-size:11px}.section-gap{margin-top:28px}.banner{background:#edf1e5;border:1px solid #e1e7d6;padding:17px 21px;border-radius:12px;font-size:13px;margin-bottom:24px}.banner p{margin:5px 0 0;font-size:12px;color:#6e7b62}.actions{display:flex;gap:10px;flex-wrap:wrap}.list-table{width:100%;border-collapse:collapse;font-size:13px}.list-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;padding:13px 10px;border-bottom:1px solid var(--line)}.list-table td{padding:16px 10px;border-bottom:1px solid #edf0e8}.list-table td:last-child{text-align:right}.list-table tr:last-child td{border:0}.list-table small{display:block;font-size:10px;color:var(--muted)}.table-wrap{overflow:auto}.muted{color:var(--muted)}.body-copy{font-size:13px;line-height:1.8;color:#687263}.body-copy p{margin-bottom:14px}.body-copy a{color:var(--green)}.body-copy ul{padding-left:20px}.empty{text-align:center;padding:35px;color:var(--muted);font-size:13px}.asset-card{background:white;border:1px solid #e7dfec;border-radius:var(--radius);padding:25px}.asset-card .asset-visual{height:98px;border-radius:12px;background:#f4f0f7;display:grid;place-items:center;color:#887099;font:42px Georgia,serif;margin-bottom:20px}.asset-card p{font-size:12px;color:var(--muted)}.asset-card strong{font:26px Georgia,serif;display:block;margin:15px 0}.asset-card small{display:block;color:var(--muted);font-size:10px;margin-bottom:14px}.asset-card .btn{width:100%}.plan-grid{display:grid;grid-template-columns:1fr 300px;gap:22px}.envelope{display:flex;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.envelope:last-child{border:0}.envelope .row-main strong{font-size:14px}.envelope .row-main small{font-size:12px}.envelope input{width:125px;text-align:right}.money-input{display:flex;align-items:center;gap:8px;font-size:12px}.balance-box{background:var(--sage);padding:25px;border-radius:var(--radius);height:fit-content}.balance-box strong{font:35px Georgia,serif;display:block;margin:12px 0}.balance-box p{font-size:12px;color:var(--muted)}.badge-number{font-size:10px;background:#d5dec8;color:#597044;padding:1px 6px;border-radius:4px;margin-left:auto}.icon-btn{background:none;border:0;border-radius:8px;padding:7px;color:var(--muted);line-height:1.2}.danger{color:#a44636}.help{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}dialog{border:1px solid var(--line);border-radius:20px;width:min(590px,calc(100vw - 30px));padding:26px;color:var(--ink);box-shadow:0 30px 100px #15291c33;max-height:90dvh}dialog::backdrop{background:#19302366;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{font-size:27px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;margin-bottom:16px;font-size:12px}.field span{display:block;font-weight:600;margin-bottom:6px}input,select,textarea{border:1px solid #dbe1d3;background:#fff;color:var(--ink);border-radius:8px;padding:10px 11px;width:100%;font-size:13px}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.file-zone{border:1px dashed #aebc9b;border-radius:12px;padding:22px;text-align:center;background:#f7f9f2;margin-bottom:20px;font-size:12px}.file-zone input{margin-top:12px;border:0;background:transparent;padding:0}.receipt-preview{max-width:100%;max-height:210px;display:block;margin:0 auto 20px;border-radius:8px}.error{font-size:12px;color:#a44636;margin-top:12px}#toast{position:fixed;bottom:24px;left:calc(50% + 118px);transform:translateX(-50%);padding:13px 23px;background:#244b40;color:white;box-shadow:0 5px 30px #244b4022;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}#toast.show{opacity:1}details{border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}summary{cursor:pointer;font-weight:600}details p{margin:12px 0 0;color:var(--muted);font-size:12px}.dev-tag{font-size:10px;letter-spacing:1px;color:#8a7993}.receipt-meta{padding:12px;background:#f3f5ed;border-radius:8px;font-size:12px;margin-bottom:20px}
.text-btn svg{width:17px;height:17px;flex:none}.hero .text-btn{white-space:nowrap}
@media(min-width:1450px){main{padding-top:46px}.hero{min-height:255px}.stats{margin-bottom:35px}}
@media(max-width:1100px){.sidebar{width:200px;padding-left:13px;padding-right:13px}.shell{margin-left:200px}.topbar{padding:0 28px}main{padding:30px 28px}.hero{padding:27px}.hero-right{min-width:175px;padding-left:22px}.two-col{gap:16px}.panel{padding:19px}.grid{grid-template-columns:repeat(2,1fr)}.plan-grid{grid-template-columns:1fr 250px}#toast{left:calc(50% + 100px)}}
@media(max-width:800px){.sidebar{width:76px;padding:24px 10px 0}.brand{padding:0;justify-content:center}.brand-mark{display:none}.brand{font-size:26px;letter-spacing:-1.5px}.brand-dot,.sidebar-caption,.sidebar-bottom,.profile,nav .nav-label,nav .badge-number{display:none}nav{margin-top:30px}nav button{justify-content:center;padding:14px 10px}.shell{margin-left:76px}.two-col{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.hero-right{min-width:155px}.hero-amount{font-size:48px}.page-head{align-items:flex-start}h1{font-size:34px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:24px}.settings-grid{grid-template-columns:1fr}#toast{left:calc(50% + 38px)}}
@media(max-width:560px){.sidebar{width:60px;padding:21px 6px 0}.brand{font-size:23px}.shell{margin-left:60px}.topbar{height:58px;padding:0 17px;font-size:10px}.topbar>div{gap:5px}.top-sep{display:none}.topbar>div{font-size:0}.topbar>div .demo-dot{display:none}main{padding:26px 17px}.page-head{display:block;margin-bottom:22px}.page-head>.btn,.page-head>.actions{margin-top:15px}h1{font-size:31px}.sub{font-size:12px}.hero{padding:23px;display:block}.hero-amount{font-size:47px}.hero-right{padding:17px 0 0;margin-top:20px;border-left:0;border-top:1px solid #ffffff25;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hero-right .pill{margin:0}.hero-right strong{font-size:25px;margin:0 0 0 auto}.hero-right>span:last-child{width:100%;font-size:11px}.stats{grid-template-columns:1fr;margin-bottom:23px}.stat{padding:15px 18px;display:grid;grid-template-columns:1fr auto;gap:5px}.stat strong{grid-column:2;grid-row:1/3;margin:0;font-size:25px;align-self:center}.stat small{grid-column:1}.stat-top svg{display:none}.panel{padding:18px}.panel-head h2{font-size:20px}.panel-head .text-btn{font-size:10px}.velvet-teaser{padding:19px;flex-wrap:wrap;gap:12px}.velvet-symbol{width:36px;height:36px;font-size:25px}.velvet-teaser>div:nth-child(2){flex:1}.velvet-teaser .text-btn{margin-left:48px}.grid{grid-template-columns:1fr}footer{padding:16px 17px;font-size:9px}footer span{display:none}.form-grid{grid-template-columns:1fr;gap:0}.envelope{gap:9px}.envelope input{width:95px}.envelope .row-icon{display:none}.envelope .row-main strong{font-size:12px}.envelope .row-main small{font-size:10px}.money-input{gap:5px}.actions .btn{font-size:11px}.list-table th,.list-table td{padding-left:5px;padding-right:5px}.list-table{font-size:11px}#toast{left:calc(50% + 30px);max-width:calc(100vw - 90px);width:max-content;font-size:11px}.modal-head h2{font-size:23px}dialog{padding:22px}.btn{padding:10px 13px}.hero:after{display:none}}
/* Import, PWA og familieverktøy */
[hidden]{display:none!important}.wide-modal{width:min(960px,calc(100vw - 26px))}.file-label{display:block;margin-top:16px}.file-label .help{display:block}.import-row{padding:18px;border:1px solid var(--line);border-radius:12px;margin:15px 0;background:#fff}.import-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:12px}.check-label input{width:18px;height:18px;flex:none;margin:2px 0;accent-color:var(--green)}.import-fields{display:grid;grid-template-columns:140px 1fr 140px 120px;gap:12px}.import-fields .category{grid-column:2/-1}.import-fields .field{margin:0}.source-line{white-space:pre-wrap;overflow-wrap:anywhere}.import-row details{padding:10px 0 0;border:0}.duplicate-hint:not(:empty){background:#fcf2e5;padding:12px;border-radius:8px;margin-top:12px}.reconcile-box{background:var(--sage);padding:20px;border-radius:12px}.import-warnings{color:#805328;font-size:12px;padding-left:20px}nav{gap:3px}nav button{padding-top:10px;padding-bottom:10px}.sidebar-caption{padding-bottom:22px}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.goal-card{background:white;padding:25px;border:1px solid var(--line);border-radius:18px}.goal-card .track{margin:18px 0}.goal-card p{font-size:12px;color:var(--muted)}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.family-row{display:grid;grid-template-columns:1fr 120px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.family-row label{font-size:12px}.family-row small{display:block;font-size:10px;color:var(--muted)}.family-total{background:var(--green);color:#fff;padding:24px;border-radius:16px;margin-bottom:22px}.family-total strong{font:34px Georgia,serif;display:block;margin:10px 0}.family-total p{font-size:12px;color:#d6e1d8}.family-form .field{margin-bottom:12px}
@media(max-width:700px){.import-fields{grid-template-columns:1fr 1fr}.import-fields .description{grid-column:1/-1;grid-row:2}.import-fields .category{grid-column:1/-1}.goal-grid,.family-grid{grid-template-columns:1fr}.family-row{grid-template-columns:1fr 105px}.import-row{padding:13px}.sidebar-bottom{padding-top:10px;padding-bottom:10px}}
#cloud-status:not(:empty){padding:12px 28px;border-bottom:1px solid #d5ddd5;background:#edf4ed;line-height:1.5}#cloud-status.error{background:#fff0e8;color:#732f20}#cloud-status button{margin:6px 8px 0 0}.learning-options{display:grid;gap:10px}.section-gap{scroll-margin-top:20px}@media(max-width:600px){.row{flex-wrap:wrap}.row-main{min-width:160px}.page-head .actions{flex-wrap:wrap}.list-table{min-width:580px}}
/* Keep all navigation reachable on shorter phones and stack explanatory text. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}
@media(max-width:560px){.notice{display:block}.notice>strong{display:block;margin-bottom:8px}.notice>p:last-child{margin-bottom:0}.stat>span{min-width:0}.panel .row-main small{overflow-wrap:anywhere}}

@media(max-width:560px){.bills-table{min-width:0;width:100%}.bills-table thead{display:none}.bills-table tbody{display:block}.bills-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.bills-table tbody tr:last-child{border-bottom:0}.bills-table td{padding:0;border:0}.bills-table td:first-child{grid-column:1/-1;font-size:14px;font-weight:600}.bills-table td:nth-child(2){font-size:12px}.bills-table td:nth-child(3){font-size:14px;font-weight:600;text-align:right}.bills-table td:last-child{grid-column:1/-1}.bills-table td .btn{width:100%;margin-top:5px}}
.assistant-panel{max-width:820px}
.assistant-voice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 8px}
.assistant-mic{font-size:18px;min-height:56px;padding:12px 22px}
.assistant-mic[aria-pressed="true"]{background:#8f3437;color:white}
.assistant-status{min-height:24px;color:#35584e}
.assistant-keyboard{margin:18px 0}
.assistant-keyboard summary{cursor:pointer;font-weight:600}
.assistant-keyboard form{padding-top:14px}
.assistant-heard{overflow-wrap:anywhere}
.assistant-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.assistant-suggestions .btn{white-space:normal;text-align:left}
.assistant-panel textarea{width:100%;resize:vertical;min-height:90px}
.assistant-answer{margin-top:24px;padding:22px;border-radius:16px;background:#edf5ef;white-space:normal;line-height:1.6}
.assistant-answer h2{margin:0 0 10px;font-size:20px}
.assistant-answer p{margin:0;overflow-wrap:anywhere}
