.ak-tool-shell { min-height: calc(100dvh - var(--ak-topbar-height) - 32px); display: flex; flex-direction: column; gap: 12px; overflow: visible; }
.ak-app.is-topbar-hidden .ak-tool-shell,
.ak-app.is-focus .ak-tool-shell { min-height: calc(100dvh - 32px); }
.ak-tool-header { min-height: 82px; flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--ak-border); border-radius: 18px; padding: 16px; background: var(--ak-panel); box-shadow: var(--ak-shadow); }
.ak-tool-title h1 { margin: 4px 0 2px; font-size: clamp(22px, 3vw, 34px); line-height: 1.05; letter-spacing: -.035em; color: var(--ak-text); }
.ak-tool-title p { margin: 0; color: var(--ak-muted); font-size: 13px; line-height: 1.55; }
.ak-tool-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ak-tool-workspace { flex: 1; min-height: 520px; display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 12px; }
.ak-tool-column { min-height: 0; display: flex; flex-direction: column; gap: 12px; }
.ak-tool-card,
.ak-panel { min-height: 0; border: 1px solid var(--ak-border); border-radius: 18px; background: var(--ak-panel); padding: 16px; overflow: hidden; box-shadow: var(--ak-shadow); }
.ak-tool-card.fill { flex: 1; }
.ak-card-title { margin: 0 0 10px; font-size: 14px; font-weight: 700; color: var(--ak-text); }
.ak-dropzone { min-height: 260px; height: 100%; border: 1.5px dashed var(--ak-border-strong); border-radius: 16px; background: var(--ak-panel-2); display: grid; place-items: center; text-align: center; padding: 22px; }
.ak-dropzone h3 { margin: 0 0 6px; font-size: 18px; color: var(--ak-text); }
.ak-dropzone p { margin: 0; color: var(--ak-muted); line-height: 1.55; }
.ak-result-box { height: 100%; min-height: 0; display: flex; flex-direction: column; }
.ak-empty { flex: 1; min-height: 260px; display: grid; place-items: center; border: 1px dashed var(--ak-border-strong); border-radius: 16px; color: var(--ak-muted); text-align: center; padding: 20px; background: var(--ak-panel-2); }
.ak-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ak-input,
.ak-select,
.ak-textarea { width: 100%; border: 1px solid var(--ak-border); border-radius: 12px; background: var(--ak-panel-2); color: var(--ak-text); outline: none; font: 600 13px/1.2 var(--ak-font); }
.ak-input { height: 46px; padding: 0 14px; }
.ak-select { height: 46px; min-height: 46px; line-height: 46px; padding: 0 42px 0 14px; appearance: none; }
.ak-textarea { min-height: 110px; resize: vertical; padding: 14px; line-height: 1.55; }
.ak-input::placeholder,
.ak-textarea::placeholder { color: var(--ak-muted-2); }
.ak-input:focus,
.ak-select:focus,
.ak-textarea:focus { border-color: var(--ak-border-strong); background: var(--ak-panel); }
.ak-field { display: grid; gap: 7px; }
.ak-field label { color: var(--ak-muted); font-size: 12px; font-weight: 700; }
.ak-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ak-lock-card { border: 1px solid var(--ak-border-strong); background: var(--ak-panel-2); border-radius: 16px; padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ak-lock-card p { margin: 4px 0 0; color: var(--ak-muted); }
