.ncm-dashboard,.ncm-login{max-width:1200px;margin:30px auto;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.ncm-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.ncm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0}.ncm-card,.ncm-login{background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.04)}.ncm-card span{display:block;color:#666;font-size:14px}.ncm-card strong{font-size:24px;display:block;margin-top:6px}.ncm-wide{margin:16px 0}.ncm-btn{display:inline-block;background:#8f1118;color:white!important;border:0;border-radius:8px;padding:10px 16px;text-decoration:none;cursor:pointer}.ncm-btn:disabled{opacity:.45;cursor:not-allowed}.ncm-claim{margin:8px 0}.ncm-table{overflow:auto}.ncm-table table{width:100%;border-collapse:collapse}.ncm-table th,.ncm-table td{padding:10px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}.ncm-login form p{margin:12px 0}.ncm-login input[type=text],.ncm-login input[type=password]{width:100%;padding:10px}
.ncm-signup{max-width:900px}.ncm-signup h3{margin-top:24px}.ncm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:12px 0}.ncm-signup label{display:block;font-weight:600;margin:10px 0}.ncm-signup input[type=text],.ncm-signup input[type=email],.ncm-signup input[type=tel],.ncm-signup input[type=date],.ncm-signup input[type=password],.ncm-signup input[type=file],.ncm-signup select,.ncm-signup textarea{box-sizing:border-box;width:100%;padding:10px;margin-top:6px;border:1px solid #d8d8d8;border-radius:8px;background:#fff}.ncm-check{font-weight:400!important;display:flex!important;gap:10px;align-items:flex-start}.ncm-check input{margin-top:5px}.ncm-muted{color:#666}.ncm-notice{padding:12px 14px;border-radius:8px;margin:12px 0}.ncm-notice.error{background:#fff2f2;border:1px solid #e4a0a0}.ncm-notice.success{background:#f1fff5;border:1px solid #9fd5ad}
.ncm-pos{max-width:1000px}.ncm-pos-form label{display:block;font-weight:600;margin:10px 0}.ncm-pos-form input,.ncm-pos-form select,.ncm-pos-form textarea{box-sizing:border-box;width:100%;padding:10px;margin-top:6px;border:1px solid #d8d8d8;border-radius:8px;background:#fff}.ncm-pos-plan{border-left:4px solid #8f1118}.ncm-btn-secondary{background:#555}.ncm-pos-launch{border-left:4px solid #8f1118}

/* Binary tree */
.ncm-tree-scroll{overflow:auto;padding:18px 8px 28px;background:#fafafa;border:1px solid #eee;border-radius:12px}.ncm-tree-branch{display:flex;flex-direction:column;align-items:center;position:relative;min-width:190px}.ncm-tree-children{display:flex;align-items:flex-start;justify-content:center;gap:22px;position:relative;padding-top:30px;margin-top:10px}.ncm-tree-children:before{content:"";position:absolute;top:0;left:25%;right:25%;height:1px;background:#cfcfcf}.ncm-tree-children>.ncm-tree-branch:before{content:"";position:absolute;top:-30px;left:50%;width:1px;height:30px;background:#cfcfcf}.ncm-tree-node{min-width:155px;max-width:190px;background:#fff;border:2px solid #ddd;border-radius:12px;padding:10px 12px;text-align:center;box-shadow:0 3px 12px rgba(0,0,0,.05);position:relative;z-index:1}.ncm-tree-node.root{border-color:#8f1118;background:#fff7f7}.ncm-tree-node.power{border-color:#3d7dca}.ncm-tree-node.pay{border-color:#49a56f}.ncm-tree-node.empty{border-style:dashed;color:#777;background:#f5f5f5;box-shadow:none}.ncm-tree-name{font-weight:700;font-size:14px;line-height:1.25}.ncm-tree-code{font-size:12px;margin-top:4px}.ncm-tree-meta{font-size:10px;letter-spacing:.5px;margin-top:6px;color:#666}.ncm-tree-small{font-size:10px;margin-top:4px;color:#777}.ncm-tree-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:8px 0 14px;font-size:12px}.ncm-tree-legend span{display:flex;align-items:center;gap:6px}.ncm-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.ncm-dot-root{background:#8f1118}.ncm-dot-power{background:#3d7dca}.ncm-dot-pay{background:#49a56f}.ncm-admin-tree-wrap{background:#fff;border:1px solid #ddd;padding:16px}.ncm-admin-tree-wrap .ncm-tree-scroll{min-height:300px}
@media(max-width:700px){.ncm-tree-children{gap:10px}.ncm-tree-node{min-width:135px;padding:8px}.ncm-tree-scroll{padding-left:4px;padding-right:4px}}
