@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--primary:#20976c;--primary-light:#eafbf4;--primary-dark:#145d42;--primary-glow:#20976c26;--accent:#f38320;--accent-light:#fef1e7;--accent-dark:#793c06;--bg-page:#f6f9f8;--bg-card:#fff;--bg-input:#f9fafa;--text-primary:#112c22;--text-secondary:#628477;--text-muted:#9dafa8;--border:#e0ebe7;--border-focus:#42d7a0;--shadow-sm:0 2px 8px #122b220a;--shadow-md:0 6px 16px #122b220f;--shadow-lg:0 12px 32px #122b2214;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease-out;--safe-area-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-primary);justify-content:center;font-size:16px;line-height:1.5;display:flex;overflow-x:hidden}#app{background-color:var(--bg-page);flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex;position:relative;box-shadow:0 0 40px #00000008}.app-header{background-color:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:18px 24px;display:flex;position:sticky;top:0}.app-header h1{color:var(--text-primary);letter-spacing:-.5px;font-size:20px;font-weight:700}.app-header p{color:var(--text-secondary);font-size:13px}.app-main{flex-direction:column;flex:1;gap:16px;padding:20px 20px 100px;display:flex;overflow-y:auto}.app-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);width:100%;max-width:480px;padding:10px 0 calc(10px + var(--safe-area-bottom)) 0;z-index:99;background-color:#ffffffd9;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 16px #00000005}.nav-item{color:var(--text-muted);cursor:pointer;width:70px;transition:var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.nav-item svg{stroke:currentColor;stroke-width:2px;fill:none;width:24px;height:24px;transition:var(--transition-fast)}.nav-item.active{color:var(--primary)}.nav-item.active svg{stroke:var(--primary);fill:var(--primary-glow)}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition);padding:16px;position:relative;overflow:hidden}.card:active{transform:scale(.99)}.timeline-group{flex-direction:column;gap:12px;display:flex}.timeline-date-header{color:var(--primary);background-color:var(--primary-light);border-radius:20px;align-self:flex-start;margin-top:8px;padding:6px 12px;font-size:14px;font-weight:600}.timeline-item{gap:14px;display:flex;position:relative}.timeline-line-container{flex-direction:column;align-items:center;display:flex;position:relative}.timeline-node{background-color:var(--primary);border:3px solid var(--bg-card);width:12px;height:12px;box-shadow:0 0 0 3px var(--primary-glow);z-index:2;border-radius:50%;margin-top:6px}.timeline-line{background-color:var(--border);z-index:1;width:2px;position:absolute;top:12px;bottom:-24px}.timeline-item:last-child .timeline-line{display:none}.timeline-content{flex:1}.itinerary-card{flex-direction:column;gap:8px;display:flex}.itinerary-meta{justify-content:space-between;align-items:center;display:flex}.itinerary-time{color:var(--text-secondary);font-size:13px;font-weight:600}.itinerary-cost{color:var(--accent-dark);background-color:var(--accent-light);border-radius:4px;padding:2px 8px;font-size:13px;font-weight:600}.itinerary-title{color:var(--text-primary);font-size:16px;font-weight:600}.itinerary-location{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.itinerary-location svg{stroke:currentColor;width:14px;height:14px}.itinerary-notes{color:var(--text-secondary);background-color:var(--bg-input);border-radius:var(--radius-sm);border-left:3px solid var(--primary);white-space:pre-wrap;margin-top:4px;padding:8px 12px;font-size:13px}.card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:8px;display:flex}.fab{bottom:calc(76px + var(--safe-area-bottom));background-color:var(--primary);width:56px;height:56px;color:var(--bg-card);box-shadow:var(--shadow-lg);cursor:pointer;z-index:90;transition:var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;right:20px}.fab:active{transform:scale(.9)rotate(90deg)}.fab svg{stroke:currentColor;stroke-width:2.5px;width:24px;height:24px}.drawer-backdrop{z-index:1000;opacity:0;visibility:hidden;width:100%;height:100%;transition:var(--transition);background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;left:0}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer-content{background-color:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;padding:24px 24px calc(24px + var(--safe-area-bottom)) 24px;transition:var(--transition);max-height:85vh;overflow-y:auto;transform:translateY(100%);box-shadow:0 -8px 32px #00000026}.drawer-backdrop.open .drawer-content{transform:translateY(0)}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drawer-header h2{color:var(--text-primary);font-size:18px;font-weight:700}.drawer-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.drawer-close svg{stroke:currentColor;stroke-width:2px;width:24px;height:24px}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--bg-input);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-fast);outline:none;padding:12px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--primary-glow)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--bg-card)}.btn-primary:active{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--primary-light);color:var(--primary-dark)}.btn-secondary:active{background-color:var(--border)}.btn-text{color:var(--text-secondary);background:0 0;padding:6px 12px}.btn-text:active{color:var(--text-primary)}.btn-danger-text{color:#e64d4d;background:0 0;padding:6px 12px}.btn-danger-text:active{color:#b31a1a}.btn-full{width:100%;margin-top:8px}.tags-input-container{border:1px solid var(--border);background-color:var(--bg-input);border-radius:var(--radius-sm);flex-wrap:wrap;gap:8px;padding:8px;display:flex}.tag{background-color:var(--primary-light);color:var(--primary-dark);border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.tag-remove{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;display:flex}.tag-remove svg{stroke:currentColor;stroke-width:2.5px;width:14px;height:14px}.tags-input-container input{background:0 0;border:none;flex:1;min-width:80px;padding:4px}.tags-input-container input:focus{box-shadow:none}.settlement-card{background:linear-gradient(135deg, var(--primary-light) 0%, var(--bg-card) 100%);border:1px solid var(--border)}.settlement-header{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.settlement-title{color:var(--primary-dark);font-size:15px;font-weight:700}.settlement-total{color:var(--text-secondary);font-size:14px}.settlement-total span{color:var(--accent-dark);font-size:16px;font-weight:700}.settlement-list{flex-direction:column;gap:10px;display:flex}.settlement-item{background-color:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.settlement-debtor{color:var(--text-primary);font-weight:600}.settlement-arrow{color:var(--primary);align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.settlement-arrow svg{stroke:currentColor;stroke-width:2.5px;width:16px;height:16px}.settlement-creditor{color:var(--primary-dark);font-weight:600}.settlement-amount{color:var(--accent-dark);font-weight:700}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-state svg{width:48px;height:48px;stroke:var(--text-muted);stroke-width:1.5px}.empty-state p{font-size:14px}.expense-item{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.expense-item.settled{opacity:.65;background-color:var(--bg-page);border-color:var(--border)}.expense-item.settled .expense-desc{color:var(--text-muted);text-decoration:line-through}.expense-info{flex-direction:column;gap:4px;display:flex}.expense-desc{color:var(--text-primary);font-size:15px;font-weight:600}.expense-meta{color:var(--text-secondary);font-size:12px}.expense-meta span{color:var(--primary);font-weight:500}.expense-participants{color:var(--text-muted);font-size:11px}.expense-value{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.expense-amount{color:var(--text-primary);font-size:16px;font-weight:700}.delete-action{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px}.delete-action:active{color:#e64d4d;background-color:#fce9e9}.delete-action svg{stroke:currentColor;stroke-width:2px;fill:none;width:16px;height:16px}.templates-section{flex-direction:column;gap:8px;margin-top:10px;display:flex}.templates-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.templates-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.template-btn{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:var(--transition-fast);color:var(--text-primary);padding:8px 12px;font-size:13px;font-weight:500}.template-btn:active{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}
