*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--yellow: #f5c842;--yellow-light: #fbe28a;--yellow-deep: #d4a820;--white: #ffffff;--off-white: #fafaf7;--grey-light: #f2f2ef;--grey-mid: #c8c8c4;--grey: #888884;--grey-dark: #444440;--ink: #1a1a18;--green: #4caf50;--red: #ef4444}html{color-scheme:light}body{min-height:100vh;background:var(--off-white);color:var(--ink);font-family:DM Sans,sans-serif}button,input,select{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}#root,.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:var(--ink)}.logo{color:var(--white);font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.1em}.logo span{color:var(--yellow)}.header-right{display:flex;align-items:center;gap:1.5rem}.header-tag{border-radius:2px;background:#ffffff0f;padding:.4rem .8rem;color:#ffffff4d;font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.header-date{color:#fff6;font-size:.75rem;font-weight:300}.main-layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 60px)}.sidebar{position:sticky;top:60px;max-height:calc(100vh - 60px);overflow-y:auto;border-right:1px solid var(--grey-light);background:var(--white);padding:2rem}.sidebar-title{margin-bottom:1.5rem;color:var(--ink);font-family:Fraunces,serif;font-size:1.1rem;font-weight:400}.sidebar-title em,.content-title em{color:var(--yellow-deep);font-style:italic}.form-section-label{margin-top:1.5rem;margin-bottom:.8rem;color:var(--grey);font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.4rem;color:var(--grey-dark);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.form-field input,.form-field select,.search-bar{width:100%;border:1px solid var(--grey-light);border-radius:2px;background:var(--off-white);color:var(--ink);outline:none;transition:border-color .2s,background .2s}.form-field input,.form-field select{padding:.8rem 1rem;font-size:.9rem}.search-bar{width:200px;padding:.7rem 1rem;font-size:.85rem}.form-field input:focus,.form-field select:focus,.search-bar:focus{border-color:var(--yellow-deep);background:var(--white)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.submit-btn,.export-btn,.filter-btn,.delete-btn{border:0}.submit-btn{width:100%;margin-top:1rem;border-radius:2px;background:var(--yellow);padding:1rem;color:var(--ink);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,transform .2s}.submit-btn:hover{background:var(--yellow-deep);transform:translateY(-1px)}.sidebar-divider{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--grey-light)}.quick-stats{color:var(--grey);font-size:.85rem;font-weight:300;line-height:1.9}.quick-stats p{margin:0}.content{padding:2rem 2.5rem}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.summary-card{border-top:3px solid var(--yellow);border:1px solid var(--grey-light);background:var(--white);padding:1.5rem;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.summary-num{color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:2.2rem;line-height:1}.summary-label{margin-top:.4rem;color:var(--grey);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.summary-sub{margin-top:.3rem;color:var(--grey);font-size:.75rem;font-style:italic;font-weight:300}.content-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.content-title{color:var(--ink);font-family:Fraunces,serif;font-size:1.3rem;font-weight:400}.toolbar-group{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{border-radius:2px;background:var(--grey-light);padding:.5rem 1rem;color:var(--grey-dark);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s}.filter-btn.active{background:var(--ink);color:var(--white)}.filter-btn:hover:not(.active){background:var(--grey-mid)}.table-wrap{overflow:hidden;border:1px solid var(--grey-light);border-radius:2px;background:var(--white)}table{width:100%;border-collapse:collapse}thead{background:var(--ink)}thead th{padding:1rem 1.2rem;color:#fff6;font-size:.6rem;font-weight:500;letter-spacing:.15em;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid var(--grey-light);transition:background .2s}tbody tr:hover{background:var(--off-white)}tbody tr:last-child{border-bottom:0}tbody td{padding:1rem 1.2rem;color:var(--grey-dark);font-size:.85rem;font-weight:300}.row-index{color:var(--grey-mid);font-size:.75rem}.td-name{color:var(--ink);font-weight:500}.td-amount{color:var(--green);font-family:Bebas Neue,sans-serif;font-size:1.1rem}.notes-cell{color:var(--grey);font-style:italic;font-size:.8rem}.season-badge{border-radius:20px;padding:.25rem .6rem;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.season-harvest{background:#f5c84226;color:var(--yellow-deep)}.season-off{background:#4caf501f;color:#2e7d32}.delete-btn{border-radius:2px;background:transparent;color:var(--grey-mid);padding:.3rem .5rem;font-size:.85rem;transition:color .2s,background .2s}.delete-btn:hover{background:#ef444414;color:var(--red)}.empty-state{padding:4rem 2rem;color:var(--grey);text-align:center}.empty-state div{margin-bottom:1rem;font-size:2.5rem}.empty-state p,.empty-hint{color:var(--grey);font-size:.9rem;font-weight:300;line-height:1.7}.empty-hint{padding:.25rem 0}.chart-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}.chart-card{border:1px solid var(--grey-light);background:var(--white);padding:1.5rem}.chart-card-title{margin-bottom:1.5rem;color:var(--grey);font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.leaderboard{display:flex;flex-direction:column;gap:.6rem}.leader-row{display:flex;align-items:center;gap:.8rem}.leader-rank{min-width:24px;color:var(--yellow-deep);font-family:Bebas Neue,sans-serif;font-size:1.1rem}.leader-name{flex:1;color:var(--ink);font-size:.85rem;font-weight:500}.leader-bar-wrap{flex:2;overflow:hidden;height:4px;border-radius:2px;background:var(--grey-light)}.leader-bar{height:100%;border-radius:2px;background:var(--yellow)}.leader-val{min-width:60px;color:var(--grey-dark);font-family:Bebas Neue,sans-serif;font-size:.9rem;text-align:right}.season-breakdown{display:grid;gap:1rem}.season-breakdown-block{display:grid;gap:.4rem}.season-breakdown-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.2rem}.season-breakdown-label,.season-breakdown-value{font-weight:500}.season-breakdown-label{color:var(--ink)}.season-harvest-value{color:var(--yellow-deep)}.season-off-value{color:var(--green)}.progress-track{overflow:hidden;height:6px;border-radius:2px;background:var(--grey-light)}.progress-fill{height:100%;border-radius:2px;background:var(--yellow)}.season-breakdown-meta{color:var(--grey);font-size:.7rem;margin-top:.1rem}.season-insight{margin-top:.5rem;border-radius:2px;background:var(--off-white);padding:1rem;color:var(--grey-dark);line-height:1.7;font-size:.8rem;display:grid;gap:.35rem}.season-insight strong{color:var(--ink)}.export-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;border:1px solid var(--grey-light);background:var(--white);padding:1.2rem 1.5rem}.export-text{color:var(--grey-dark);font-size:.85rem;font-weight:300}.export-text strong{color:var(--ink);font-weight:500}.export-btn{border-radius:2px;background:var(--ink);padding:.7rem 1.5rem;color:var(--white);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s}.export-btn:hover{background:var(--yellow-deep);color:var(--ink)}.toast{position:fixed;right:2rem;bottom:2rem;z-index:999;transform:translateY(100px);opacity:0;border-left:3px solid var(--yellow);border-radius:2px;background:var(--ink);padding:1rem 1.5rem;color:var(--white);font-size:.8rem;font-weight:500;transition:all .3s ease}.toast.show{transform:translateY(0);opacity:1}@media(max-width:900px){.app-header{padding:1rem 1.5rem}.main-layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.content{padding:1.5rem}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-section{grid-template-columns:1fr}}@media(max-width:640px){.app-header{align-items:flex-start;gap:1rem;flex-direction:column}.header-right{gap:.75rem;flex-wrap:wrap}.summary-grid,.form-row{grid-template-columns:1fr}.toolbar-group,.search-bar{width:100%}}
