:root{font-family:"Inter",ui-sans-serif,system-ui,sans-serif;color-scheme:light;--line:#e4e4e7;--ink:#18181b;--muted:#71717a;--primary:#0f766e}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}svg{width:1rem;height:1rem;stroke-width:2}
.back-link,.back-link:hover{border-color:#fde68a!important;background:#fffbeb!important;color:#b45309!important}
.back-link{display:inline-flex;min-height:2.25rem;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;padding:0 .7rem;color:#3f3f46;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s}.back-link:hover{background:#f4f4f5}.module-mark{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;border-radius:.7rem;background:#ecfdf5;color:#047857}.module-mark svg{width:1.2rem;height:1.2rem}.header-badges{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.context-badge,.date-badge{display:inline-flex;min-height:2.1rem;align-items:center;border:1px solid var(--line);border-radius:.5rem;background:#fafafa;padding:0 .7rem;color:#52525b;font-size:.72rem;font-weight:600}.context-badge{background:#ecfdf5;border-color:#d1fae5;color:#047857}
.metric-card,.entry-panel,.month-section,.records-section{border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.035)}.metric-card{min-height:165px;padding:1.15rem}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.metric-icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.65rem;background:#f4f4f5;color:#52525b}.metric-label{color:#71717a;font-size:.68rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.metric{display:grid;gap:.45rem;margin-top:1.4rem}.metric strong{color:#18181b;font-size:1.8rem;font-weight:600;letter-spacing:-.035em;line-height:1}.metric strong small{font-size:.8rem;font-weight:600;letter-spacing:0;color:#71717a}.metric>small{color:#a1a1aa;font-size:.7rem}.metric-card-primary .metric-icon{background:#fef2f2;color:#dc2626}.metric-card-secondary .metric-icon{background:#fff7ed;color:#ea580c}.metric-card-balloon .metric-icon{background:#faf5ff;color:#7e22ce}
.entry-panel,.month-section,.records-section{padding:1.25rem}.panel-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-heading h2,.section-heading h2{margin:.2rem 0 0;color:#18181b;font-size:1.12rem;font-weight:600;letter-spacing:-.02em}.panel-heading p,.section-heading p{margin:.3rem 0 0;color:#71717a;font-size:.78rem}.panel-kicker{color:#0f766e;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.panel-heading-icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.65rem;background:#18181b;color:#fff}
.loss-form{display:grid;grid-template-columns:1.15fr 1fr 1.25fr .8fr 1.1fr auto;gap:.75rem;align-items:end;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}label{display:grid;gap:.42rem;color:#52525b;font-size:.72rem;font-weight:600}label>span{text-transform:uppercase;letter-spacing:.06em}input,select{width:100%;min-height:2.55rem;border:1px solid #d4d4d8;border-radius:.5rem;background:#fff;padding:0 .75rem;color:#18181b;font-size:.82rem;outline:none}input:focus,select:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}.primary-button,.confirm-action-buttons button{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:.45rem;border:1px solid #18181b;border-radius:.5rem;background:#18181b;padding:0 .9rem;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}.primary-button:hover,.confirm-action-buttons button:hover{background:#27272a}.primary-button:active,.confirm-action-buttons button:active{transform:translateY(1px)}
.month-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:.75rem}.annual-chart-button{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:.45rem;border:1px solid #99f6e4;border-radius:.5rem;background:#f0fdfa;padding:0 .85rem;color:#0f766e;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}.annual-chart-button:hover{border-color:#5eead4;background:#ccfbf1}.annual-chart-button:active{transform:translateY(1px)}.month-filter,.store-filter,.year-filter{min-width:205px}.month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:1.25rem}.month-box,.empty-month{border:1px solid var(--line);border-radius:.75rem;background:#fafafa;padding:1rem}.month-box{display:grid;gap:.7rem}.month-box>strong{font-size:.9rem;font-weight:600;text-transform:capitalize}.month-box div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);padding-top:.7rem}.month-box span,.empty-month{color:#71717a;font-size:.7rem;font-weight:600;text-transform:uppercase}.month-box b{font-size:.82rem;font-weight:600}.empty-month{text-transform:none}
.table-shell{margin-top:1.25rem;overflow:auto;border:1px solid var(--line);border-radius:.75rem}table{width:100%;min-width:920px;border-collapse:collapse}th,td{padding:.8rem .9rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#fafafa;color:#71717a;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}td{color:#3f3f46;font-size:.78rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fafafa}button.delete{min-height:2rem;border:1px solid #fecaca;border-radius:.45rem;background:#fff;padding:0 .65rem;color:#dc2626;font-size:.72rem;font-weight:600;cursor:pointer}.empty-state{padding:2rem;color:#71717a;text-align:center}
dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(24,24,27,.45);backdrop-filter:blur(3px)}.confirm-action-dialog{width:min(420px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1.5rem;box-shadow:0 28px 70px rgba(0,0,0,.2)}.dialog-icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.7rem;background:#f4f4f5;color:#3f3f46}.confirm-action-dialog strong{display:block;margin-top:1rem;font-size:1.1rem;font-weight:600}.confirm-action-dialog p{margin:.4rem 0 0;color:#71717a;font-size:.85rem;line-height:1.5}.confirm-action-buttons{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}.confirm-action-buttons button.quiet{border-color:var(--line);background:#fff;color:#3f3f46}.confirm-action-buttons button.quiet:hover{background:#f4f4f5}
.annual-chart-dialog{width:min(920px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:1rem;background:#fff;padding:0;box-shadow:0 28px 70px rgba(0,0,0,.2)}.annual-chart-modal{padding:1.25rem}.annual-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.annual-chart-header h3{margin:.2rem 0 0;color:#18181b;font-size:1.12rem;font-weight:600;letter-spacing:-.02em}.annual-chart-header p{margin:.3rem 0 0;color:#71717a;font-size:.78rem}.icon-button{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:#3f3f46;cursor:pointer}.icon-button:hover{background:#f4f4f5}.annual-chart-body{margin-top:1.25rem}.annual-chart{position:relative;display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:.65rem;height:330px;border:1px solid var(--line);border-radius:.75rem;background:linear-gradient(to top,#f4f4f5 1px,transparent 1px) 0 0/100% 25%,#fff;padding:1.25rem 1rem 1rem}.annual-average-line{position:absolute;right:1rem;left:1rem;border-top:2px solid #0f766e;z-index:2}.annual-average-line span{position:absolute;right:0;bottom:.25rem;border:1px solid #99f6e4;border-radius:.45rem;background:#f0fdfa;padding:.2rem .45rem;color:#0f766e;font-size:.68rem;font-weight:700}.annual-bar-item{display:grid;grid-template-rows:1fr auto auto;gap:.35rem;min-width:0;text-align:center}.annual-bar-track{position:relative;align-self:stretch;border-radius:.55rem;background:#f4f4f5;overflow:hidden}.annual-bar{position:absolute;right:.25rem;bottom:0;left:.25rem;border-radius:.45rem .45rem 0 0;background:#ef4444;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}.annual-bar-item strong{color:#18181b;font-size:.68rem;font-weight:700}.annual-bar-item>span{color:#71717a;font-size:.64rem;font-weight:700}
@media(max-width:1100px){.loss-form{grid-template-columns:repeat(3,1fr)}.primary-button{width:100%}.annual-chart{grid-template-columns:repeat(12,minmax(34px,1fr));gap:.45rem}}@media(max-width:720px){.header-badges{align-items:flex-end;flex-direction:column}.date-badge{display:none}.loss-form{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.month-toolbar{align-items:stretch;flex-direction:column-reverse}.annual-chart-button,.month-filter,.store-filter,.year-filter{width:100%;min-width:0}.annual-chart-body{overflow-x:auto}.annual-chart{min-width:680px}.entry-panel,.month-section,.records-section{padding:1rem}.table-shell{overflow:visible;border:0}.table-shell table,.table-shell thead,.table-shell tbody,.table-shell tr,.table-shell th,.table-shell td{display:block;width:100%;min-width:0}.table-shell thead{display:none}.table-shell tbody{display:grid;gap:.75rem}.table-shell tr{overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:#fff}.table-shell td{display:grid;grid-template-columns:105px 1fr;gap:.6rem;border-bottom:1px solid var(--line);padding:.7rem .8rem}.table-shell td::before{content:attr(data-label);color:#a1a1aa;font-size:.64rem;font-weight:600;text-transform:uppercase}.table-shell td:last-child{border-bottom:0}.empty-state{display:block!important}.empty-state::before{content:none!important}}@media(max-width:480px){.context-badge{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-link span{display:none}.annual-chart-dialog{width:calc(100vw - 1rem)}.annual-chart-modal{padding:1rem}.confirm-action-buttons{flex-direction:column-reverse}.confirm-action-buttons button{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
