@charset "utf-8";
:root{--ink:#282c25;--muted:#72766b;--paper:#f7f7f0;--yellow:#f6d74e;--line:#e3e5da;--white:#fff;--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI","Malgun Gothic",Arial,sans-serif;font-size:15px;line-height:1.6}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9b7d04;outline-offset:4px}
input[type=checkbox]{width:18px;height:18px;accent-color:#a98a00;cursor:pointer;flex-shrink:0;margin:0}
button{border:0}
svg{display:block}
[hidden]{display:none!important}
.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{z-index:100;width:auto;height:auto;clip:auto;margin:10px;padding:12px;background:#fff}
.topbar{max-width:1180px;margin:auto;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:.05em;line-height:1.2}
.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--yellow);border-radius:11px;font-size:22px;letter-spacing:0}
.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:5px;font-weight:600;color:var(--muted)}
.prototype-badge{font-size:11px;border:1px solid #d9dccf;border-radius:30px;padding:5px 11px;color:#6a705f}
main{max-width:1120px;margin:0 auto;padding:0 0 40px}
.hero{padding:50px 0 32px;max-width:750px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#737861}
h1,h2,p{margin:0}
h1{font-size:43px;letter-spacing:-.045em;line-height:1.25;margin:12px 0}
h1 small{font-size:11px;font-weight:500;color:#757969;letter-spacing:0;display:inline-block;vertical-align:middle;border:1px solid #d7dbce;border-radius:20px;padding:3px 8px}
.hero-line{font-size:23px;font-weight:650;letter-spacing:-.04em;margin-top:18px}
.intro{margin-top:9px;color:#777d70;font-size:14px;line-height:1.8}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.summary-card{border-radius:var(--radius);padding:27px 28px;min-width:0}
.total-card{background:var(--yellow)}
.breath-card{background:#fff;border:1px solid #e2e5d7}
.summary-label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}
.summary-label svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.summary-number{display:block;font-size:46px;line-height:1.3;letter-spacing:-.035em;font-weight:750;margin:16px 0 18px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.summary-number.long-number{font-size:32px}
.summary-bottom{display:flex;justify-content:space-between;font-size:12px;color:#615625}
.breath-card p{font-size:12px;color:var(--muted)}
.calculation-note{font-size:11px;line-height:1.8;color:#74796b;margin:14px 4px 32px;max-width:990px}
.warning{padding:12px 16px;border:1px solid #dbbdaa;background:#fff0e8;color:#8a3a21;border-radius:12px;font-size:13px;margin-bottom:22px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:26px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
h2{font-size:19px;letter-spacing:-.025em}
.section-heading h2{margin-top:4px}
.pill{border:1px solid var(--line);background:#fafbf6;border-radius:25px;padding:4px 9px;color:#747a6c;font-size:10px;white-space:nowrap}
.estimate-note{margin-top:15px;color:#7b806f;font-size:11px;line-height:1.8}
.estimate-note b{color:#5c624f;font-size:12px}
.inventory-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:18px 0}
.master-select,.category-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;cursor:pointer}
.text-button{background:none;padding:4px 0;color:#717969;font-size:11px;line-height:1.5;text-decoration:none}
.text-button:hover{text-decoration:underline;color:#282c25}
.inventory-tools .text-button:nth-last-child(2){margin-left:auto}
.category-card{border:1px solid var(--line);border-radius:17px;background:#fff;margin-bottom:12px;overflow:hidden}
.category-card summary{list-style:none;display:flex;align-items:center;gap:11px;cursor:pointer;padding:17px 18px}
.category-card summary::-webkit-details-marker{display:none}
.category-icon{background:#f5f6ec;border-radius:11px;width:38px;height:38px;display:grid;place-items:center;font-size:23px;flex-shrink:0;font-family:"Segoe UI Emoji","Segoe UI",sans-serif}
.category-name{min-width:0;flex:1}
.category-name strong{font-size:14px;display:block;line-height:1.4}
.category-name small{font-size:10px;color:#909585;display:block;margin-top:3px}
.category-total{font-size:12px;letter-spacing:-.02em;text-align:right;max-width:40%;overflow-wrap:anywhere}
.chevron{width:7px;height:7px;border-right:1.5px solid #8b937d;border-bottom:1.5px solid #8b937d;transform:rotate(45deg);margin:0 3px 4px 5px;flex-shrink:0}
.category-card[open] .chevron{transform:rotate(225deg);margin-top:6px}
.category-toolbar{margin:0 18px;padding:9px 0;border-top:1px solid #eff0e8;border-bottom:1px solid #eff0e8;display:flex;justify-content:space-between}
.category-note{font-size:10px;color:#8b9181;padding:9px 18px 1px}
.item-list{padding:0 10px 9px}
.item-row{display:grid;grid-template-columns:20px 34px minmax(0,1fr) 155px;align-items:center;gap:10px;padding:13px 8px;border-radius:9px;border-bottom:1px solid #f0f1ea;min-height:73px;transition:background .15s}
.item-row:last-child{border-bottom:0}
.item-row.selected{background:#faf8ea}
.item-icon{font-size:24px;text-align:center;font-family:"Segoe UI Emoji","Segoe UI",sans-serif}
.item-name{cursor:pointer;line-height:1.5;min-width:0}
.item-name strong{font-size:12px;font-weight:600}
.item-name small{display:block;font-size:9px;color:#929989}
.item-name .edited{color:#887010}
.price-field{min-width:0}
.price-field>div{display:flex;align-items:center;gap:5px;background:#fafbf7;border:1px solid #e0e4d8;border-radius:9px;padding:6px 8px}
.price-field input{background:transparent;border:0;min-width:0;width:100%;text-align:right;outline-offset:5px;padding:0;font-size:13px;font-variant-numeric:tabular-nums;line-height:1.5}
.price-field input.large-input{font-size:11px}
.price-field:has(input[aria-invalid=true])>div{border-color:#c57957;background:#fff4ef}
.price-field>div>span{font-size:10px;color:#8b927e}
.price-error{display:block;text-align:right;font-size:9px;color:#a44727;margin-top:4px}
.result-aside{display:grid;gap:17px;position:sticky;top:20px}
.chart-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 23px}
.chart-card h2{font-size:18px}
.donut-wrap{width:180px;height:180px;position:relative;margin:18px auto 20px}
.donut{width:100%;height:100%}
.donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}
.donut-center>span{font-size:10px;color:#8a9080}
.donut-center strong{font-size:34px;font-variant-numeric:tabular-nums;line-height:1.5}
.donut-center strong small{font-size:11px;font-weight:500;margin-left:4px}
.legend{margin:0;padding:0;list-style:none}
.legend li{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #f0f1e9}
.legend li:last-child{border-bottom:0}
.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.legend li>span:nth-child(2){flex:1;min-width:0}
.legend li b{font-size:11px;font-weight:600;display:block}
.legend li small{display:block;color:#8e9484;font-size:9px}
.legend li>div{text-align:right;min-width:0;max-width:57%}
.legend li strong{font-size:11px;overflow-wrap:anywhere;display:block}
.empty-state{text-align:center;color:#838b75;font-size:12px;line-height:1.8;margin:0 0 7px}
.empty-state b{display:block;color:#666f59;font-weight:600}
.empty-state span{font-size:11px;display:block;margin-top:8px}
.zero-note{font-size:10px;color:#8a907f;line-height:1.6;margin-top:12px}
.report-card{border:1px solid #dce1d0;background:#eff1e4;border-radius:var(--radius);padding:23px}
.report-icon{width:32px;height:32px;background:#e2e8ce;border-radius:9px;display:grid;place-items:center;font-size:22px;margin-bottom:13px}
.report-card h2{font-size:18px}
.report-card p{font-size:12px;color:#818873;margin:8px 0 18px}
.primary-button{background:#303829;color:#fff;padding:11px 16px;border-radius:10px;font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.5}
.primary-button:hover:not(:disabled){background:#45523a}
.report-card .primary-button{width:100%}
.report-card small{display:block;text-align:center;color:#919981;font-size:9px;margin-top:10px}
.privacy-note{font-size:10px;display:flex;gap:8px;align-items:flex-start;color:#8b927f;padding:0 8px;line-height:1.8}
.privacy-note svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0;margin-top:3px}
.howto{border-top:1px solid var(--line);margin-top:36px;padding:25px 0 10px}
.howto h2{font-size:16px}
.howto>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:17px}
.howto p{font-size:11px;color:#8a917e}
.howto b{display:block;color:#69735c;font-weight:650;margin-bottom:8px}
.howto span{display:block;line-height:1.9}
.page-footer{max-width:1120px;margin:0 auto;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:#a2a798;font-size:10px}
.page-footer b{color:#707b60;font-size:11px}.page-footer small{font-size:9px;font-weight:400}
dialog{border:1px solid var(--line);border-radius:18px;background:#f5f5ee;width:min(980px,calc(100vw - 30px));max-height:92vh;padding:0;color:var(--ink)}
dialog::backdrop{background:rgba(34,43,29,.45);backdrop-filter:blur(3px)}
.dialog-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f5f5ee;border-bottom:1px solid var(--line);padding:17px 24px;z-index:2}
.dialog-toolbar h2{font-size:15px}
.dialog-toolbar>div{display:flex;gap:8px}
.secondary-button{background:#e5e9da;border-radius:10px;padding:10px 14px;font-size:12px}
.print-tip{font-size:10px;color:#7b856c;margin:15px 24px}
.report-paper{background:white;margin:16px 24px 24px;padding:35px;color:#293025;font-size:12px}
.report-header{display:flex;justify-content:space-between;border-bottom:2px solid #f1d34b;padding-bottom:12px;font-size:9px;letter-spacing:.05em}
.report-header b{font-size:10px}
.report-paper h1{font-size:27px;margin:20px 0 8px}
.report-date{font-size:10px;color:#7f8876}
.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0 14px}
.report-summary>div{padding:16px;background:#f8f4df;border:1px solid #e6dec0;border-radius:8px;min-width:0}
.report-summary span{font-size:10px;display:block}
.report-summary strong{display:block;font-size:25px;line-height:1.3;margin-top:6px;overflow-wrap:anywhere}
.report-method{font-size:9px;line-height:1.8;color:#808b75}
.report-chart{display:grid;grid-template-columns:140px 1fr;gap:23px;align-items:center;margin:18px 0;padding:12px 0;border-top:1px solid #e5e8dd;border-bottom:1px solid #e5e8dd;break-inside:avoid}
.report-chart .donut-wrap{width:135px;height:135px;margin:0}
.report-chart .donut-center strong{font-size:26px}
.report-chart h2{font-size:12px}
.report-chart .legend{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:6px}
.report-chart .legend li{padding:5px 0}
.report-chart .legend li b,.report-chart .legend li strong{font-size:9px}
.report-chart .legend li small{font-size:8px}
.report-chart .legend-dot{width:7px;height:7px}
.report-chart .empty-state{text-align:left}
.report-estimates{font-size:9px;line-height:1.8;color:#808b75;margin:8px 0 19px}
.selected-title{font-size:13px!important;margin:16px 0 9px;break-after:avoid}
.selected-title span{font-size:10px;color:#7f8876;font-weight:400;margin-left:8px}
.report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}
.report-table thead{display:table-header-group}
.report-table th{background:#f1f2e9;font-size:9px;text-align:left;color:#717c62}
.report-table th,.report-table td{padding:8px;border-bottom:1px solid #e9ebdf;vertical-align:middle;overflow-wrap:anywhere}
.report-table tr{break-inside:avoid;page-break-inside:avoid}
.report-table .numeric{text-align:right;font-variant-numeric:tabular-nums}
.report-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #e0d494;margin-top:8px;padding:14px 8px;gap:15px;break-inside:avoid;font-size:11px}
.report-total strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.report-empty{padding:15px;background:#f9faf4;font-size:11px}
.report-footer{font-size:9px;color:#929b86;border-top:1px solid #e6eadc;margin-top:12px;padding-top:12px;break-inside:avoid}
.print-only{display:none}
@media(max-width:1190px){main,.page-footer{margin-left:30px;margin-right:30px}}
@media(max-width:900px){.workspace-grid{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.summary-number{font-size:36px}.summary-number.long-number{font-size:27px}.item-row{grid-template-columns:18px 30px minmax(0,1fr) 128px;gap:8px}.chart-card,.report-card{padding:20px}}
@media(max-width:760px){.workspace-grid{grid-template-columns:1fr}.result-aside{position:static;grid-template-columns:1fr 1fr;align-items:start}.privacy-note{grid-column:1/-1}.howto>div{gap:20px}.summary-number{font-size:31px}.summary-number.long-number{font-size:24px}.report-chart{grid-template-columns:120px 1fr}.report-chart .donut-wrap{width:115px;height:115px}.report-chart .legend{grid-template-columns:1fr}.report-paper{padding:25px}}
@media(max-width:540px){.topbar{padding:18px 20px}.brand{font-size:12px}.brand-mark{width:30px;height:30px;font-size:19px}.prototype-badge{font-size:9px;padding:4px 9px}main,.page-footer{margin-left:18px;margin-right:18px}.hero{padding:33px 2px 24px}.eyebrow{font-size:8px;letter-spacing:.11em}h1{font-size:31px;margin:10px 0}h1 small{font-size:9px;padding:2px 6px}.hero-line{font-size:20px;margin-top:14px}.intro{font-size:12px;line-height:1.9}.desktop-break{display:none}.summary-grid{grid-template-columns:1fr;gap:12px}.summary-card{padding:22px 22px;border-radius:19px}.summary-number{font-size:38px;margin:13px 0}.summary-number.long-number{font-size:28px}.summary-label{font-size:12px}.summary-bottom,.breath-card p{font-size:10px}.breath-card{padding:20px 22px}.breath-card .summary-number{font-size:34px;margin:8px 0}.breath-card .summary-number.long-number{font-size:26px}.calculation-note{font-size:9px;margin:13px 2px 27px}.section-heading h2{font-size:18px}.estimate-note{font-size:10px}.estimate-note b{font-size:11px}.pill{font-size:9px;padding:3px 7px}.inventory-tools{gap:11px}.master-select{font-size:11px}.inventory-tools .text-button{font-size:10px}.category-card summary{padding:15px 13px;gap:8px}.category-icon{width:33px;height:33px;font-size:21px}.category-name strong{font-size:12px}.category-total{font-size:10px}.category-name small{font-size:9px}.category-toolbar{margin:0 13px}.category-toolbar label{font-size:11px}.category-note{padding-left:13px;padding-right:13px;font-size:9px}.item-list{padding:0 6px 7px}.item-row{grid-template-columns:18px 28px minmax(0,1fr) 114px;padding:13px 6px;gap:7px;min-height:73px}.item-icon{font-size:21px}.item-name strong{font-size:11px}.item-name small{font-size:8px}.price-field>div{padding:6px;gap:3px}.price-field input{font-size:12px}.price-field input.large-input{font-size:10px}.price-field>div>span{font-size:9px}.price-error{font-size:8px}.result-aside{grid-template-columns:1fr;gap:13px;margin-top:12px}.chart-card{padding:23px}.report-card{padding:23px}.chart-card .legend li b,.chart-card .legend li strong{font-size:12px}.privacy-note{margin:0 3px}.howto>div{grid-template-columns:1fr;gap:18px}.howto{margin-top:29px}.howto p{font-size:11px}.howto span{line-height:1.8}.page-footer{flex-direction:column;padding:22px 0;font-size:9px}.dialog-toolbar{padding:12px 14px;flex-wrap:wrap;gap:8px}.dialog-toolbar h2{font-size:13px}.dialog-toolbar .primary-button{padding:8px 12px;font-size:11px}.secondary-button{padding:8px 12px;font-size:11px}.print-tip{margin:12px 14px;font-size:9px}.report-paper{margin:12px 8px 14px;padding:17px 12px}.report-header{font-size:7px}.report-header b{font-size:8px}.report-paper h1{font-size:22px}.report-date{font-size:8px}.report-summary{gap:8px}.report-summary>div{padding:11px 8px}.report-summary strong{font-size:18px}.report-summary span{font-size:9px}.report-chart{grid-template-columns:90px 1fr;gap:10px}.report-chart .donut-wrap{width:90px;height:90px}.report-chart .donut-center strong{font-size:22px}.report-chart .donut-center>span{font-size:7px}.report-chart .donut-center small{font-size:8px}.report-chart .legend{grid-template-columns:1fr}.report-chart .legend li{gap:5px}.report-chart .legend li b,.report-chart .legend li strong{font-size:8px}.report-table{font-size:8px}.report-table th,.report-table td{padding:6px 3px}.report-total{font-size:9px;gap:8px}}
@page{size:A4;margin:14mm 13mm 16mm}
@media print{
  html,body{background:#fff;margin:0;padding:0;font-size:10pt;overflow:visible!important}
  body>.screen-app,body>dialog,body>noscript,.skip-link{display:none!important}
  .print-only{display:block!important}
  .report-paper{margin:0;padding:0;font-size:9pt}
  .report-header{font-size:8pt}.report-header b{font-size:8pt}
  .report-paper h1{font-size:23pt;margin:14pt 0 6pt}.report-paper h1 small{font-size:8pt}
  .report-date{font-size:8pt}
  .report-summary{margin:14pt 0 9pt;gap:12pt;grid-template-columns:1fr 1fr}
  .report-summary>div{padding:11pt;border-radius:5pt}
  .report-summary strong{font-size:21pt}.report-summary span{font-size:8pt}
  .report-method,.report-estimates{font-size:7.5pt;line-height:1.6}
  .report-chart{grid-template-columns:100pt 1fr;gap:16pt;margin:12pt 0;padding:9pt 0}
  .report-chart .donut-wrap{width:100pt;height:100pt}
  .report-chart .donut-center strong{font-size:23pt}.report-chart .donut-center>span{font-size:7pt}
  .report-chart .legend{grid-template-columns:1fr 1fr;gap:0 12pt}
  .report-chart h2{font-size:9pt}
  .report-chart .legend li{padding:4pt 0}
  .report-chart .legend li b,.report-chart .legend li strong{font-size:7.5pt}
  .report-chart .legend li small{font-size:6.5pt}
  .report-chart .empty-state{font-size:8pt}
  .report-estimates{margin:7pt 0 13pt}
  .selected-title{font-size:10pt!important;margin:10pt 0 7pt}
  .report-table{font-size:8pt}
  .report-table th{font-size:7.5pt}.report-table th,.report-table td{padding:5pt 5pt}
  .report-total{font-size:9pt;margin-top:5pt;padding:10pt 5pt}
  .report-footer{font-size:7pt;margin-top:9pt;padding-top:9pt}
  .report-continuation{break-before:page;page-break-before:always}
  .report-continuation .report-header{font-size:7pt;line-height:1.3;padding-bottom:6pt;margin-bottom:8pt}
  .report-closing{break-inside:avoid;page-break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important}
}
