.ccc-app{height:100%;min-height:0;display:flex}.ccc-app__input{resize:horizontal;border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;width:340px;min-width:280px;max-width:50vw;display:flex;overflow:hidden}.ccc-app__result{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ccc-panel{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 12px 16px;display:flex;overflow:auto}.ccc-panel__row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ccc-panel__spacer{flex:1}.ccc-group__title{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 0;font-size:11px;font-weight:600}.ccc-field{flex-direction:column;gap:4px;display:flex}.ccc-field__label{color:var(--text);font-size:12.5px}.ccc-field__hint{color:var(--text-dim);margin:0;font-size:11px;line-height:1.5}.ccc-field__with-unit{align-items:center;gap:7px;display:flex}.ccc-field__unit{color:var(--text-dim);font-size:12px}.ccc-input{width:100%;min-width:0;height:32px;color:var(--text);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:6px;padding:0 10px;font-family:JetBrains Mono,Cascadia Code,ui-monospace,Consolas,monospace;font-size:13px}.ccc-input:focus{border-color:var(--accent);outline:none}.ccc-presets{flex-wrap:wrap;gap:5px;display:flex}.ccc-preset{height:26px;padding:0 10px;font-size:11.5px}.ccc-preset.is-active{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent)}.ccc-text-btn{white-space:nowrap;align-items:center;gap:5px;height:30px;padding:0 11px;font-size:12.5px;display:inline-flex}.ccc-text-btn svg{flex-shrink:0}.ccc-text-btn.is-danger:hover:not(:disabled){color:var(--danger-text);background:var(--danger-bg);border-color:var(--error)}.ccc-result{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 20px 22px;display:flex;overflow:auto}.ccc-result--center{text-align:center;justify-content:center;align-items:center}.ccc-result__toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ccc-empty__title{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:600}.ccc-empty__body{max-width:400px;color:var(--text-dim);margin:0;font-size:13px}.ccc-headline{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:10px;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px 12px;padding:12px 16px;display:grid}.ccc-headline--negative,.ccc-headline--short{border-left-color:var(--ok)}.ccc-headline--moderate{border-left-color:var(--info)}.ccc-headline--long{border-left-color:var(--warn)}.ccc-headline--veryLong{border-left-color:var(--error)}.ccc-headline__label{color:var(--text-dim);font-size:12px}.ccc-headline__value{color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.ccc-headline__band{color:var(--text-dim);font-size:12.5px;font-weight:600}.ccc-headline__body{color:var(--text-dim);grid-column:1/-1;margin:2px 0 0;font-size:12.5px;line-height:1.6}.ccc-tl-wrap{overflow-x:auto}.ccc-tl{width:100%;min-width:420px;height:auto}.ccc-tl__bar{stroke-width:1.5px;fill-opacity:.22}.ccc-tl__bar--dio{fill:var(--info);stroke:var(--info)}.ccc-tl__bar--dso{fill:var(--accent);stroke:var(--accent)}.ccc-tl__bar--dpo{fill:var(--ok);stroke:var(--ok)}.ccc-tl__bar--ccc{fill:var(--warn);stroke:var(--warn)}.ccc-tl__bar--surplus{fill:var(--ok);stroke:var(--ok);stroke-dasharray:4 3}.ccc-tl__label{fill:var(--text);text-anchor:middle;font-size:12px;font-weight:600}.ccc-tl__value{fill:var(--text-dim);text-anchor:middle;font-size:11px}.ccc-tl__row-label{fill:var(--text-dim);letter-spacing:.04em;font-size:11px}.ccc-tl__guide{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.ccc-tl__axis{stroke:var(--border);stroke-width:1px}.ccc-tl__tick{fill:var(--text-dim);font-size:11px}.ccc-tl__tick--end{text-anchor:end}.ccc-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.ccc-metric{background:var(--bg-elevated);border:1px solid var(--border);border-top:2px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.ccc-metric--dio{border-top-color:var(--info)}.ccc-metric--dso{border-top-color:var(--accent)}.ccc-metric--dpo{border-top-color:var(--ok)}.ccc-metric__label{color:var(--text-dim);font-size:11.5px}.ccc-metric__value{color:var(--text);font-size:17px;font-weight:600}.ccc-metric__hint{color:var(--text-dim);font-size:11px;line-height:1.5}.ccc-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.ccc-card__title{color:var(--text);margin:0;font-size:13px;font-weight:600}.ccc-card__lede{color:var(--text-dim);margin:0;font-size:12px;line-height:1.6}.ccc-card__note{color:var(--text-dim);margin:0;font-size:11px;line-height:1.5}.ccc-lever-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ccc-lever-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;display:flex}.ccc-lever-list li:last-child{border-bottom:none;padding-bottom:0}.ccc-lever__name{color:var(--text-dim);font-size:12px;line-height:1.5}.ccc-lever__value{color:var(--text);flex:none;font-size:14px;font-weight:600}.ccc-patterns{border-collapse:collapse;width:100%;font-size:12px}.ccc-patterns td{color:var(--text-dim);border-bottom:1px solid var(--border);padding:6px 8px 6px 0}.ccc-patterns tr:last-child td{border-bottom:none}.ccc-patterns tr.is-match td{color:var(--text);font-weight:600}.ccc-patterns__range{text-align:right;white-space:nowrap}.ccc-note{border:1px solid #0000;border-radius:6px;margin:0;padding:6px 9px;font-size:12.5px;line-height:1.6}.ccc-note--error{color:var(--error);background:var(--error-bg);border-color:var(--error-border)}.ccc-note--warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.ccc-note--info{color:var(--info);background:var(--info-bg);border-color:var(--info-border)}@media (width<=900px){.ccc-app{flex-direction:column}.ccc-app__input{resize:none;border-right:none;border-bottom:1px solid var(--border);flex:1;width:auto;min-width:0;max-width:none;min-height:240px}.ccc-app__result{flex:none;min-height:260px}.ccc-tl{min-width:380px}}
