:root{--bg:#0c1322;--bg-dim:#070e1d;--bg-card:#141b2b;--bg-card-mid:#191f2f;--bg-card-high:#232a3a;--bg-card-top:#2e3545;--divider:#1e2536;--outline-faint:#2a3040;--outline-soft:#424754;--outline:#8c909f;--text:#dce2f7;--blue:#ff5312;--blue-hover:#e64200;--blue-glow:rgba(255,83,18,.18);--green:#ff804e;--green-glow:rgba(255,128,78,.35);--amber:#ffb95f;--amber-glow:rgba(255,185,95,.35);--red:#ff6b6b;--font:var(--font-dm-sans),"DM Sans",sans-serif,"SFMono-Regular",Consolas,monospace;--mono:var(--font-dm-sans),"DM Sans",sans-serif,"SFMono-Regular",Consolas,monospace;--nav-h:52px;--radius:4px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}.dashboard-page-wrapper{background-color:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:var(--font)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-dim)}::-webkit-scrollbar-thumb{background:var(--outline-soft);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--outline)}.dash-nav{height:var(--nav-h);background-color:var(--bg-card);border-bottom:1px solid var(--outline-soft);padding:0 20px;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:200;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-nav,.dash-nav-left{display:flex;align-items:center}.dash-nav-left{flex:0 0 auto}.dash-nav-logo{height:38px;width:auto;object-fit:contain;display:block}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--outline-soft);color:var(--text-dim);padding:5px 12px 5px 8px;border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.02em;transition:color .15s,border-color .15s,background-color .15s}.back-btn:hover{color:var(--text);border-color:var(--outline);background-color:var(--bg-card-mid)}.back-btn:active{opacity:.8}.dash-nav-center{flex:1 1;display:flex;justify-content:center}.dash-search{display:flex;align-items:center;gap:8px;background-color:var(--bg);border:1px solid var(--outline-soft);border-radius:var(--radius);padding:0 12px;height:34px;width:340px;transition:border-color .15s}.dash-search:focus-within{border-color:var(--blue)}.search-icon{color:var(--outline);flex-shrink:0}.dash-search input{background:none;border:none;color:var(--text);font-family:var(--font);font-size:13px;width:100%;outline:none}.dash-search input::placeholder{color:var(--outline)}.dash-nav-right{flex:0 0 auto;display:flex;align-items:center;gap:8px}.btn-new-project{display:inline-flex;align-items:center;gap:7px;background-color:var(--blue);border:1px solid var(--blue);color:#fff;padding:6px 16px;border-radius:var(--radius);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.07em;transition:background-color .15s,border-color .15s,transform .1s}.btn-new-project:hover{background-color:var(--blue-hover);border-color:var(--blue-hover)}.btn-new-project:active{transform:scale(.97)}.nav-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--outline);cursor:pointer;border-radius:var(--radius);transition:color .15s,background-color .15s}.nav-icon-btn:hover{color:var(--text);background-color:var(--bg-card-mid)}.user-avatar-circle{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--blue) 0,#7c3aed 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.dash-main{max-width:1240px;margin:0 auto;padding:44px 36px 60px}.tactical-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px;gap:16px}.tactical-title-block{display:flex;align-items:stretch;gap:16px}.title-accent-bar{width:4px;min-height:100%;background:linear-gradient(180deg,var(--blue) 0,rgba(255,83,18,.4) 100%);border-radius:2px;flex-shrink:0}.title-text{display:flex;flex-direction:column;gap:5px}.tactical-heading{font-family:var(--font);font-size:26px;font-weight:800;letter-spacing:.02em;color:var(--text);line-height:1.1}.tactical-sub{font-size:11.5px;color:var(--outline);font-weight:400;letter-spacing:.01em}.view-toggle{display:flex;border:1px solid var(--outline-soft);border-radius:var(--radius);overflow:hidden;background-color:var(--bg-card-mid);align-self:flex-start;flex-shrink:0}.view-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:none;border:none;color:var(--outline);cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em;transition:background-color .15s,color .15s}.view-btn.active{background-color:var(--blue);color:#fff}.view-btn:not(.active):hover{color:var(--text);background-color:var(--bg-card-high)}.count-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px}.count-label{letter-spacing:.1em;color:var(--outline);text-transform:uppercase}.count-badge,.count-label{font-family:var(--mono);font-size:9px;font-weight:700}.count-badge{background-color:var(--blue);color:#fff;padding:1px 7px;border-radius:20px;letter-spacing:.04em}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.project-card{background-color:var(--bg-card-mid);border:1px solid var(--outline-soft);cursor:pointer;position:relative;display:flex;flex-direction:column;min-height:190px;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease;border-radius:2px;overflow:visible}.project-card:hover{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue-glow),var(--shadow-card-hover)}.project-card:active{transform:scale(.996)}.project-card-add{border-style:dashed;border-color:var(--outline-soft);background-color:transparent;min-height:190px;display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.project-card-add:hover{border-color:var(--blue);background-color:var(--blue-glow);box-shadow:0 0 0 1px var(--blue-glow)}.card-add-inner{flex-direction:column;gap:12px;padding:24px}.card-add-icon,.card-add-inner{display:flex;align-items:center;justify-content:center}.card-add-icon{width:52px;height:52px;border-radius:50%;border:1.5px dashed var(--outline-soft);color:var(--outline);transition:border-color .18s,color .18s}.project-card-add:hover .card-add-icon{border-color:var(--blue);color:var(--blue)}.card-add-label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--outline);transition:color .18s}.project-card-add:hover .card-add-label{color:var(--blue)}.card-body{padding:14px 14px 12px;flex:1 1;display:flex;flex-direction:column;gap:11px}.card-title-row{justify-content:space-between}.card-name-group,.card-title-row{display:flex;align-items:center;gap:8px}.card-name-group{flex:1 1;overflow:hidden}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:box-shadow .2s}.status-dot.active{background-color:var(--green);box-shadow:0 0 7px var(--green-glow)}.status-dot.empty{background-color:var(--amber);box-shadow:0 0 7px var(--amber-glow)}.card-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.card-menu-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--outline);cursor:pointer;border-radius:3px;flex-shrink:0;transition:color .12s,background-color .12s;position:relative;z-index:2}.card-menu-btn:hover{color:var(--text);background-color:var(--bg-card-high)}.card-meta{display:flex;flex-direction:column;gap:5px}.card-meta-row{display:flex;align-items:center;gap:6px;color:var(--outline);font-family:var(--mono);font-size:10px;line-height:1}.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.tag-pill{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--text-dim);background-color:var(--bg-card-high);border:1px solid var(--outline-soft);padding:2px 7px;border-radius:2px;text-transform:uppercase}.card-footer{border-top:1px solid var(--outline-faint);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.card-collections{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--blue);text-transform:uppercase}.card-arrow{color:var(--outline);transition:transform .18s ease,color .18s ease;flex-shrink:0}.project-card:hover .card-arrow{color:var(--blue);transform:translateX(4px)}.projects-list{border:1px solid var(--outline-soft);border-radius:2px;overflow:hidden}.list-header-row{display:grid;grid-template-columns:2.4fr 1.4fr 1fr 1.4fr 1.1fr 40px;padding:8px 16px;background-color:var(--bg-card);border-bottom:1px solid var(--outline-soft);grid-gap:8px;gap:8px;align-items:center}.list-head-cell{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--outline);text-transform:uppercase}.list-data-row{display:grid;grid-template-columns:2.4fr 1.4fr 1fr 1.4fr 1.1fr 40px;padding:13px 16px;background-color:var(--bg-card-mid);border-bottom:1px solid var(--outline-faint);grid-gap:8px;gap:8px;align-items:center;cursor:pointer;transition:background-color .12s}.list-data-row:last-child{border-bottom:none}.list-data-row:hover{background-color:var(--bg-card-high)}.list-cell-project{display:flex;align-items:center;gap:8px;overflow:hidden}.list-proj-name{font-size:13px;font-weight:600;color:var(--text)}.list-cell,.list-proj-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-cell{font-family:var(--mono);font-size:10px;color:var(--outline)}.list-cell-tags{display:flex;gap:4px;flex-wrap:wrap}.list-cell-count{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--blue)}.list-arrow{color:var(--outline);transition:transform .15s,color .15s}.list-data-row:hover .list-arrow{transform:translateX(3px);color:var(--blue)}.list-menu-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--outline);cursor:pointer;border-radius:3px;transition:color .12s,background-color .12s}.list-menu-btn:hover{color:var(--text)}.ctx-menu,.list-menu-btn:hover{background-color:var(--bg-card-high)}.ctx-menu{position:fixed;border:1px solid var(--outline-soft);border-radius:var(--radius);padding:4px 0;z-index:9000;min-width:168px;box-shadow:var(--shadow-menu);animation:ctxIn .12s ease}@keyframes ctxIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ctx-item{display:flex;align-items:center;gap:9px;padding:9px 14px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:background-color .1s,color .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ctx-item:hover{background-color:var(--bg-card-top);color:var(--text)}.ctx-item.ctx-danger{color:var(--red)}.ctx-item.ctx-danger:hover{background-color:hsla(0,100%,71%,.08);color:var(--red)}.ctx-divider{height:1px;background-color:var(--outline-soft);margin:4px 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:90px 0;color:var(--outline);text-align:center;animation:fadeIn .3s ease}.empty-state p{font-size:13px;color:var(--outline);max-width:280px;line-height:1.6}.empty-cta{margin-top:4px;background-color:var(--blue);border:none;color:#fff;padding:9px 22px;border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.04em;transition:background-color .15s,transform .1s}.empty-cta:hover{background-color:var(--blue-hover)}.empty-cta:active{transform:scale(.97)}.empty-cta.outline-btn{background-color:transparent;border:1px solid var(--blue);color:var(--blue)}.empty-cta.outline-btn:hover{background-color:var(--blue);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;inset:0;background-color:rgba(7,14,29,.82);display:flex;align-items:center;justify-content:center;z-index:5000;opacity:0;pointer-events:none;transition:opacity .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-backdrop.active{opacity:1;pointer-events:auto}.modal-box{background-color:var(--bg-card-mid);border:1px solid var(--outline-soft);width:440px;border-radius:var(--radius);transform:translateY(16px);transition:transform .22s cubic-bezier(.22,1,.36,1);overflow:hidden}.modal-backdrop.active .modal-box{transform:translateY(0)}.modal-box-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--outline-soft);background-color:var(--bg-card)}.modal-box-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:.01em}.modal-close-btn{background:none;border:none;color:var(--outline);cursor:pointer;font-size:14px;padding:2px 8px;border-radius:3px;transition:color .12s,background-color .12s;line-height:1}.modal-close-btn:hover{color:var(--text);background-color:var(--bg-card-high)}.modal-box-body{padding:22px 20px 18px;display:flex;flex-direction:column;gap:18px}.modal-field-group{display:flex;flex-direction:column;gap:7px;position:relative}.modal-field-label{font-family:var(--mono);font-size:9.5px;font-weight:700;color:var(--outline);letter-spacing:.08em}.modal-field-input{background-color:var(--bg);border:1px solid var(--outline-soft);color:var(--text);font-family:var(--font);font-size:14px;height:42px;padding:0 12px;border-radius:3px;outline:none;transition:border-color .15s;width:100%}.modal-field-input:focus{border-color:var(--blue)}.modal-field-input.input-error{border-color:var(--red)}.modal-char-count{font-family:var(--mono);font-size:9px;color:var(--outline);position:absolute;right:0;bottom:-18px}.modal-auto-meta{display:flex;gap:24px;padding:12px 14px;background-color:var(--bg-card);border:1px solid var(--outline-faint);border-radius:3px;margin-top:6px}.modal-auto-meta-item{display:flex;align-items:center;gap:7px}.modal-auto-meta-item svg{color:var(--outline);flex-shrink:0}.modal-meta-label{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--outline);letter-spacing:.08em}.modal-meta-value{font-family:var(--mono);font-size:10px;color:var(--text-dim)}.modal-box-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--outline-soft);background-color:var(--bg-card)}.modal-btn-secondary{background:none;border:1px solid var(--outline-soft);color:var(--text-dim);padding:8px 16px;border-radius:3px;cursor:pointer;font-size:12px;font-weight:500;transition:border-color .12s,color .12s}.modal-btn-secondary:hover{border-color:var(--outline);color:var(--text)}.modal-btn-primary{display:inline-flex;align-items:center;gap:7px;background-color:var(--blue);border:1px solid var(--blue);color:#fff;padding:8px 20px;border-radius:3px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.02em;transition:background-color .15s,transform .1s}.modal-btn-primary:hover{background-color:var(--blue-hover);border-color:var(--blue-hover)}.modal-btn-primary:active{transform:scale(.97)}.toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{background-color:var(--bg-card-high);border:1px solid var(--outline-soft);border-left:3px solid var(--blue);color:var(--text);padding:10px 16px;font-size:12px;border-radius:3px;box-shadow:0 4px 16px rgba(0,0,0,.4);max-width:300px;animation:toastSlide .25s ease,toastFade .3s ease 2.5s forwards;pointer-events:auto}@keyframes toastSlide{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes toastFade{to{opacity:0;transform:translateX(10px)}}.list-data-row,.project-card{animation:cardReveal .2s ease both}@keyframes cardReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-menu-wrapper{position:relative;display:flex;align-items:center}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background-color:var(--bg-card-high);border:1px solid var(--outline-soft);border-radius:var(--radius);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .15s,transform .15s;z-index:1000}.profile-dropdown.active{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-header{padding:12px 16px;border-bottom:1px solid var(--outline-faint);display:flex;flex-direction:column;gap:2px}.dropdown-name{font-size:13px;font-weight:600;color:var(--text)}.dropdown-email{font-size:11px;color:var(--outline)}.dropdown-body{padding:8px 0}.dropdown-footer{padding:8px 0;border-top:1px solid var(--outline-faint)}.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;color:var(--text);text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}.dropdown-item svg{color:var(--outline);transition:color .15s}.dropdown-item:hover{background-color:var(--bg-card-mid)}.dropdown-item:hover svg{color:var(--text)}.dropdown-item.danger,.dropdown-item.danger svg{color:var(--red)}.dropdown-item.danger:hover{background-color:hsla(0,100%,71%,.08)}@media (max-width:1100px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:800px){.projects-grid{grid-template-columns:repeat(2,1fr)}.dash-search{width:220px}.dash-main{padding:28px 20px 48px}.tactical-heading{font-size:22px}.list-data-row,.list-header-row{grid-template-columns:2fr 1fr 1fr 36px}.list-cell:nth-child(2),.list-cell:nth-child(3),.list-head-cell:nth-child(2),.list-head-cell:nth-child(3){display:none}}@media (max-width:560px){.projects-grid{grid-template-columns:1fr}.btn-new-project span{display:none}}body.light-theme{--bg:#f4f6f8;--bg-dim:#eef0f3;--bg-card:#fff;--bg-card-mid:#f8fafc;--bg-card-high:#f1f5f9;--bg-card-top:#e2e8f0;--divider:#e2e8f0;--outline-faint:#f1f5f9;--outline-soft:#e2e8f0;--outline:#64748b;--text:#0f172a;--text-dim:#334155}body.light-theme .dash-search input{color:var(--text)}body.light-theme .dash-search input::placeholder{color:var(--outline)}body.light-theme .nav-icon-btn{color:var(--outline)}body.light-theme .ctx-item,body.light-theme .ctx-item:hover,body.light-theme .dropdown-item,body.light-theme .dropdown-item:hover,body.light-theme .dropdown-name,body.light-theme .modal-box-title,body.light-theme .nav-icon-btn:hover{color:var(--text)}body.light-theme .modal-field-input{background-color:var(--bg);color:var(--text)}body.light-theme .toast{color:var(--text);background-color:var(--bg-card)}.modal-box.width-400{width:400px}.modal-box.width-380{width:380px}#confirm-message{color:var(--text);font-size:14px;margin:0;line-height:1.5}.loader-screen-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg);display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.loader-center-box{display:flex;flex-direction:column;align-items:center;gap:24px}.loader-animation-container{width:100px;height:100px;background-color:var(--bg-card-mid);border:1px solid var(--outline-soft);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 20px rgba(0,0,0,.2)}.connecting-points-svg{overflow:visible}.loader-node{fill:var(--blue);animation:pulseNode 1.5s ease-in-out infinite alternate}.loader-node.node-1{animation-delay:0s}.loader-node.node-2{animation-delay:.3s}.loader-node.node-3{animation-delay:.6s}.loader-node.node-4{animation-delay:.9s}.loader-line{stroke:var(--outline-soft);stroke-width:1.5;stroke-dasharray:4 4;opacity:.3;animation:lineSync 2s linear infinite}.loader-line.line-5,.loader-line.line-6{stroke:var(--blue);opacity:.15}.loader-typewriter-text{font-family:var(--font);font-size:14px;color:var(--text);letter-spacing:.05em;font-weight:500;display:flex;align-items:center;min-height:20px}.loader-caret{animation:blinkCaret .8s infinite;margin-left:2px;color:var(--blue)}@keyframes pulseNode{0%{r:5px;fill:var(--blue);filter:drop-shadow(0 0 2px var(--blue))}to{r:8px;fill:#3b82f6;filter:drop-shadow(0 0 8px #3b82f6)}}@keyframes lineSync{0%{stroke-dashoffset:0;opacity:.2}50%{opacity:.6}to{stroke-dashoffset:-20;opacity:.2}}@keyframes blinkCaret{0%,to{opacity:0}50%{opacity:1}}