/* Kalkulator advokatske tarife — u stilu kalkulatora rokova (deadline-tool.css). */
.tt-section{padding-top:30px;scroll-margin-top:100px}
.tt-shell{position:relative;padding:clamp(20px,3.6vw,40px);border:1px solid rgba(240,200,75,.55);border-radius:30px;background:linear-gradient(145deg,rgba(240,200,75,.07),rgba(12,17,27,.98) 34%,#0b1019);box-shadow:0 30px 100px rgba(0,0,0,.48),0 0 0 1px rgba(240,200,75,.06) inset}
.tt-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:18px;align-items:start}
.tt-form,.tt-result{min-width:0;padding:clamp(18px,2.6vw,28px);border:1px solid rgba(255,255,255,.095);border-radius:22px;background:rgba(7,10,16,.72)}
.tt-form{display:grid;gap:16px}
.tt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.tt-field{display:grid;gap:7px;min-width:0}
.tt-field[hidden],.tt-check[hidden]{display:none!important}
.tt-row:not(:has(>:not([hidden]))){display:none}
.tt-field.wide{grid-column:1/-1}
.tt-field label{color:#f3ead2;font-size:.78rem;font-weight:900;letter-spacing:.035em}
.tt-field input,.tt-field select{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid rgba(240,200,75,.22);border-radius:12px;background:#111827;color:#f7f2e8;font:inherit;font-size:.92rem;color-scheme:dark;text-overflow:ellipsis}
.tt-field input:focus,.tt-field select:focus{outline:2px solid rgba(240,200,75,.24);outline-offset:2px;border-color:var(--gold)}
.tt-group-title{margin:4px 0 -4px;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.tt-checks{display:flex;flex-wrap:wrap;gap:10px 18px}
.tt-check{display:inline-flex;align-items:center;gap:8px;color:#c3c7cf;font-size:.84rem;cursor:pointer}
.tt-check input{width:18px;height:18px;accent-color:var(--gold)}
.tt-result{position:sticky;top:100px;background:radial-gradient(circle at 82% 12%,rgba(240,200,75,.1),transparent 38%),rgba(7,10,16,.78)}
.tt-kicker{display:block;color:#8e95a1;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.tt-amount{display:block;margin:8px 0 4px;color:var(--gold);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.03em;overflow-wrap:anywhere}
.tt-meta{margin:0 0 18px;color:#b3b8c1;font-size:.86rem}
.tt-message{margin:6px 0 0;padding:14px 16px;border:1px dashed rgba(240,200,75,.3);border-radius:14px;background:rgba(240,200,75,.04);color:#c9c2ae;font-size:.9rem}
.tt-steps{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.tt-steps li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding:9px 11px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.02);color:#c6cad1;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}
.tt-cite{min-width:86px;padding:2px 7px;border-radius:6px;background:rgba(240,200,75,.1);color:var(--gold);font-size:.7rem;font-weight:900;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.tt-cite.empty{background:transparent}
.tt-interpret{margin:16px 0 0;padding:12px 14px;border:1px solid rgba(91,140,255,.25);border-radius:14px;background:rgba(91,140,255,.05)}
.tt-interpret legend{padding:0 6px;color:#b9caff;font-size:.72rem;font-weight:900;letter-spacing:.06em}
.tt-interpret label{display:flex;gap:9px;align-items:flex-start;margin:6px 0;color:#d6d9df;font-size:.8rem;cursor:pointer}
.tt-interpret label input{margin-top:3px;accent-color:var(--blue)}
.tt-interpret small{display:block;color:#8d93a0;font-size:.72rem}
.tt-notes{margin:14px 0 0;padding-left:18px;color:#f3c77a;font-size:.78rem;line-height:1.55}
.tt-version{margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);color:#7f8692;font-size:.72rem}
.tt-office-hint{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:16px;padding:14px 16px;border:1px solid rgba(75,221,145,.24);border-radius:14px;background:rgba(75,221,145,.045);color:#b4bac3;font-size:.8rem}
.tt-office-hint a{flex:0 0 auto;color:var(--green);font-weight:900}
@media(max-width:900px){.tt-grid{grid-template-columns:1fr}.tt-result{position:static}}
@media(max-width:560px){.tt-shell{padding:14px;border-radius:22px}.tt-row{grid-template-columns:1fr}.tt-steps li{grid-template-columns:1fr;gap:5px}.tt-cite{justify-self:start;min-width:0}.tt-office-hint{flex-direction:column;align-items:flex-start}}
