.cdt-layout{display:grid;grid-template-columns:340px minmax(280px,1fr);gap:var(--sp-4);align-items:start}.cdt-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.cdt-panel input[type=number]{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-md);padding-block:var(--sp-2);padding-inline:var(--sp-3);font:inherit;font-size:var(--fs-md)}.cdt-panel input[type=number]:focus{outline:none;border-color:var(--accent)}.cdt-select{width:100%;margin:0;font-size:var(--fs-sm)}.cdt-hint{font-size:var(--fs-xs);color:var(--muted);margin-block-start:-6px;line-height:1.5}.cdt-group{display:flex;flex-direction:column;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);padding-block:var(--sp-3);padding-inline:var(--sp-3);margin:0}.cdt-group legend{padding-inline:var(--sp-1);font-size:var(--fs-sm);font-weight:700;color:var(--text)}.cdt-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-2)}.cdt-check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.cdt-check input{inline-size:16px;block-size:16px;accent-color:var(--accent)}.cdt-rows{display:flex;flex-direction:column;gap:var(--sp-2)}.cdt-row{display:grid;grid-template-columns:minmax(0,1.5fr) 60px minmax(0,1.6fr) 28px;gap:var(--sp-2);align-items:end}.cdt-row .field span{font-size:var(--fs-xs)}.cdt-price{display:flex;gap:4px}.cdt-price input{flex:1 1 auto;min-inline-size:0}.cdt-cur{flex:0 0 62px;padding-inline:4px}.cdt-remove{block-size:38px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel2);color:var(--muted);font-size:var(--fs-lg);line-height:1}.cdt-remove:disabled{opacity:.35;cursor:not-allowed}.cdt-add{padding:var(--sp-2);font-size:var(--fs-sm)}.cdt-result{display:flex;flex-direction:column;gap:var(--sp-3);min-inline-size:0}.cdt-hero.ok{border-color:var(--hue-green)}.cdt-hero-label{font-size:var(--fs-md);font-weight:700;color:var(--muted)}.cdt-hero.ok .cdt-hero-label{font-size:var(--fs-xl);color:var(--hue-green)}.cdt-hero-value{font-size:34px;font-weight:800;color:var(--accent);line-height:1.2;margin-block-start:4px}.cdt-hero-sub{margin-block-start:6px;font-size:var(--fs-sm);color:var(--text)}.cdt-hero-note{margin-block-start:6px;font-size:var(--fs-xs);color:var(--muted);line-height:1.5}.cdt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.cdt-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding-block:var(--sp-3);padding-inline:var(--sp-4)}.cdt-card.total{border-color:var(--accent)}.cdt-card-label{font-size:var(--fs-xs);color:var(--muted);margin-block-end:6px}.cdt-card-value{font-size:var(--fs-lg);font-weight:800;letter-spacing:-.02em;color:var(--text)}.cdt-items{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding-block:var(--sp-3);padding-inline:var(--sp-4);overflow-x:auto}.cdt-items-title{font-size:var(--fs-sm);font-weight:700;color:var(--muted);margin-block-end:6px}.cdt-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.cdt-table th,.cdt-table td{padding-block:6px;padding-inline:6px;text-align:end;border-block-start:1px solid var(--line);white-space:nowrap}.cdt-table th:first-child,.cdt-table td:first-child{text-align:start}.cdt-table th{color:var(--muted);font-weight:600;border-block-start:0}.cdt-table td small{display:block;color:var(--muted);font-size:var(--fs-xs)}.cdt-note{margin:0;font-size:var(--fs-sm);color:var(--muted);line-height:1.5}.cdt-note.warn{color:var(--text);padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));border-radius:var(--r-md)}.cdt-footnote{margin:0;font-size:var(--fs-xs);color:var(--muted);line-height:1.5}.cdt-official{align-self:flex-start;font-size:var(--fs-sm);font-weight:600;color:var(--accent);text-decoration:none}.cdt-official:hover{text-decoration:underline}@media(max-width:760px){.cdt-layout{grid-template-columns:1fr}}@media(max-width:420px){.cdt-row{grid-template-columns:minmax(0,1fr) 56px 28px}.cdt-row-cat{grid-column:1 / -1}}
