.login-bg{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#0b3c5d,#0f766e);overflow:hidden}.login-subtitle{margin-top:-14px;margin-bottom:22px;text-align:center;font-size:14px;color:#94a3b8}.login-glass{width:360px;padding:32px;background:#ffffff14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:20px;border:1px solid rgba(255,255,255,.18);box-shadow:0 25px 50px #00000059,inset 0 1px #ffffff26;color:#e5e7eb}.login-title{margin-bottom:24px;text-align:center;font-size:28px;font-weight:600}.login-form{display:flex;flex-direction:column;gap:14px}.login-input{height:44px;padding:0 14px;border-radius:12px;border:none;background:#02061799;color:#e5e7eb;outline:none}.login-input::placeholder{color:#94a3b8}.login-input:focus{box-shadow:0 0 0 2px #38bdf899}.login-button{margin-top:10px;height:46px;border:none;border-radius:14px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#020617;font-weight:600;font-size:15px;cursor:pointer}.login-button:hover{filter:brightness(1.05)}.login-error{margin-top:16px;padding:12px 16px;border-radius:10px;background:#ff4d4f1a;border:1px solid rgba(255,77,79,.4);color:#ff4d4f;display:flex;align-items:center;gap:8px;font-size:14px;animation:fadeIn .25s ease-in-out}.login-error-icon{font-size:16px}.login-secondary-button{height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#e5e7eb;font-weight:500;font-size:15px;cursor:pointer;transition:all .2s ease}.login-secondary-button:hover{background:#ffffff14}html,body{margin:0;padding:0;height:100%;overflow:hidden}.layout-root{display:flex;flex-direction:column;height:calc(100vh - 60px);background:#0f172a;color:#fff}.control-panel{height:40px;width:100%;display:flex;align-items:center;padding:0 16px;background:#0f172abf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05)}.markdown-body table{border-collapse:collapse;width:100%;margin:16px 0}.markdown-body th,.markdown-body td{border:1px solid #ddd;padding:8px}.markdown-body th{text-align:left;font-weight:600}.table-wrapper .copy-button{display:none}.table-wrapper:hover .copy-button{display:inline-block}.markdown-body tr:nth-child(2n){background-color:#1e293b}.summary-spinner{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top:2px solid #38bdf8;animation:spin .8s linear infinite;margin:0 auto}.summary-modal{width:900px;max-width:95vw;max-height:85vh;padding:28px;border-radius:20px;background:linear-gradient(145deg,#0f172a,#111c2e);box-shadow:0 20px 60px #0009;display:flex;flex-direction:column}.summary-content{flex:1;overflow-y:auto;padding-right:8px;margin-bottom:20px}.summary-content::-webkit-scrollbar{width:8px}.summary-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:8px}.layout-content{flex:1;display:flex;min-height:0;position:relative}.sidebar{width:50px;background:#0b1220;border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;justify-content:space-between}.sidebar-bottom{width:100%;padding:10px 0;display:flex;justify-content:center}.sidebar-icon-btn{width:40px;height:40px;border-radius:12px;border:none;background:transparent;color:#94a3b8;font-size:18px;cursor:pointer;transition:all .2s ease}.sidebar-icon-btn:hover{background:#2563eb26;color:#2563eb}.main-content{flex:1;background:#0d1117;overflow:hidden}.control-panel{height:44px;display:flex;align-items:center;padding:0 16px;background:#111827;border-bottom:1px solid rgba(255,255,255,.06);border-left:1px solid rgba(255,255,255,.05)}.control-main{display:flex;align-items:center;gap:16px}.branch-indicator{height:36px;display:flex;align-items:center;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:transparent;cursor:default;transition:all .2s ease;gap:8px}.branch-indicator:hover{background:#ffffff0f}.branch-view-mode{font-size:12px;color:#94a3b8;opacity:.8}.branch-name{font-size:14px;font-weight:500;color:#38bdf8;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modes-group{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid rgba(255,255,255,.08)}.sidebar{width:50px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:20px;padding-top:16px;background:#0b1220;border-right:1px solid rgba(255,255,255,.05)}.sidebar-icon-btn{width:40px;height:40px;border-radius:12px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar-icon-btn:hover{background:#2563eb26}.sidebar-icon{width:22px;height:22px;opacity:.7;transition:all .2s ease}.sidebar-icon-btn:hover .sidebar-icon{opacity:1;transform:scale(1.05)}.filter-btn{position:relative}.filter-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:10px;background:#38bdf8;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center}.branches-panel{position:absolute;top:0;left:50px;bottom:0;width:360px;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .35s ease;background:linear-gradient(160deg,#0f172af5,#141c2df5,#0c1220f2);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:none;border-right:1px solid rgba(255,255,255,.12);box-shadow:30px 0 80px #0000008c,inset -1px 0 #ffffff0d;z-index:5}.branches-panel.open{transform:translate(0)}.branches-panel-header{height:40px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}.branches-panel-title{font-size:13px;font-weight:600;color:#f1f5f9;letter-spacing:.4px}.branches-header-actions{display:flex;align-items:center;gap:10px}.branches-panel-close{background:transparent;border:none;color:#cbd5e1;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:10px;transition:all .2s ease}.branches-panel-close:hover{background:#ffffff1f;transform:scale(1.05)}.header-toggle-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:#cbd5e1;font-size:12px;padding:4px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.header-toggle-btn:hover{border-color:#38bdf899;color:#38bdf8}.header-toggle-btn.active{background:#38bdf833;border-color:#38bdf899;color:#38bdf8}.branches-panel-content{flex:1;padding:22px;display:flex;flex-direction:column;overflow:hidden}.branches-search{width:100%;padding:10px 14px;margin-bottom:18px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f1f5f9;font-size:13px;outline:none;transition:all .25s ease}.branches-search:focus{border-color:#ffffff59;background:#ffffff1f}.branches-list{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden}.branch-item{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:all .25s ease}.branch-item:hover{background:#38bdf81f;border-color:#38bdf859;box-shadow:0 0 0 1px #38bdf866,0 8px 18px #00000059}.branch-item.selected{background:#38bdf82e;border-color:#38bdf899}.branch-main{display:flex;align-items:center;gap:10px;padding-right:25px}.branch-icon{font-size:16px}.branch-text{display:flex;flex-direction:column;flex:1;min-width:0}.branch-name{font-size:12px;font-weight:500;color:#f8fafc}.branch-date{font-size:12px;color:#cbd5e1;opacity:.75}.branch-menu-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#94a3b8;font-size:16px;cursor:pointer;padding:4px 6px;border-radius:8px;opacity:0;transition:all .2s ease}.branch-item:hover .branch-menu-btn{opacity:1}.branch-menu-btn:hover{background:#ffffff1f;color:#38bdf8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.branch-menu{position:fixed;background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 30px #0009,0 0 0 1px #ffffff0d;min-width:140px;padding:4px 0;z-index:9999}.branch-menu-item{width:100%;padding:7px 12px;background:transparent;border:none;font-size:12px;font-weight:500;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.branch-menu-item:hover{background:#ffffff0f;color:#f1f5f9}.branch-tags{display:flex;flex-wrap:wrap;gap:8px}.branch-tag{font-size:11px;font-weight:500;padding:5px 10px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:#38bdf8}.branches-loading{display:flex;justify-content:center;align-items:center;padding:50px 0}.branches-spinner{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top:2px solid #38bdf8;animation:spin .8s linear infinite}.mini-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top:2px solid #38bdf8;animation:spin .7s linear infinite}.branches-error{font-size:13px;color:#ef4444}.branches-list::-webkit-scrollbar{width:6px}.branches-list::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.branch-menu:hover{pointer-events:auto}.modal-overlay{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:5000}.rename-modal{width:320px;padding:20px;border-radius:16px;background:linear-gradient(160deg,#0f172afa,#141c2dfa);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 60px #000000a6,0 0 0 1px #ffffff0a;animation:renameFade .18s ease}@keyframes renameFade{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.rename-modal-title{font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:14px}.rename-modal-input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#f8fafc;font-size:13px;outline:none;transition:all .2s ease}.rename-modal-input:focus{border-color:#38bdf899;background:#ffffff1f}.rename-modal-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}.rename-modal .cancel-btn{font-size:12px;padding:6px 12px}.rename-modal .save-btn{font-size:12px;padding:6px 14px}.tags-edit-container{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tag-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(56,189,248,.4);background:#38bdf826;color:#38bdf8;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.tag-add-btn:hover{background:#38bdf859;transform:scale(1.05)}.branch-menu-item.danger{color:#ef4444}.branch-menu-item.danger:hover{background:#ef44441f;color:#ff6b6b}.danger-text{color:#ef4444}.delete-warning{font-size:13px;color:#cbd5e1;line-height:1.5}.danger-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff;padding:6px 16px;border-radius:10px;cursor:pointer;transition:all .2s ease}.danger-btn:hover:not(:disabled){transform:translateY(-1px)}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.branches-search-wrapper{display:flex;align-items:stretch;gap:8px}.full-graph-btn{width:36px;height:36px;border-radius:10px;border:none;cursor:pointer;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.full-graph-btn:hover{background:#ffffff26}.full-graph-btn.active{background:#0096ff40;box-shadow:0 0 0 1px #0096ff99}.note-panel{position:fixed;top:60px;right:0;width:420px;height:calc(100vh - 60px)!important;display:flex;flex-direction:column;transform:translate(100%);transition:transform .35s ease;background:linear-gradient(160deg,#0f172af5,#092340f5,#0f766eeb);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:none;border-left:1px solid rgba(255,255,255,.12);box-shadow:-30px 0 80px #0000008c,inset 1px 0 #ffffff0d;z-index:60}.note-panel.open{transform:translate(0)}.note-panel-header{padding:20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.12)}.note-header-left{max-width:100%;display:flex;flex-direction:column;gap:8px;flex-grow:1;flex-shrink:1;min-width:0}.note-type-badge{display:inline-flex;width:fit-content;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid;font-size:12px;font-weight:600;background:#ffffff0f}.note-type-icon{width:16px;height:16px;filter:brightness(0) invert(1)}.note-meta{font-size:12px;color:#cbd5e1;opacity:.8}.meta-separator{margin:0 6px;opacity:.6}.note-panel-close{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:10px;transition:all .2s ease;flex-grow:0;flex-shrink:0;min-width:0}.note-panel-close:hover{background:#ffffff1f;transform:scale(1.05)}.note-panel-content{flex:1;padding:24px;overflow-y:auto}.note-card{display:flex;flex-direction:column;gap:24px}.note-message{font-size:14px;color:#f1f5f9;line-height:1.7}.note-textarea{width:100%;min-height:160px;padding:14px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f1f5f9;font-size:14px;resize:vertical}.note-files{display:flex;flex-direction:column;gap:14px}.no-attachments{font-size:13px;color:#cbd5e199}.note-file{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:#ffffff12;font-size:13px;color:#e2e8f0;transition:all .25s ease}.note-file:hover{background:#38bdf82e;transform:translate(4px)}.note-images{display:flex;flex-wrap:wrap;gap:14px}.note-image-wrapper{position:relative;border-radius:12px;overflow:hidden;max-width:150px;transition:transform .25s ease}.note-image-wrapper:hover{transform:scale(1.05)}.note-image{width:100%;display:block}.file-remove-btn{margin-left:auto;background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444;border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .2s ease}.file-remove-btn:hover{background:#ef44444d;transform:scale(1.05)}.image-remove-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:#0f172acc;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-remove-btn:hover{background:#ef4444}.add-file-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;background:#38bdf826;border:1px solid rgba(56,189,248,.4);color:#38bdf8;font-size:12px;padding:8px 16px;border-radius:12px;cursor:pointer;transition:all .2s ease}.add-file-btn:hover{background:#38bdf84d}.edit-btn{width:100%;margin-top:10px;display:flex;justify-content:center;align-items:center;background:#38bdf826;border:1px solid rgba(56,189,248,.4);color:#38bdf8;font-size:13px;font-weight:500;padding:10px 0;border-radius:14px;cursor:pointer;transition:all .25s ease}.edit-btn:hover{background:#38bdf84d;transform:translateY(-2px)}.edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;padding:6px 14px;border-radius:10px;cursor:pointer}.save-btn{background:linear-gradient(135deg,#38bdf8,#14b8a6);border:none;color:#fff;padding:6px 16px;border-radius:10px;cursor:pointer;transition:all .2s ease}.save-btn:hover{transform:translateY(-1px)}.note-panel-content::-webkit-scrollbar{width:6px}.note-panel-content::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.global-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.note-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:-6px}.note-tag{font-size:12px;font-weight:500;padding:6px 12px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:#38bdf8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .2s ease}.note-tag:hover{background:#38bdf847;border-color:#38bdf899;transform:translateY(-2px)}.note-tags.edit{align-items:center}.note-tag.editable{display:inline-flex;align-items:center;gap:6px;padding-right:8px}.tag-remove-btn{background:#ef444426;border:none;color:#ef4444;font-size:11px;border-radius:6px;padding:2px 6px;cursor:pointer;transition:all .2s ease}.tag-remove-btn:hover{background:#ef444459}.tag-input-wrapper{display:flex;align-items:center;gap:6px}.tag-input{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:12px;outline:none;width:90px}.tag-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(56,189,248,.4);background:#38bdf826;color:#38bdf8;font-size:16px;font-weight:600;line-height:1;padding:0;cursor:pointer;transition:all .2s ease}.tag-add-btn:hover:not(:disabled){background:#38bdf859;transform:scale(1.05)}.tag-add-btn:disabled{opacity:.4;cursor:not-allowed}.tag-limit{font-size:11px;color:#ef4444cc;margin-left:4px}.note-panel .custom-select{margin-top:4px}.note-branch-line{display:flex;font-size:12px;color:#fff9;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.note-branch-line span{color:#10b981;font-weight:500;margin-left:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.graph-tooltip{position:fixed;z-index:9999;min-width:240px;max-width:300px;padding:16px 18px;border-radius:18px;background:linear-gradient(145deg,#0f172af5,#0b3c5df5 45%,#0f766ef5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.18);box-shadow:0 25px 60px #0000008c,inset 0 1px #ffffff14;color:#e5e7eb;font-size:13px;line-height:1.45;opacity:0;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease;word-break:break-word;overflow-wrap:anywhere}.graph-tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-title{font-size:15px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;color:#f8fafc}.tooltip-author{font-size:12px;font-weight:500;color:#38bdf8;margin-bottom:4px}.tooltip-time{font-size:11px;color:#94a3b8;margin-bottom:10px}.tooltip-note{font-size:12px;color:#e2e8f0;margin-bottom:12px;line-height:1.45;word-break:break-word;overflow-wrap:anywhere}.tooltip-files{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;padding-top:8px;margin-top:6px;border-top:1px solid rgba(255,255,255,.08);color:#22d3ee}.tooltip-files-icon{width:18px;height:18px;opacity:.9;filter:drop-shadow(0 0 4px rgba(34,211,238,.4))}.tooltip-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;margin-bottom:4px}.tooltip-tag{font-size:11px;font-weight:500;padding:4px 8px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:#38bdf8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .15s ease}.tooltip-tag:hover{background:#38bdf840;border-color:#38bdf899}.tooltip-tag.more{background:#94a3b826;border:1px solid rgba(148,163,184,.35);color:#94a3b8}.graph-loader{position:absolute;inset:0;background:#14141466;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10}.graph-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #ffffff;border-radius:50%;animation:spin .8s linear infinite}.graph-context-menu{position:fixed;z-index:9999;background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 30px #0009,0 0 0 1px #ffffff0d;min-width:160px;padding:4px 0}.graph-context-menu.visible{opacity:1;transform:translateY(0) scale(1)}.graph-context-item{width:100%;padding:7px 12px;background:transparent;border:none;font-size:12px;font-weight:500;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.graph-context-item:hover{background:#ffffff0f;color:#f1f5f9}.graph-context-item.danger{color:#ef4444}.graph-context-item.danger:hover{background:#ef444426}.node-type-modal{width:320px;padding:20px;border-radius:16px;background:linear-gradient(160deg,#0f172afa,#141c2dfa);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 60px #000000a6,0 0 0 1px #ffffff0a;animation:renameFade .18s ease}.node-type-title{font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:14px}.node-type-list{display:flex;flex-direction:column;gap:10px}.node-type-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:all .2s ease}.node-type-item:hover{background:#38bdf81f;border-color:#38bdf859}.node-type-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center}.node-type-icon img{width:18px;height:18px}.node-type-item.active{background:#38bdf82e;border-color:#38bdf899;box-shadow:0 0 0 1px #38bdf866}.graph-context-item:disabled{opacity:.4;cursor:not-allowed;background:transparent}.type-select{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#f8fafc;font-size:13px;outline:none;transition:all .2s ease}.type-select:focus{border-color:#38bdf899}.custom-select{position:relative;width:100%}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:all .2s ease}.custom-select-left{display:flex;align-items:center;gap:10px;min-width:0}.custom-select-value{text-align:left;white-space:nowrap}.custom-select-placeholder{opacity:.65}.custom-select-arrow{opacity:.6;font-size:12px}.custom-select-menu{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 30px #0009;overflow-y:auto;max-height:200px;z-index:20}.custom-select-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .15s ease}.custom-select-option:hover{background:#38bdf81f}.custom-select-icon{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center}.custom-select-icon img{width:14px;height:14px}.custom-select-menu::-webkit-scrollbar{width:6px}.custom-select-menu::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.custom-select-menu::-webkit-scrollbar-thumb:hover{background:#fff6}.custom-select-menu::-webkit-scrollbar-track{background:transparent}.save-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.graph-context-divider{height:1px;margin:4px 0;background:#ffffff14}.graph-context-item.primary{font-weight:600;color:#f1f5f9}.graph-context-item.secondary{opacity:.85;font-size:12px}.graph-context-item.danger{margin-top:2px}.graph-context-item.view{color:#38bdf8;font-weight:500}.paste-branches-modal{width:360px;max-height:80vh;display:flex;flex-direction:column;padding:20px;border-radius:16px;background:linear-gradient(160deg,#0f172afa,#141c2dfa);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 60px #000000a6,0 0 0 1px #ffffff0a}.modal-header{font-size:15px;font-weight:600;margin-bottom:14px}.modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.branches-scroll{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:260px;padding-right:4px}.branches-scroll::-webkit-scrollbar{width:6px}.branches-scroll::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.branches-scroll::-webkit-scrollbar-thumb:hover{background:#fff6}.modal-footer{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.graph-wrapper{position:relative;width:100%;height:100%}.graph-overlay{position:absolute;inset:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:10}.tooltip-branch{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;padding:4px 10px;margin-bottom:8px;border-radius:999px;background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#10b981;width:fit-content;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tooltip-branch-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981cc}.filter-panel{position:absolute;top:0;left:50px;bottom:0;width:360px;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .35s ease;background:linear-gradient(160deg,#0f172af5,#141c2df5,#0c1220f2);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:none;border-right:1px solid rgba(255,255,255,.12);box-shadow:30px 0 80px #0000008c,inset -1px 0 #ffffff0d;z-index:5}.filter-panel.open{transform:translate(0)}.filter-panel-header{height:40px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}.filter-panel-title{font-size:13px;font-weight:600;color:#f1f5f9;letter-spacing:.4px}.filter-panel-close{background:transparent;border:none;color:#cbd5e1;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:10px;transition:all .2s ease}.filter-panel-close:hover{background:#ffffff1f;transform:scale(1.05)}.filter-panel-content{flex:1;padding:22px;display:flex;flex-direction:column;overflow-y:auto}.filter-search{width:100%;padding:10px 14px;margin-bottom:18px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f1f5f9;font-size:13px;outline:none;transition:all .25s ease}.filter-search:focus{border-color:#38bdf899;background:#ffffff1f}.filter-section{margin-bottom:24px}.filter-title{font-size:12px;font-weight:600;color:#f1f5f9;margin-bottom:10px;letter-spacing:.3px}.filter-row{display:flex;gap:10px}.filter-date-input{flex:1;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#f8fafc;font-size:12px;outline:none;transition:all .2s ease}.filter-date-input:focus{border-color:#38bdf899;background:#ffffff1f}.filter-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px 12px}.filter-checkbox-card{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:500;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;cursor:pointer;transition:all .2s ease}.filter-checkbox-card:hover{background:#38bdf826;border-color:#38bdf859;color:#38bdf8}.filter-checkbox-card input{accent-color:#38bdf8}.filter-tag{font-size:11px;font-weight:500;padding:5px 10px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:#38bdf8;cursor:pointer;transition:all .2s ease}.filter-tag:hover{background:#38bdf859}.filter-apply-btn{margin-top:auto;padding:10px 14px;border-radius:14px;border:none;font-size:13px;font-weight:600;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0f172a;cursor:pointer;transition:all .2s ease}.filter-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #38bdf866}.filter-apply-btn:disabled{opacity:.5;cursor:not-allowed}.filter-panel-content::-webkit-scrollbar{width:6px}.filter-panel-content::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.filter-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top:2px solid #38bdf8;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;border-radius:999px;border:1px solid;cursor:pointer;transition:all .2s ease;background:#ffffff0d}.filter-chip:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000040}.filter-chip.active{font-weight:600}.filter-chip-dot{width:8px;height:8px;border-radius:50%}.filter-chip-icon{width:14px;height:14px}.filter-error{margin-top:6px;font-size:12px;color:#ef4444}.filter-tag-container{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f}.filter-tag-input{flex:1;min-width:100px;border:none;background:transparent;color:#fff;outline:none;font-size:12px}.filter-tag-chip{display:flex;align-items:center;gap:6px;padding:1px 8px;border-radius:999px;background:#38bdf833;border:1px solid rgba(56,189,248,.4);color:#38bdf8;font-size:11px}.filter-tag-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:11px}.filter-tag-suggestions{margin-top:6px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0f172a;max-height:180px;overflow-y:auto;box-shadow:0 10px 30px #00000073,0 0 0 1px #ffffff0a}.filter-tag-suggestion{padding:6px 10px;font-size:12px;cursor:pointer;transition:background .15s ease}.filter-tag-suggestion:hover{background:#ffffff0f}.filter-tag-empty{padding:8px 10px;font-size:12px;opacity:.6;color:#94a3b8}.filter-tag-suggestions::-webkit-scrollbar{width:6px}.filter-tag-suggestions::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.filter-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:auto}.filter-reset-link{background:transparent;border:1px solid rgba(239,68,68,.5);color:#f87171;cursor:pointer;transition:all .2s ease}.filter-reset-link:hover:not(:disabled){background:#ef44441f;border-color:#ef4444b3}.filter-reset-link:disabled{opacity:.4;cursor:not-allowed}.filter-apply-btn,.filter-reset-link{height:44px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.filter-apply-btn{border:1px solid transparent}.control-panel{height:44px;display:flex;align-items:center;padding:0 5px;gap:24px;background:#111827;border-bottom:1px solid rgba(255,255,255,.06);border-left:1px solid rgba(255,255,255,.05)}.mode-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:transparent;cursor:pointer;transition:all .2s ease}.mode-icon-btn img{width:18px;height:18px;opacity:.6;fill:#2dd4bf;transition:all .2s ease}.mode-icon-btn:hover{background:#ffffff0f}.mode-icon-btn.active{background:#38bdf81f;border-color:#38bdf866}.mode-icon-btn.active img{opacity:1}.control-group{display:flex;align-items:center;gap:8px}.modes-group{padding-left:8px;border-left:1px solid rgba(11,60,93,.96)}.mode-icon-btn:disabled{background:transparent;opacity:.4;pointer-events:none}.mode-icon-btn:disabled img{filter:grayscale(100%) brightness(.8)}.global-alert{position:fixed;top:20px;left:50%;transform:translate(-50%);min-width:320px;max-width:90%;padding:14px 20px;border-radius:10px;color:#fff;font-size:14px;display:flex;justify-content:space-between;align-items:center;z-index:9999;animation:slideDown .25s ease;box-shadow:0 8px 20px #00000026}.global-alert-error{background:#dc2626}.global-alert-success{background:#16a34a}.global-alert-info{background:#2563eb}.alert-close{background:transparent;border:none;color:#fff;font-size:16px;cursor:pointer;margin-left:12px}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.header{height:var(--header-height);width:100%;padding:0 16px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0f172ad9,#0b3c5dd9,#0f766ed9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 8px 30px #00000059,inset 0 -1px #ffffff0d;position:relative;z-index:1000}.logo{font-size:18px;font-weight:600;letter-spacing:.5px}.header{height:var(--header-height)}.header-right{position:relative}.user-menu{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative;padding:6px 10px;border-radius:10px;transition:background .2s ease}.user-menu:hover{background:#ffffff0f}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.username{font-size:14px;font-weight:500}.dropdown{position:absolute;top:52px;right:0;background:#1e293b;border-radius:12px;box-shadow:0 10px 30px #00000059;padding:6px;min-width:140px;animation:dropdownFade .15s ease-out;z-index:2000}.dropdown button{width:100%;padding:10px 12px;border:none;background:transparent;color:#fff;border-radius:8px;text-align:left;cursor:pointer;font-size:14px;transition:background .2s ease}.dropdown button:hover{background:#ffffff14}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.plan-label{font-size:11px;color:#ffffff8c;font-weight:500}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.limits-info{font-size:12px;color:#ffffffb3;margin-bottom:14px;line-height:1.45}.limits-info p{margin:0 0 8px}.limits-heading{font-weight:600;color:#f1f5f9}.limits-note{font-size:11px;color:#ffffff8c}.usage-list{margin-bottom:16px}.usage-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;color:#e2e8f0}.dropdown button.dropdown-secondary{color:#38bdf8;font-weight:500}.dropdown button.dropdown-secondary:hover{background:#38bdf81f}.modal-success{font-size:13px;color:#e2e8f0;margin-top:8px}.input-error{border-color:#ef4444cc!important;box-shadow:0 0 0 1px #ef444459}.input-error-text{font-size:12px;color:#ef4444;opacity:.9}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background:#0b1120}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{margin:0;padding:0;width:100%;height:100%}*{box-sizing:border-box}html,body{overflow-x:hidden}:root{--header-height: 60px}
