:root{--bg:#eef2f7;--bg-soft:#f8fafc;--panel:#ffffffdb;--line:#94a3b847;--text:#0f172a;--muted:#475569;--accent:#0f766e;--accent-soft:#0f766e1f;--error:#b91c1c;--success:#047857;color:var(--text);background:radial-gradient(circle at 15% 10%, #0f766e1f, transparent 26%), radial-gradient(circle at 85% 14%, #0f766e14, transparent 24%), linear-gradient(180deg, #fff 0%, var(--bg) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit;outline-color:#0000}::selection{background:var(--accent-soft)}:root{--bg-app:#f4f7f6;--text-main:#0f172a;--panel-bg:#ffffffd9;--line:#94a3b84d;--accent:#0f766e;--muted:#64748b;--input-bg:#fff;--input-text:#0f172a;--modal-bg:#fff;--modal-overlay:#0006;--table-header:#f8fafceb;--table-row-even:#f8fafcb8;--table-row-hover:#0f766e0f}.theme-dark{--bg-app:#0f172a;--text-main:#f8fffd;--panel-bg:#1e293bd9;--line:#94a3b833;--accent:#2dd4bf;--muted:#94a3b8;--input-bg:#fff;--input-text:#0f172a;--modal-bg:#1e293b;--modal-overlay:#000000b3;--table-header:#1e293beb;--table-row-even:#1e293bb8;--table-row-hover:#2dd4bf1a}body{background-color:var(--bg-app);color:var(--text-main);margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .4s,color .4s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}#root{max-width:1200px;margin:0 auto;padding:2rem 1rem 3rem}.page{gap:1.1rem;display:grid;position:relative}.page:before{content:"";pointer-events:none;opacity:.22;background-color:#0000;background-image:linear-gradient(#94a3b82e 1px,#0000 1px),linear-gradient(90deg,#94a3b824 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0009,#0000 90%);mask-image:linear-gradient(#0009,#0000 90%)}.hero,.panel,.overview-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{color:#f8fffd;background:linear-gradient(135deg,#0f172af5,#0f766eeb);border:1px solid #fff3;border-radius:28px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 24px 55px #1018282e}.hero:after{content:"";background:radial-gradient(circle,#ffffff26,#0000 68%);border-radius:50%;width:190px;height:190px;position:absolute;inset:auto -40px -70px auto}.theme-toggle-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:none;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:99px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:background .2s,transform .2s;display:flex}.theme-toggle-btn:hover{background:#ffffff4d;transform:scale(1.05)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;opacity:.85;margin:0;font-size:.78rem;font-weight:700}.hero h1{max-width:12ch;margin:.35rem 0 .65rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.08}.subtitle{color:#f8fffde6;max-width:720px;margin:0;font-size:1.02rem}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.overview-card{border:1px solid var(--line);background:var(--panel-bg);cursor:pointer;border-radius:20px;gap:.35rem;padding:1rem 1.05rem;transition:transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000014}.overview-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #00000026}.overview-card:before{content:"";background:linear-gradient(90deg, var(--accent), #0f172aa6);width:100%;height:4px;position:absolute;inset:0 auto auto 0}.overview-card span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.overview-card strong{color:var(--text-main);font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:800}.overview-card p{color:var(--muted);margin:0;font-size:.95rem}.overview-card--primary{background:linear-gradient(180deg, #0f766e14, var(--panel-bg))}.panel{border:1px solid var(--line);background:var(--panel-bg);color:var(--text-main);border-radius:22px;padding:1.1rem;box-shadow:0 18px 40px #00000014}.panel h2{color:var(--text-main);margin:0 0 .8rem;font-size:1.25rem;font-weight:800}.form-grid,.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem;display:grid}.form-grid{align-items:end}label{color:var(--muted);gap:.45rem;font-weight:500;display:grid}.field-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}input,select{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:14px;padding:.78rem .85rem;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 1px #ffffff1a}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #2dd4bf33}button{background:linear-gradient(135deg, var(--accent), #115e59);color:#fff;cursor:pointer;border:none;border-radius:14px;padding:.8rem 1rem;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 12px 22px #0f766e3d}button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #0f766e47}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.summary-card{border:1px solid var(--line);background:linear-gradient(135deg, #0f766e14, var(--panel-bg));border-radius:18px;margin-top:.95rem;padding:0;overflow:hidden}.summary-card summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.05rem;list-style:none;display:flex}.summary-card summary::-webkit-details-marker{display:none}.summary-card p,.summary-card span{color:var(--muted);margin:0}.summary-card strong{color:var(--accent);font-size:clamp(1.5rem,4vw,2.3rem);font-weight:800;line-height:1}.summary-card__toggle{background:#0f766e1f;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.45rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex;color:var(--accent)!important}.summary-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:0 1.05rem 1rem;display:grid}.summary-card__details div{background:var(--panel-bg);border:1px solid var(--line);border-radius:14px;gap:.35rem;padding:.8rem .85rem;display:grid}.summary-card__details span{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.summary-card__details strong{color:var(--text-main);font-size:1rem}.summary-card[open] summary{border-bottom:1px solid var(--line)}.expense-preview{border:1px solid var(--line);background:var(--panel-bg);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;padding:1rem;display:grid}.expense-preview span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.76rem;font-weight:700;display:block}.expense-preview strong{color:var(--text-main);margin-bottom:.2rem;font-size:1.1rem;font-weight:700;display:block}.panel--notice{background:linear-gradient(180deg, #0f766e0f, var(--panel-bg));border-style:dashed}.panel--notice p{color:var(--muted);margin:0;line-height:1.55}.expense-preview p{color:var(--muted);margin:0}.list-head{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.list-head button{background:linear-gradient(135deg,#334155,#0f172a);box-shadow:0 12px 22px #0f172a33}.table-wrap{border:1px solid var(--line);background:var(--panel-bg);border-radius:18px;overflow-x:auto}.day-list{gap:1rem;display:grid}.timeline-summary{border:1px solid var(--line);background:linear-gradient(135deg, #0f766e14, var(--panel-bg));border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:.95rem 1rem;display:grid}.timeline-summary span,.timeline-block__header span,.timeline-day__header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem;font-size:.74rem;font-weight:700;display:block}.timeline-summary strong,.timeline-block__header strong,.timeline-day__header strong{color:var(--text-main);font-size:1.05rem}.timeline-summary strong{color:var(--accent);font-size:1.25rem}.day-accordion{border:1px solid var(--line);background:var(--panel-bg);border-radius:18px;gap:.75rem;padding:0;display:grid;overflow:hidden}.day-accordion[open]{background:linear-gradient(180deg, #0f766e0a, var(--panel-bg));border-color:#0f766e3d}.day-accordion__summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.95rem 1rem;list-style:none;display:flex}.day-accordion__summary::-webkit-details-marker{display:none}.day-accordion__summary h3{color:var(--text-main);margin:0;font-size:1.08rem;line-height:1.15}.day-accordion__meta{justify-items:end;gap:.2rem;display:grid}.day-accordion__meta strong{color:var(--accent);font-size:1.04rem}.day-accordion__meta span{color:var(--muted);font-size:.82rem}.day-accordion__content{margin:0 1rem 1rem}.day-accordion__content .table-wrap{border-radius:14px}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:var(--table-header);padding:.95rem 1rem .8rem;font-size:.82rem}tbody td{border-top:1px solid var(--line);color:var(--text-main);padding:.92rem 1rem}tbody tr:nth-child(2n){background:var(--table-row-even)}tbody tr:hover{background:var(--table-row-hover)}.transaction-row--draft{background:#0f766e14!important}.transaction-row--draft td{border-top-color:#0f766e29}.transaction-title-cell{gap:.35rem;display:grid}.transaction-title-cell strong{font-weight:600}.draft-badge{width:fit-content;color:var(--accent);background:#0f766e1f;border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.message{border-radius:14px;margin-top:.7rem;margin-bottom:0;padding:.7rem .85rem;font-weight:500}.message.error{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.theme-dark .message.error{background:#ef44441a;border-color:#ef44444d}.message.success{color:#10b981;background:#ecfdf5;border:1px solid #a7f3d0}.theme-dark .message.success{background:#10b9811a;border-color:#10b9814d}.empty{color:var(--muted);margin:0;padding:.45rem 0 .15rem}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--modal-bg);border:1px solid var(--line);width:90%;max-width:420px;color:var(--text-main);border-radius:24px;padding:2rem;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #0000004d}.modal-close-btn{color:var(--muted);box-shadow:none;cursor:pointer;background:0 0;padding:0;font-size:1.8rem;line-height:1;transition:color .2s,transform .2s;position:absolute;top:1.2rem;right:1.2rem}.modal-close-btn:hover{color:var(--accent);box-shadow:none;background:0 0;transform:rotate(90deg)}.modal-title{border-bottom:2px solid var(--line);margin-top:0;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.4rem;font-weight:800}.modal-body{flex-direction:column;gap:.8rem;display:flex}.modal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.9rem;font-weight:700}.modal-value-large{color:var(--accent);font-size:2.2rem;font-weight:800;line-height:1.1}.modal-desc-large{color:var(--muted);margin-top:.5rem;font-size:1rem}.modal-footer{justify-content:flex-end;margin-top:2rem;display:flex}.btn-secondary{color:var(--text-main);box-shadow:none;background:#94a3b833}.btn-secondary:hover{color:var(--text-main);box-shadow:none;background:#94a3b84d}@media (width<=980px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=740px){#root{padding:1rem .75rem 2rem}.hero,.panel{border-radius:18px;padding:1rem}.overview-grid,.form-grid,.filters,.expense-preview,.timeline-summary{grid-template-columns:1fr}.day-accordion__summary{flex-direction:column}.day-accordion__meta{justify-items:start}.day-accordion__content{margin:0 .75rem .75rem}.form-live-row,.list-head{flex-direction:column;align-items:stretch}.list-head button{width:100%}}
