:root{--bg: #f7f8fa;--card: #ffffff;--ink: #1c2530;--muted: #6b7683;--accent: #2d6cdf;--accent-ink: #ffffff;--border: #e2e6ea;--danger: #c8392f;--ok: #1f9d55}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-decoration:none}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border)}.app-header nav{display:flex;gap:1.25rem;align-items:baseline}.app-header .brand{font-weight:700;font-size:1.1rem;color:var(--ink)}.user-box{display:flex;gap:.75rem;align-items:center;color:var(--muted)}.container{max-width:900px;margin:1.5rem auto;padding:0 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}h1{font-size:1.5rem}h2{font-size:1.2rem}button,.btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:7px;padding:.5rem .9rem;font-size:.95rem;cursor:pointer}button.secondary{background:#eef1f5;color:var(--ink)}button.danger{background:var(--danger)}button.fab-add{width:3rem;height:3rem;border-radius:50%;padding:0;font-size:1.9rem;line-height:1;font-weight:300;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}button:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;color:var(--accent);padding:0}.expense-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto}.expense-screen-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border);font-weight:600;flex-shrink:0}.expense-screen-head .link-btn{font-size:1.1rem}.expense-screen-head .link-btn.strong{font-weight:700}.amount-hero{flex:1;min-height:38vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.5rem 1rem}.amount-input{width:100%;max-width:8ch;border:none;background:transparent;text-align:center;font-size:clamp(3.5rem,18vw,7rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink);padding:0}.amount-input:focus{outline:none}.amount-cur{font-size:1.6rem;font-weight:600;color:var(--muted)}.amount-eur{margin:.4rem 0 0;font-size:1rem}.expense-screen-fields{max-width:600px;width:100%;margin:0 auto;padding:0 1.25rem 2rem;flex-shrink:0}label{display:block;font-size:.85rem;color:var(--muted);margin:.5rem 0 .15rem}label.check{display:flex;align-items:center;gap:.4rem;cursor:pointer;margin-top:.6rem}label.check input{width:auto}input,select,textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff}.row{display:flex;gap:.75rem;flex-wrap:wrap}.row>*{flex:1;min-width:120px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border);font-size:.92rem}th{color:var(--muted);font-weight:600}.right{text-align:right}.clickable-row{cursor:pointer;transition:background .12s}.clickable-row:hover td{background:#f0f4fb}.row-actions{display:flex;gap:1.1rem;justify-content:flex-end;align-items:center}.link-btn svg{display:block}.error{color:var(--danger);font-size:.9rem;margin:.5rem 0}.muted{color:var(--muted)}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.badge{display:inline-block;background:#eef1f5;border-radius:20px;padding:.1rem .6rem;font-size:.8rem;color:var(--muted)}.amount{font-variant-numeric:tabular-nums;font-weight:600}.login-wrap{max-width:360px;margin:4rem auto}.trip-card{display:flex;align-items:center;gap:1rem}.trip-card.clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s}.trip-card.clickable:hover{border-color:var(--accent);box-shadow:0 1px 6px #0000000f}.trip-card.clickable h2{color:var(--accent)}.trip-main{flex:1;min-width:0}.trip-total{text-align:right;flex-shrink:0;margin-right:1.5rem}.trip-total-amount{display:block;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.trip-delete{flex-shrink:0;font-size:1.1rem}.pie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.pie-card{border:1px solid var(--border);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;align-items:center;text-align:center}.pie-title{font-size:1rem;margin:0 0 .5rem;color:var(--ink)}.pie-card svg path{cursor:pointer;transition:opacity .12s}.pie-center-value{font-size:20px;font-weight:700;fill:var(--ink)}.pie-center-label{font-size:11px;fill:var(--muted)}.pie-caption{margin:.5rem 0 0;font-size:.85rem;color:var(--muted);min-height:1.2em}.pie-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.25rem 0 .75rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ink)}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.attachments{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.attachment{border:1px solid var(--border);border-radius:6px;padding:.3rem .6rem;font-size:.85rem;display:flex;gap:.5rem;align-items:center}@media (max-width: 640px){.app-header{flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem 1rem}.app-header nav{gap:.9rem;flex-wrap:wrap;align-items:center}.user-box{gap:.5rem}.container{margin:1rem auto;padding:0 .75rem}.card{padding:.85rem .9rem}h1{font-size:1.3rem}th,td{padding:.4rem .35rem;font-size:.85rem}.trip-total{margin-right:.5rem}.trip-total-amount{font-size:1.3rem}}
