:root{color-scheme:light;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7f9ff,#ffffff 45%,#f7f9ff);color:#1f2937}a{color:inherit;text-decoration:none}.container{width:min(980px,calc(100% - 2rem));margin:0 auto}.app-header{position:sticky;top:0;backdrop-filter:blur(8px);background:rgba(255,255,255,.88);border-bottom:1px solid #dbe3f0;z-index:20}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:64px}.brand{font-weight:700;font-size:1.1rem;letter-spacing:.02em}.nav-links{display:flex;gap:1rem}.nav-links a{padding:.45rem .65rem;border-radius:999px;font-size:.95rem}.nav-links a:hover{background:#ebf1ff}main.container{padding:1.5rem 0 2rem}.page-title{margin:0 0 .5rem;font-size:2rem;line-height:1.1}.page-subtitle{margin:0 0 1.4rem;color:#5f6f86}.grid{display:grid;gap:1rem}.cards-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.card{background:#ffffff;border:1px solid #dbe3f0;border-radius:14px;padding:1rem;box-shadow:0 8px 24px rgba(17,24,39,.06)}.metric-label{margin:0;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.metric-value{margin:.35rem 0 0;font-size:1.35rem;font-weight:700}.metric-value.positive{color:#0d8a5b}.metric-value.negative{color:#b42318}.split{display:grid;grid-template-columns:1fr;gap:1rem}.card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;align-items:end}label{display:block;font-size:.86rem;color:#4b5563;margin-bottom:.35rem}button,input,select,textarea{width:100%;border-radius:10px;border:1px solid #c6d1e4;font-size:.95rem;padding:.6rem .7rem;font-family:inherit}textarea{resize:vertical;min-height:72px}button{background:#0f172a;color:#ffffff;cursor:pointer;border:0;transition:transform .08s ease,opacity .08s ease}button:hover{opacity:.92}button:active{transform:translateY(1px)}.button-secondary{display:inline-block;border:1px solid #c6d1e4;background:#ffffff;color:#1f2937;border-radius:8px;padding:.45rem .65rem;font-size:.86rem}.month-group{margin-top:1rem}.month-heading{margin:0 0 .4rem}.table-wrap{overflow-x:auto}.desktop-only{display:block}.mobile-only{display:none}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .4rem;border-bottom:1px solid #e6ecf7;white-space:nowrap}th{font-size:.8rem;text-transform:uppercase;color:#66758b;letter-spacing:.03em}.stack-actions{display:flex;align-items:center;gap:.45rem}.stack-actions form{margin:0}.stack-actions button{width:auto}.delete-button{padding:.4rem .6rem;font-size:.82rem;background:#be123c}.empty-state{margin:0;color:#6b7280}.loading-stack{display:grid;gap:1rem}.skeleton{position:relative;overflow:hidden;background:#e8effb;border-radius:10px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:shimmer 1.2s infinite}.skeleton-line{height:.9rem}.skeleton-line.title{width:min(260px,65%);height:1.7rem}.skeleton-line.subtitle{width:min(520px,85%)}.skeleton-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.skeleton-card{height:95px}.skeleton-table{height:220px}@keyframes shimmer{to{transform:translateX(100%)}}@media (max-width:760px){.container{width:min(980px,calc(100% - 1rem))}.nav-row{flex-wrap:wrap;min-height:0;padding:.6rem 0}.nav-links{width:100%;gap:.45rem;overflow-x:auto;padding-bottom:.1rem}.nav-links a{background:#ebf1ff;white-space:nowrap;font-size:.86rem;padding:.42rem .62rem}main.container{padding:1rem 0 1.35rem}.page-title{font-size:1.55rem}.page-subtitle{margin-bottom:1rem;font-size:.93rem}.cards-4,.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:.85rem}.form-grid{grid-template-columns:1fr}td,th{white-space:normal}.desktop-only{display:none}.mobile-only{display:grid;gap:.65rem}.mobile-item{border:1px solid #e3e9f5;border-radius:10px;padding:.65rem;background:#fcfdff}.mobile-item-row{display:flex;justify-content:space-between;gap:.65rem;font-size:.9rem;padding:.2rem 0}.mobile-item-label{color:#66758b}.mobile-item-value{text-align:right;font-weight:600}.mobile-item-note{margin:.4rem 0 .2rem;font-size:.88rem;color:#334155}.stack-actions{flex-wrap:wrap;width:100%}.stack-actions form{flex:1 1 130px}.stack-actions .button-secondary,.stack-actions button{width:100%;text-align:center}}@media (min-width:920px){.split{grid-template-columns:350px 1fr}}