.navbar{position:fixed;top:0;left:0;right:0;height:4rem;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,var(--color-surface),rgba(15,23,42,.98));box-shadow:var(--shadow-soft);z-index:10}.navbar__brand{font-weight:600;letter-spacing:.03em;color:var(--color-primary)}.navbar__nav{display:flex;gap:1rem}.navbar__link{padding:.4rem .8rem;border-radius:999px;text-decoration:none;font-size:.9rem;color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.navbar__link:hover{background-color:#94a3b826;color:var(--color-text);transform:translateY(-1px)}.navbar__link--active{background:var(--color-primary);color:#0b1120}.navbar--sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;height:100vh;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:1rem}.navbar--sidebar .navbar__brand{margin-bottom:1.5rem}.navbar--sidebar .navbar__nav{flex-direction:column;gap:.5rem}.navbar--sidebar .navbar__link{width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.app__content{flex:1;padding-top:4rem}.app.app--sidebar{flex-direction:row}.app.app--sidebar .app__content{padding-top:0;margin-left:240px}.dashboard-page{display:flex;flex-direction:column}.dashboard-subtitle{margin-top:.25rem;margin-bottom:1.5rem;color:var(--color-muted)}.dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}@media(max-width:1024px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.dashboard-cards{grid-template-columns:1fr}}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;box-shadow:var(--shadow-soft);border:1px solid rgba(148,163,184,.25);display:flex;flex-direction:column;justify-content:space-between;min-height:5.5rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.stat-card--primary{border-color:transparent;background-color:var(--color-primary)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0006;border-color:var(--color-accent)}.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.stat-card--primary .stat-label{color:#f1f5f9d9}.stat-value{margin-top:.35rem;font-size:2rem;font-weight:700;color:var(--color-text);line-height:1.1}.stat-card--primary .stat-value{color:#f9fafb}.stat-card{cursor:pointer;border:none;background:var(--color-surface)}.stat-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.custom-charts{margin-top:2rem}.custom-charts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.custom-charts-grid{display:flex;flex-wrap:wrap;gap:1.5rem}.custom-chart-card{background:#fff;border-radius:8px;padding:.75rem 1rem;box-shadow:0 2px 6px #0000000d}.chart-title{font-size:.95rem;font-weight:600;margin-bottom:.5rem}.chart-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:40}.chart-modal{background:#fff;width:80vw;max-width:1100px;max-height:80vh;display:flex;border-radius:10px;overflow:hidden}.chart-modal-left{flex:2;padding:1.5rem;border-right:1px solid #eee}.chart-modal-preview{margin-top:1rem;height:280px}.chart-modal-right{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chart-modal-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.chart-modal-field select,.chart-modal-field input{padding:.35rem .5rem}.chart-modal-buttons{margin-top:auto;display:flex;justify-content:flex-end;gap:.5rem}.custom-charts{display:grid;gap:.9rem;width:100%}.custom-charts-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 0}.custom-charts-header h2{margin:0;font-size:1.1rem;font-weight:800}.custom-charts-header button{padding:.55rem 1rem;border-radius:999px;border:none;background:var(--color-primary);color:var(--color-text);font-size:.9rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-soft)}.custom-charts-header button:hover{background:var(--color-accent);transform:translateY(-1px)}.custom-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.9rem;align-items:stretch}@media(max-width:900px){.custom-charts-grid{grid-template-columns:1fr}}.custom-chart-card{max-height:420px;background:#0f172ad9;border:1px solid rgba(148,163,184,.28);border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden;transition:transform var(--transition-fast),border-color var(--transition-fast)}.custom-chart-card:hover{transform:translateY(-1px);border-color:#94a3b86b}.custom-chart-card-inner{display:grid;grid-template-rows:auto 1fr;gap:.55rem;height:100%;padding:.75rem .75rem .6rem}.chart-card-header{display:grid;gap:.55rem}.chart-title{font-size:.95rem;font-weight:800;color:var(--color-text)}.chart-remove-btn{width:30px;height:30px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#02061740;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.chart-remove-btn:hover{background:#ef444426;border-color:#ef444459;transform:translateY(-1px)}.chart-mini-filters{display:flex;flex-wrap:wrap;gap:.5rem .65rem;align-items:center}.chart-mini-filters label{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--color-muted);padding:.28rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#02061733}.chart-mini-filters select{border:none;outline:none;background:transparent;color:var(--color-muted);font-size:.78rem;cursor:pointer;padding:0}.custom-chart-card .recharts-responsive-container{border-radius:12px;background:#0206172e;border:1px solid rgba(148,163,184,.14);padding:.4rem}.chart-empty{height:260px;display:grid;place-items:center;border-radius:12px;background:#0206172e;border:1px dashed rgba(148,163,184,.22);color:var(--color-muted);text-align:center;padding:1rem}.chart-empty strong{display:block;color:#e2e8f0e6;margin-bottom:.25rem}.chart-empty span{font-size:.85rem}.chart-modal-backdrop{position:fixed;inset:0;background:#020617b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:50}.chart-modal{width:min(980px,100%);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1.6fr 1fr;background:#0f172afa;border:1px solid rgba(148,163,184,.28);box-shadow:0 20px 80px #00000073}.chart-modal-left{padding:1rem;border-right:1px solid rgba(148,163,184,.18)}.chart-modal-left h2{margin:0 0 .6rem;font-size:1.05rem;font-weight:900}.chart-modal-preview{border-radius:16px;background:#02061733;border:1px solid rgba(148,163,184,.14);padding:.6rem}.chart-modal-right{padding:1rem;display:grid;gap:.75rem;align-content:start}.chart-modal-right h3{margin:.4rem 0 .2rem;font-size:.9rem;font-weight:900;color:var(--color-text)}.chart-modal-field{display:grid;gap:.35rem;font-size:.78rem;color:var(--color-muted)}.chart-modal-field span{font-weight:800;color:#e2e8f0e6}.chart-modal-field select,.chart-modal-field input{width:100%;padding:.55rem .7rem;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#02061740;color:var(--color-text);outline:none}.chart-modal-field select:focus,.chart-modal-field input:focus{border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf82e}.chart-modal-buttons{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.chart-modal-buttons button{padding:.55rem .95rem;border-radius:999px;font-weight:800;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.chart-modal-buttons button:first-child{border:1px solid rgba(148,163,184,.3);background:#0206172e;color:var(--color-text)}.chart-modal-buttons button:first-child:hover{background:#02061759;transform:translateY(-1px)}.chart-modal-buttons button:last-child{border:none;background:var(--color-primary);color:var(--color-text);box-shadow:var(--shadow-soft)}.chart-modal-buttons button:last-child:hover{background:var(--color-accent);transform:translateY(-1px)}@media(max-width:900px){.chart-modal{grid-template-columns:1fr}.chart-modal-left{border-right:none;border-bottom:1px solid rgba(148,163,184,.18)}}.project-page{display:flex;flex-direction:column}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.project-subtitle{margin-top:.25rem;color:var(--color-muted);font-size:.9rem}.project-actions{display:flex;gap:.75rem}.btn-secondary{padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#0f172a59;color:var(--color-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);box-shadow:none}.btn-secondary:hover{background:#0f172a99;border-color:#94a3b8b3;transform:translateY(-1px)}.profile-page{padding:22px 22px 24px;display:flex;flex-direction:column;gap:18px}.profile-header{display:flex;justify-content:space-between;align-items:flex-end}.profile-header h1{margin:0 0 4px;font-size:20px;letter-spacing:.01em}.profile-header p{margin:0;font-size:13px;color:var(--color-muted)}.profile-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.profile-main-left{display:flex;gap:18px;padding:16px 16px 18px;border-radius:18px;border:1px solid var(--color-surface);background:radial-gradient(circle at top left,#020617 0 55%,#000 120%);box-shadow:0 18px 40px #0f172ae6}.profile-avatar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-avatar{width:80px;height:80px;border-radius:999px;background:radial-gradient(circle at 0 0,#22d3ee 0,#0ea5e9 40%,#0369a1 90%);display:flex;align-items:center;justify-content:center;box-shadow:0 15px 30px #082f49e6;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar span{font-size:30px;font-weight:700;color:#020617}.profile-avatar-change{border-radius:999px;border:1px solid var(--color-surface);background:#0f172a;color:var(--color-muted);font-size:11px;padding:4px 10px;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .15s ease-out}.profile-avatar-change:hover{background:#0f172a;border-color:#38bdf8b3;color:var(--color-text);transform:translateY(-1px)}.profile-basic-info{display:flex;flex-direction:column;gap:8px;flex:1}.profile-name{margin:0;font-size:18px}.profile-role{margin:0;font-size:13px;color:var(--color-muted)}.profile-meta-row{display:flex;flex-wrap:wrap;gap:6px}.profile-meta-pill{font-size:11px;padding:4px 10px;border-radius:999px;background:#0f172af2;border:1px solid var(--color-surface);color:var(--color-muted)}.profile-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.profile-contact-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:2px}.profile-contact-value{font-size:13px}.profile-main-right{display:flex;flex-direction:column;gap:10px}.profile-stats-card{border-radius:18px;border:1px solid var(--color-surface);background:radial-gradient(circle at top,#020617 0 60%,#000 120%);box-shadow:0 18px 40px #0f172a;padding:14px 14px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-stat-item{display:flex;flex-direction:column;gap:2px}.profile-stat-label{font-size:11px;color:var(--color-muted)}.profile-stat-value{font-size:18px;font-weight:600}.profile-skills-card{border-radius:16px;border:1px solid var(--color-surface);background:radial-gradient(circle at top left,#020617 0 65%,#000 120%);padding:10px 14px 12px;box-shadow:0 14px 32px #0f172ae6}.profile-skills-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-bottom:6px}.profile-skills-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-skill-pill{font-size:11px;padding:4px 8px;border-radius:999px;background:#0f172af2;border:1px solid var(--color-surface)}.profile-about{border-radius:18px;border:1px solid var(--color-surface);background:radial-gradient(circle at top left,#020617 0 55%,#000 120%);box-shadow:0 18px 40px #0f172a;padding:14px 16px 16px}.profile-about h3{margin:0 0 6px;font-size:14px}.profile-about p{margin:0;font-size:13px;color:var(--color-muted)}@media(max-width:960px){.profile-main{grid-template-columns:minmax(0,1fr)}.profile-main-left{flex-direction:column}.profile-contact{grid-template-columns:minmax(0,1fr)}.profile-stats-card{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.profile-stats-card{grid-template-columns:repeat(2,minmax(0,1fr))}}.tasks-page{display:flex;flex-direction:column}.tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.tasks-subtitle{margin-top:.25rem;color:var(--color-muted);font-size:.9rem}.tasks-actions{display:flex;gap:.75rem}.btn-primary{padding:.55rem 1rem;border-radius:999px;border:none;background:var(--color-primary);color:var(--color-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--color-accent);transform:translateY(-1px)}.board-wrapper{margin-top:.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}.board-group-header{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(148,163,184,.3);background:#0f172ae6}.group-indicator{width:10px;height:10px;border-radius:999px;margin-right:.5rem;background:var(--color-accent)}.group-title{font-weight:600}.board-table{min-width:100%;overflow-x:auto}.board-row{display:grid;grid-template-columns:32px minmax(200px,1.2fr) 80px 120px 80px 120px 140px 140px 120px 140px 170px 120px;align-items:center;padding:.35rem 1rem;column-gap:.75rem;border-bottom:1px solid rgba(148,163,184,.18)}.board-row--header{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);background:#0f172ae6}.board-row:nth-child(odd):not(.board-row--header){background:#0f172a99}.board-row:nth-child(2n):not(.board-row--header){background:#0f172a66}.board-row:hover:not(.board-row--header):not(.board-row--add){background:#0f172ae6}.cell{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem}.cell--checkbox{display:flex;justify-content:center}.cell--item{font-weight:500}.cell--small,.cell--tag,.cell--status{font-size:.8rem}.board-row--add{background:#0f172ab3}.cell--add{grid-column:2 / span 2;text-align:left;padding:.4rem 0;background:none;border:none;color:var(--color-accent);font-size:.85rem;cursor:pointer}.pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;line-height:1}.pill--department{background:#0ea5e926;color:var(--color-accent)}.pill--version{background:#94a3b833;color:var(--color-text)}.pill--status{font-weight:600}.pill--done{background:#22c55e26;color:#4ade80}.pill--ongoing{background:#f973162e;color:#f97316}.avatar-circle{width:28px;height:28px;border-radius:999px;background:#94a3b84d;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.board-link{color:var(--color-accent);cursor:pointer}.board-link:hover{text-decoration:underline}.muted-text{color:var(--color-muted)}@media(max-width:1024px){.board-row{grid-template-columns:32px minmax(180px,1.5fr) 80px 110px 80px 110px 130px 130px 0 0 0 110px}.board-row>.cell:nth-child(9),.board-row--header>.cell:nth-child(9),.board-row>.cell:nth-child(10),.board-row--header>.cell:nth-child(10),.board-row>.cell:nth-child(11),.board-row--header>.cell:nth-child(11){display:none}}@media(max-width:768px){.board-row{grid-template-columns:32px minmax(160px,2fr) 70px 100px 90px 100px 0 0 0 0 0 100px}.board-row>.cell:nth-child(7),.board-row--header>.cell:nth-child(7),.board-row>.cell:nth-child(8),.board-row--header>.cell:nth-child(8){display:none}}.cal-page{padding:16px}.cal-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-left{display:flex;align-items:center;gap:12px}.cal-right{display:flex;align-items:center;gap:10px}.cal-btn{border:1px solid #d9dde3;background:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}.cal-btn--primary{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.cal-nav{display:flex;align-items:center;gap:8px}.cal-label{margin-left:8px;font-weight:600;color:#2b2f36}.cal-seg{display:inline-flex;border:1px solid #d9dde3;border-radius:10px;overflow:hidden}.cal-seg-btn{padding:8px 12px;background:#fff;border:0;cursor:pointer;font-size:14px}.cal-seg-btn.is-active{background:#f1f5ff;font-weight:700}.cal-week{border:1px solid #e3e7ee;border-radius:12px;overflow:hidden;background:#fff}.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e3e7ee;background:#fafbfc}.cal-grid-header-cell{padding:10px 12px;border-right:1px solid #eef1f6}.cal-grid-header-cell:last-child{border-right:none}.cal-dow{font-size:12px;color:#6b7280;margin-bottom:4px}.cal-daynum{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;font-weight:700;color:#111827}.cal-daynum.is-today{background:#2563eb;color:#fff}.cal-grid-body{position:relative;min-height:520px}.cal-grid-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid-bg-col{border-right:1px solid #eef1f6}.cal-grid-bg-col:last-child{border-right:none}.cal-lanes{position:relative;z-index:2;padding:16px 10px 10px;display:flex;flex-direction:column;gap:10px}.cal-lane-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:center}.cal-pill{height:34px;border-radius:10px;display:flex;align-items:center;padding:0 10px;gap:8px;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.cal-pill-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-pill-meta{margin-left:auto;font-size:12px;opacity:.8}.cal-pill--done{background:#a7f3d0}.cal-pill--ongoing{background:#bae6fd}.cal-pill--default{background:#dbeafe}.cal-addrow{position:absolute;left:0;right:0;bottom:10px;padding:0 10px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;z-index:2}.cal-addbtn{height:36px;border-radius:10px;border:1px dashed #d9dde3;background:#ffffffbf;cursor:pointer;color:#6b7280}.cal-empty{color:#6b7280;padding:8px}.cal-month{border:1px solid #e3e7ee;border-radius:12px;overflow:hidden;background:#fff}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);background:#fafbfc;border-bottom:1px solid #e3e7ee}.cal-month-header-cell{padding:10px 12px;font-size:12px;color:#6b7280;border-right:1px solid #eef1f6}.cal-month-header-cell:last-child{border-right:none}.cal-month-weeks{display:flex;flex-direction:column}.cal-month-week{position:relative;border-bottom:1px solid #eef1f6;min-height:110px}.cal-month-week:last-child{border-bottom:none}.cal-month-days{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-day{border-right:1px solid #eef1f6;min-height:110px;padding:8px 10px}.cal-month-day:last-child{border-right:none}.cal-month-day.is-out{background:#fafafa;color:#9ca3af}.cal-month-daynum{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;font-weight:700;font-size:13px}.cal-month-daynum.is-today{background:#2563eb;color:#fff}.cal-month-lanes{position:absolute;left:10px;right:10px;top:34px;display:flex;flex-direction:column;gap:8px;z-index:2;pointer-events:none}.cal-month-lanes .cal-pill{height:28px;border-radius:10px;pointer-events:auto}.cal-more{font-size:12px;color:#6b7280;padding-left:4px}:root{--color-bg: #0B1120;--color-surface: #111827;--color-primary: #0EA5E9;--color-secondary: #0369A1;--color-accent: #38BDF8;--color-text: #F1F5F9;--color-muted: #94A3B8;--radius-lg: .75rem;--shadow-soft: 0 10px 25px rgba(0, 0, 0, .3);--transition-fast: .15s ease-in-out}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-bg);color:var(--color-text)}#root{min-height:100vh}.page{padding:1.5rem 1.5rem 2rem}.page h1{margin-bottom:.5rem;font-size:1.5rem}.page p{color:var(--color-muted)}
