:root{--ink:#14251E;--ink-soft:#5C6B64;--paper:#FFFFFF;--page-bg:#F4F8F5;--green:#14824B;--green-dark:#0E6339;--green-pale:#E7F5EC;--border:#DCE7DF;--danger:#C1382C;--success:#14824B;--steel:#14824B;--steel-dark:#0E6339;--line-blue:#CFE9D9}*{box-sizing:border-box}body,html{margin:0;background:var(--page-bg);color:var(--ink);font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:15px}h1,h2,h3{font-family:Inter,-apple-system,sans-serif;font-weight:700;color:var(--ink);margin:0 0 4px}h1{font-size:24px;letter-spacing:-.2px}h2{font-size:16px}h3{font-size:15px;font-weight:600}.topbar{background:var(--paper);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.topbar .wordmark{text-decoration:none}.topbar .wordmark div:first-child{font-size:19px;font-weight:800;color:var(--green-dark)}.topbar-subtitle{font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:-1px}.topbar nav{display:flex;gap:20px;align-items:center}.topbar nav a,.topbar nav button{font-size:14px;color:var(--ink-soft);text-decoration:none;background:none;border:none;padding:0;cursor:pointer}.topbar nav a:hover,.topbar nav button:hover{color:var(--green)}.container{max-width:700px;margin:0 auto;padding:32px 20px 60px}.container-wide{max-width:780px}.container-narrow{max-width:460px}.card{background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:22px 24px;margin-bottom:18px}label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:5px;font-weight:500}input,select,textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:14px;font-size:15px;font-family:inherit;margin-bottom:14px;background:var(--paper);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green)}input.field-invalid{border-color:var(--danger)}input.field-valid{border-color:var(--success)}.field-hint{font-size:12px;margin:-10px 0 14px}.field-hint.invalid{color:var(--danger)}.field-hint.valid{color:var(--success)}.btn,button{background:var(--green);color:#fff;border:none;border-radius:999px;padding:13px 22px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer}button:hover{background:var(--green-dark)}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--green-pale);color:var(--green-dark);border:none}button.secondary:hover{background:#D7EEE0}button.ghost{background:transparent;color:var(--ink-soft);padding:8px 4px}button.ghost:hover{background:transparent;color:var(--green-dark)}.error{color:var(--danger)}.error,.notice{font-size:14px;margin-bottom:10px}.receipt-list-item{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--ink)}.receipt-list-item:last-child{border-bottom:none}.receipt-list-item:hover{color:var(--green)}.receipt-list-item .price{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wizard-header{display:flex;align-items:center;gap:12px;margin-bottom:22px}.wizard-stepper{gap:6px;margin-bottom:26px}.wizard-dot,.wizard-stepper{display:flex;align-items:center;justify-content:center}.wizard-dot{width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:700;background:var(--border);color:var(--ink-soft)}.wizard-dot.active{background:var(--green);color:#fff}.wizard-dot.done{background:var(--green-pale);color:var(--green-dark)}.wizard-line{width:20px;height:2px;background:var(--border)}.wizard-line.done{background:var(--green)}.type-option{display:flex;align-items:center;gap:14px;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;cursor:pointer;margin-bottom:12px;background:var(--paper)}.type-option.selected{border-color:var(--green);background:var(--green-pale)}.type-option .icon{width:42px;height:42px;border-radius:12px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.type-option.selected .icon{background:var(--green);color:#fff}.photo-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.photo-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb button{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border-radius:50%;background:rgba(0,0,0,.6);font-size:11px;line-height:1}.photo-add{width:64px;height:64px;border-radius:10px;border:1.5px dashed var(--border);justify-content:center;color:var(--ink-soft);font-size:22px;background:var(--green-pale)}.photo-add,.review-row{display:flex;align-items:center;cursor:pointer}.review-row{justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.review-row:last-child{border-bottom:none}.review-row:hover{background:var(--green-pale);margin:0 -12px;padding-inline:12px;border-radius:10px}.kvitto-sheet{background:var(--paper);border:1px solid var(--border);border-radius:18px;max-width:700px;margin:0 auto;padding:36px 40px}.kvitto-letterhead{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:24px}.kvitto-letterhead h1{font-size:28px;margin:0;color:var(--green-dark)}.kvitto-letterhead .meta{text-align:right;font-size:12.5px;color:var(--ink-soft);line-height:1.6}.kvitto-letterhead .meta strong{color:var(--ink);font-weight:700}.kvitto-section{margin-bottom:22px}.kvitto-section .section-title{display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--line-blue);padding-bottom:6px;margin-bottom:10px}.kvitto-section .section-title .num{color:var(--green);font-size:15px;font-weight:700}.kvitto-section .section-title h2{font-size:15px}.parties-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 28px;gap:0 28px}.party-block .party-role{font-size:12px;color:var(--green-dark);margin-bottom:6px;font-weight:700}.kvitto-row{display:flex;gap:10px;font-size:13.5px;margin-bottom:5px}.kvitto-row .k{color:var(--ink-soft);min-width:108px;flex-shrink:0}.kvitto-row .v{color:var(--ink)}.signatures{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 28px;gap:0 28px;margin-top:30px}.sig-block{padding-top:6px}.sig-line{margin-top:8px;font-size:12px;color:var(--ink-soft)}@media (max-width:620px){.parties-grid,.signatures{grid-template-columns:1fr}.kvitto-sheet{padding:26px 20px}}@media print{body{background:#fff}.no-print{display:none!important}.kvitto-sheet{border:none;padding:0}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--border);display:flex;z-index:20;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;font-size:11px;color:var(--ink-soft);text-decoration:none}.bottom-nav-tab.active{color:var(--green);font-weight:600}.page-with-bottom-nav{padding-bottom:70px}.action-card{display:flex;align-items:center;gap:14px;border-radius:18px;padding:18px 20px;margin-bottom:12px;text-decoration:none;cursor:pointer}.action-card.primary{background:var(--green);color:#fff}.action-card.secondary-card{background:var(--paper);border:1.5px solid var(--border);color:var(--ink)}.action-card .a-icon{font-size:24px}.action-card .a-title{font-weight:700;font-size:16px}.action-card .a-desc{font-size:12.5px;opacity:.85}.action-card .a-arrow{-webkit-margin-start:auto;margin-inline-start:auto;font-size:20px}.recent-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--ink)}.recent-item:last-child{border-bottom:none}.recent-item .r-icon{width:40px;height:40px;border-radius:12px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.recent-item .r-name{font-weight:600;font-size:14px}.recent-item .r-meta{font-size:12px;color:var(--ink-soft)}.recent-item .r-price{-webkit-margin-start:auto;margin-inline-start:auto;font-weight:600;font-size:14px}