.tl-wrap{ max-width:1080px; }
.tl-lead{ margin:10px 0 0; font-size:0.875rem; line-height:1.9; color:var(--c-text); }
.tl-badge{ display:inline-block; font-size:0.6875rem; font-weight:700; padding:3px 10px; border-radius:999px; background:var(--c-primary-bg); color:var(--c-primary-dark); margin-bottom:8px; }
.tl-badge.is-company{ background:#FFF1E2; color:#B35C00; }
.tl-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.tl-tab{ border:1px solid var(--c-border-strong); background:#fff; color:var(--c-text); border-radius:999px; padding:11px 22px; font-size:0.9375rem; font-weight:700; cursor:pointer; font-family:inherit; }
.tl-tab.is-active{ background:var(--c-primary); border-color:var(--c-primary); color:#fff; }
.tl-pane{ display:none; }
.tl-pane.is-active{ display:block; }
.tl-form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; }
.tl-form.is-1col{ grid-template-columns:minmax(0,1fr); }
.tl-form.is-3col{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.tl-field{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.tl-field.is-wide{ grid-column:1 / -1; }
.tl-field label, .tl-label{ font-size:0.9375rem; font-weight:900; color:var(--c-text); }
.tl-hint{ font-size:0.8125rem; color:var(--c-text-mute); line-height:1.75; }
.tl-input, .tl-select, .tl-textarea{ width:100%; padding:13px 14px; border:1px solid var(--c-border-strong); border-radius:8px; font-size:16px; font-family:inherit; background:#fff; color:var(--c-text); box-sizing:border-box; }
.tl-input.is-error{ border-color:#C7293C; background:#FFF5F6; }
.tl-textarea{ min-height:120px; line-height:1.7; resize:vertical; }
.tl-unit{ display:flex; align-items:center; gap:8px; }
.tl-unit .tl-input{ flex:1; min-width:0; text-align:right; }
.tl-unit span{ font-size:0.875rem; color:var(--c-text-sub); white-space:nowrap; }
.tl-result{ margin-top:36px; padding:32px; border-radius:var(--radius-l); background:var(--c-primary-bg); }
.tl-result-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.tl-stat{ background:#fff; border-radius:14px; padding:20px 22px; box-shadow:0 6px 16px rgba(15,123,78,.06); }
.tl-stat-label{ font-size:0.8438rem; font-weight:700; color:var(--c-text-sub); }
.tl-stat-value{ margin-top:8px; font-size:1.75rem; font-weight:900; color:var(--c-primary-dark); line-height:1.3; word-break:break-all; }
.tl-stat-value small{ font-size:0.8125rem; font-weight:700; margin-left:2px; }
.tl-stat.is-strong .tl-stat-value{ color:#C2410C; }
.tl-msg{ margin:20px 0 0; font-size:0.9375rem; line-height:1.9; }
.tl-msg.is-warn{ color:#C7293C; font-weight:700; }
.tl-table-scroll{ overflow-x:auto; margin-top:24px; -webkit-overflow-scrolling:touch; }
.tl-table{ width:100%; border-collapse:collapse; font-size:0.875rem; background:#fff; }
.tl-table th, .tl-table td{ border:1px solid var(--c-border); padding:11px 14px; text-align:right; white-space:nowrap; }
.tl-table th{ background:#F6F8F7; font-weight:700; text-align:center; }
.tl-table td.is-left, .tl-table th.is-left{ text-align:left; }
.tl-table tr.is-hit td{ background:#FFF4E5; }
.tl-bar{ display:inline-block; height:10px; background:var(--c-primary); border-radius:3px; vertical-align:middle; }
.tl-bar.is-stock{ background:#F28C28; }
.tl-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.tl-btn{ display:inline-flex; align-items:center; justify-content:center; padding:13px 26px; border-radius:999px; border:1px solid var(--c-primary); background:var(--c-primary); color:#fff; font-size:0.9375rem; font-weight:700; cursor:pointer; font-family:inherit; text-decoration:none !important; }
.tl-btn.is-outline{ background:#fff; color:var(--c-primary); }
.tl-btn.is-orange{ background:#F28C28; border-color:#F28C28; }
.tl-section-title{ margin:44px 0 16px; padding-left:12px; border-left:4px solid var(--c-primary); font-size:1.1875rem; font-weight:900; }
.tl-note{ margin:24px 0 0; font-size:0.8125rem; line-height:1.9; color:var(--c-text-mute); }
.tl-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.tl-links a{ display:inline-block; padding:10px 18px; border:1px solid var(--c-border-strong); border-radius:999px; font-size:0.875rem; font-weight:700; background:#fff; }
.tl-card-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tl-card{ display:block; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius-l); padding:18px 20px; color:var(--c-text); text-decoration:none !important; transition:border-color .15s; }
.tl-card:hover{ border-color:var(--c-primary); }
.tl-card-title{ font-size:1rem; font-weight:900; color:var(--c-primary-dark); }
.tl-card-lead{ margin:8px 0 0; font-size:0.8125rem; line-height:1.8; color:var(--c-text-sub); }
.tl-drop{ border:2px dashed var(--c-border-strong); border-radius:12px; padding:22px; text-align:center; font-size:0.8125rem; color:var(--c-text-sub); background:#fff; }
.tl-drop.is-over{ border-color:var(--c-primary); background:var(--c-primary-bg); }
.tl-check{ display:inline-flex; align-items:center; gap:8px; font-size:0.9063rem; margin:0 18px 10px 0; }
.tl-preview{ white-space:pre-wrap; background:#fff; border:1px solid var(--c-border); border-radius:10px; padding:18px 20px; font-size:0.9063rem; line-height:1.9; }
.tl-sheet{ background:#fff; border:1px solid var(--c-border); border-radius:14px; padding:36px; }
.tl-sheet h2{ margin:0 0 4px; font-size:1.25rem; }
.tl-sheet h3{ margin:18px 0 6px; font-size:0.9375rem; border-left:4px solid var(--c-primary); padding-left:8px; }
.tl-sheet p{ margin:0; font-size:0.875rem; line-height:1.9; white-space:pre-wrap; }
.tl-cmp{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.tl-cmp-col{ background:#fff; border:1px solid var(--c-border); border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.tl-cmp-col h4{ margin:0; font-size:0.9375rem; }
.tl-panel{ background:#fff; border-radius:var(--radius-l); padding:48px; box-shadow:0 8px 22px rgba(31,41,51,.06); }
.tl-tool-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tl-tool-card{ display:flex; flex-direction:column; gap:12px; padding:30px 26px; border:1px solid var(--c-border); border-radius:var(--radius-l); background:#fff; color:var(--c-text); text-decoration:none !important; transition:border-color .15s, box-shadow .15s, transform .15s; }
.tl-tool-card:hover{ border-color:var(--c-primary); box-shadow:0 10px 26px rgba(15,123,78,.12); transform:translateY(-2px); }
.tl-tool-card *{ text-decoration:none !important; }
.tl-tool-ic{ display:inline-grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--c-primary-bg); color:var(--c-primary); flex:none; }
.tl-tool-ic.is-company{ background:#FFF1E2; color:#D9730D; }
.tl-tool-title{ font-size:1.125rem; font-weight:900; line-height:1.5; color:var(--c-text); }
.tl-tool-lead{ font-size:0.875rem; line-height:1.85; color:var(--c-text-sub); flex:1; }
.tl-tool-go{ font-size:0.875rem; font-weight:900; color:var(--c-primary); }
.tl-hero-title{ margin:10px 0 0; }
.tl-hero-split{ grid-template-columns:1fr 1fr; }
.tl-hero-card{ color:var(--c-text); text-decoration:none !important; transition:transform .15s; }
.tl-hero-card:hover{ transform:translateY(-3px); }
.tl-hero-card *{ text-decoration:none !important; }
.tl-hero-points{ background:#fff; border-radius:var(--radius-l); padding:32px 32px 26px; box-shadow:0 12px 30px rgba(15,123,78,.12); }
.tl-hero-points-head{ display:flex; align-items:center; gap:14px; font-size:1.0625rem; font-weight:900; }
.tl-hero-points ul{ margin:20px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
.tl-hero-points li{ position:relative; padding-left:30px; font-size:0.9688rem; font-weight:700; line-height:1.6; }
.tl-hero-points li::before{ content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%; background:var(--c-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat; }
.tl-hero-points p{ margin:20px 0 0; padding-top:16px; border-top:1px solid var(--c-border); font-size:0.8125rem; color:var(--c-text-mute); }
#tool{ scroll-margin-top:90px; }
@media (max-width:1000px){
  .tl-tool-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .tl-form, .tl-form.is-3col, .tl-card-grid, .tl-cmp, .tl-tool-grid{ grid-template-columns:minmax(0,1fr); }
  .tl-form{ gap:20px; }
  .tl-panel{ padding:24px 16px; }
  .tl-result{ padding:20px 14px; margin-top:28px; }
  .tl-stat-value{ font-size:1.375rem; }
  .tl-sheet{ padding:20px 16px; }
  .tl-tool-card{ padding:24px 20px; }
  .tl-hero-points{ padding:24px 20px 20px; }
}
@media print{
  body *{ visibility:hidden; }
  .tl-sheet, .tl-sheet *{ visibility:visible; }
  .tl-sheet{ position:absolute; left:0; top:0; width:100%; border:0; }
}
