html,body,#root{height:100%;margin:0}body{background:var(--sm-app-bg,#f6f7fb);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:thin;scrollbar-color:var(--sm-border-strong,#d6d9e3) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--sm-border-strong,#d6d9e3);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--sm-text-secondary,#5b6178)}::-webkit-scrollbar-track{background:0 0}.app-sider{border-inline-end:1px solid var(--sm-border);height:100vh;position:sticky;top:0;overflow:auto}.app-logo{letter-spacing:.2px;white-space:nowrap;align-items:center;gap:10px;height:60px;padding:0 18px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.app-logo-mark{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:14px;display:grid;box-shadow:0 2px 8px #4f46e559}.app-header{z-index:10;background:var(--sm-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--sm-border);justify-content:flex-end;align-items:center;gap:8px;display:flex;position:sticky;top:0}.app-content{padding:24px;overflow:auto}.app-content-inner{width:100%;max-width:1440px;margin:0 auto}.app-content-inner.wide{max-width:none}.page-header{flex-direction:column;gap:12px;margin-bottom:4px;display:flex}.page-header-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stat-card{height:100%;transition:transform .16s,box-shadow .16s}.stat-card:hover{box-shadow:var(--sm-shadow-lifted);transform:translateY(-2px)}.stat-card-inner{align-items:center;gap:14px;display:flex}.stat-card-icon{background:var(--sm-surface-muted);width:42px;height:42px;color:var(--sm-text-secondary);border-radius:12px;flex:none;place-items:center;font-size:18px;display:grid}.stat-card-inner.tone-success .stat-card-icon{color:#10b981;background:#10b9811f}.stat-card-inner.tone-warning .stat-card-icon{color:#f59e0b;background:#f59e0b24}.stat-card-inner.tone-danger .stat-card-icon{color:#ef4444;background:#ef44441f}.empty-state{flex-direction:column;justify-content:center;align-items:center;padding:40px 16px;display:flex}.board-scroll{align-items:flex-start;gap:14px;padding-bottom:12px;display:flex;overflow-x:auto}.board-column{background:var(--sm-surface-muted);border:1px solid var(--sm-border);border-radius:14px;flex-direction:column;flex:0 0 300px;width:300px;max-height:calc(100vh - 260px);display:flex}.board-column-header{border-bottom:1px solid var(--sm-border);background:var(--sm-surface-muted);z-index:1;border-radius:14px 14px 0 0;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.board-column-body{flex:1;min-height:60px;padding:10px;overflow-y:auto}.board-column-add{cursor:pointer;border:1px dashed var(--sm-border-strong);background:0 0;flex:0 0 200px;justify-content:center;align-items:center;width:200px;min-height:140px;max-height:140px;transition:border-color .15s,background .15s}.board-column-add:hover{background:#4f46e50a;border-color:#4f46e5}.node-card{box-sizing:border-box;background:var(--sm-surface);border:1px solid var(--sm-border);cursor:grab;border-radius:10px;height:142px;margin-bottom:8px;padding:8px 10px;transition:border-color .15s,box-shadow .15s,transform .15s;overflow:hidden}.node-card:hover{border-color:var(--sm-border-strong);box-shadow:var(--sm-shadow)}.node-card.selected{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e538}.node-card.dragging{opacity:.5}.node-card:active{cursor:grabbing}.pre-wrap{white-space:pre-wrap;word-break:break-all}.code-block{background:var(--sm-code-bg);border:1px solid var(--sm-border);border-radius:10px;margin-bottom:0;padding:10px 12px}.code-block-warn{background:var(--sm-warn-bg);border:1px solid var(--sm-border);border-radius:10px;margin-bottom:0;padding:10px 12px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=768px){.app-content{padding:16px}.stat-card-inner{flex-direction:column;align-items:flex-start;gap:10px}.stat-card-icon{width:36px;height:36px;font-size:16px}}
