@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;font-size:80%;--bg: #1e1e1e;--bg-elevated: #252526;--bg-soft: #2d2d30;--border: #3c3c3c;--text: #e6e6e6;--muted: #a8a8a8;--fg-green-700: #0f7a4d;--fg-green-500: #2fbf71;--accent: var(--fg-green-500);--accent-soft: rgba(47, 191, 113, .16);--success: #4ec9b0;--warning: #d7ba7d;--danger: #f48771;--shadow: 0 18px 42px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(47,191,113,.16),transparent 28%),linear-gradient(180deg,#1b1b1b,#151515);color:var(--text)}button,input,textarea,select{font:inherit}.App{min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top left,rgba(47,191,113,.1),transparent 24%),linear-gradient(180deg,#101010eb,#151515fa)}.auth-card{width:min(560px,100%);background:linear-gradient(180deg,#27272afa,#1c1c1efa);border:1px solid var(--border);border-radius:22px;padding:1.15rem;box-shadow:var(--shadow)}.auth-loader{max-width:480px;margin:0 auto;padding:1rem .5rem;text-align:center;justify-items:center;display:grid;gap:.9rem}.auth-minimal{display:grid;gap:1.25rem;padding:.4rem}.auth-minimal-header{display:grid;gap:.65rem}.auth-minimal-header h1,.auth-loader h1{margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1;letter-spacing:-.04em}.auth-minimal-header p,.auth-loader p{margin:0;color:var(--muted);line-height:1.6}.auth-minimal-body{display:grid;gap:.9rem}.field{display:grid;gap:.35rem}.field span{color:var(--muted);font-size:.85rem}.field input{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);padding:.85rem .9rem;outline:none}.field input:focus{border-color:#2fbf7199;box-shadow:0 0 0 3px #2fbf711f}.field select,.user-select{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);padding:.85rem .9rem;outline:none}.field select:focus,.user-select:focus{border-color:#2fbf7199;box-shadow:0 0 0 3px #2fbf711f}.filter-checkbox-list{display:grid;gap:.45rem;padding:.25rem 0}.filter-checkbox-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:10px;background:#ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.filter-checkbox-item:hover{transform:translateY(-1px);border-color:#2fbf7166}.filter-checkbox-item input{width:.95rem;height:.95rem;margin:0;accent-color:var(--fg-green-500)}.filter-checkbox-item.active{background:#2fbf711f;border-color:#2fbf718c}.email-row{display:flex;align-items:center;gap:.5rem}.email-row input{flex:1}.email-suffix{display:inline-flex;align-items:center;min-height:2.8rem;padding:0 .8rem;border-radius:10px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);white-space:nowrap}.field-hint{color:var(--muted);font-size:.78rem}.auth-message{padding:.8rem .95rem;border-radius:14px;border:1px solid rgba(47,191,113,.24);background:#2fbf7114;color:#dcffee}.auth-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.2rem}.auth-actions-center{justify-content:center}.dashboard{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .16s ease}.dashboard.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:relative;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1rem;background:linear-gradient(180deg,#252526,#1f1f1f);border-right:1px solid var(--border);overflow:hidden;transition:padding .16s ease}.brand{display:flex;align-items:center;gap:.8rem;padding:.5rem .25rem 1rem}.brand-copy{min-width:0}.brand-mark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));color:#fff;font-weight:800;letter-spacing:.04em;box-shadow:var(--shadow);overflow:hidden}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}.brand-name{font-size:.92rem;font-weight:700}.brand-subtitle{font-size:.78rem;color:var(--muted);margin-top:.12rem}.sidebar-rail{position:absolute;top:1.1rem;right:-.85rem;z-index:3}.sidebar-toggle{width:2.1rem;height:2.1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);cursor:pointer;flex:0 0 auto;box-shadow:var(--shadow)}.sidebar-toggle:hover{border-color:#2fbf7173;transform:translate(1px)}.menu{display:flex;flex-direction:column;gap:.25rem}.menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.78rem .85rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.menu-item:hover{background:#ffffff0a;transform:translate(1px)}.menu-item.active{background:var(--accent-soft);border-color:#2fbf7180}.menu-count{min-width:1.6rem;height:1.25rem;display:inline-grid;place-items:center;border-radius:999px;padding:0 .35rem;font-size:.72rem;background:var(--bg-soft);color:var(--muted)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);display:grid;gap:.65rem}.runtime-chip,.host-chip{width:fit-content;padding:.35rem .65rem;border-radius:999px;font-size:.78rem;background:#ffffff0d;color:var(--text);border:1px solid var(--border)}.access-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.access-switch-btn{border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text);padding:.65rem .75rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.access-switch-btn:hover{transform:translateY(-1px);border-color:#2fbf7173}.access-switch-btn.active{background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));border-color:#2fbf7173;color:#fff}.content{padding:1.2rem;display:grid;gap:1rem;align-content:start}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;margin-bottom:.4rem}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02}.topbar p,.panel-heading p,.integration-card p,.stat-detail,.task-card p,.sidebar-footer p{color:var(--muted)}.dashboard.sidebar-collapsed .sidebar{padding-inline:.55rem}.dashboard.sidebar-collapsed .sidebar-rail{right:-.95rem}.dashboard.sidebar-collapsed .brand{justify-content:center;padding-inline:0}.dashboard.sidebar-collapsed .brand-copy,.dashboard.sidebar-collapsed .menu-label,.dashboard.sidebar-collapsed .sidebar-footer,.dashboard.sidebar-collapsed .access-switch{display:none}.dashboard.sidebar-collapsed .menu-item{position:relative;justify-content:center;padding-inline:0}.dashboard.sidebar-collapsed .menu-count{position:absolute;top:.25rem;right:.25rem}.dashboard.sidebar-collapsed .content{padding-left:1rem}.topbar p{max-width:62ch;margin-top:.4rem;line-height:1.6}.topbar-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.badge{display:inline-flex;align-items:center;padding:.5rem .75rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-size:.82rem;font-weight:600}.running-task-banner{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;width:min(460px,calc(100vw - 2.5rem));display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(47,191,113,.32);background:linear-gradient(135deg,#094e3147,#2fbf7124);color:var(--text);box-shadow:var(--shadow);cursor:pointer;text-align:left;transition:transform .12s ease,border-color .12s ease}.running-task-banner:hover{transform:translateY(-1px);border-color:#2fbf718c}.running-task-banner-dot{width:.9rem;height:.9rem;border-radius:999px;background:var(--fg-green-500);box-shadow:0 0 0 6px #2fbf711f;flex:0 0 auto}.running-task-banner-copy{display:grid;gap:.15rem;min-width:0;flex:1}.running-task-banner-copy strong{font-size:.95rem}.running-task-banner-copy span{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.running-task-banner-action{display:inline-flex;align-items:center;padding:.45rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#f3fff8;font-size:.8rem;font-weight:700;flex:0 0 auto}.task-realized{display:inline-flex;align-items:center;width:fit-content;padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(47,191,113,.18);background:#2fbf7114;color:#d9fff6;font-size:.74rem;font-weight:700}@media(max-width:640px){.running-task-banner{right:.75rem;bottom:.75rem;width:calc(100vw - 1.5rem);flex-wrap:wrap}.running-task-banner-action{margin-left:auto}}.view-toggle-group{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--border);border-radius:999px;background:#ffffff08}.view-toggle-button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:.5rem .85rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.view-toggle-button:hover{transform:translateY(-1px);color:var(--text)}.view-toggle-button.active{background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));color:#fff;box-shadow:0 8px 20px #2fbf712e}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:.85rem;box-shadow:var(--shadow);display:grid;gap:.4rem}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{font-size:1.45rem;line-height:1}.stat-detail{font-size:.85rem}.main-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:.85rem;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.panel-heading-spaced{margin-top:1.2rem}.panel-tag{color:var(--muted);border:1px solid var(--border);background:#ffffff08;border-radius:999px;padding:.4rem .7rem;font-size:.78rem;white-space:nowrap}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.excel-shell{display:grid;gap:.75rem;overflow:auto;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:#0000001f}.excel-toolbar-shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.excel-toolbar-summary,.excel-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.user-toolbar-shell{margin-bottom:.25rem}.filter-summary-label{color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.filter-summary-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.filter-summary-badge.muted{color:var(--muted)}.toolbar-button,.icon-button{border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));color:#fff;padding:.72rem .95rem;font-weight:700;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.toolbar-button:hover,.icon-button:hover{transform:translateY(-1px)}.toolbar-button.ghost{background:#ffffff08;color:var(--text)}.filter-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#08080aa8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:flex-end}.filter-modal{width:min(420px,100%);height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:1rem;padding:1.1rem;background:linear-gradient(180deg,#272728,#1f1f20);border-left:1px solid var(--border);box-shadow:var(--shadow);animation:slide-in-right .16s ease-out}.filter-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.filter-modal-head h3{margin-top:.2rem;font-size:1.2rem}.filter-modal-body{display:grid;align-content:start;gap:.9rem;overflow:auto;padding-right:.2rem}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-radius:999px;border:1px solid var(--border);background:#ffffff08;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,border-color .12s ease,background .12s ease}.filter-chip:hover{transform:translateY(-1px);border-color:#2fbf7166}.filter-chip input{width:.95rem;height:.95rem;margin:0;accent-color:var(--fg-green-500)}.filter-chip.active{background:#2fbf711f;border-color:#2fbf718c}.filter-modal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}@keyframes slide-in-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.excel-table{min-width:900px;display:grid}.excel-row{display:grid;grid-template-columns:110px minmax(220px,2fr) minmax(180px,1.3fr) minmax(180px,1.3fr) 110px 190px;gap:0;border-bottom:1px solid var(--border)}.excel-row>span{padding:.7rem .75rem;display:flex;align-items:center;min-height:44px;border-right:1px solid rgba(255,255,255,.04)}.excel-sort-button{width:100%;border:0;background:transparent;color:#eafff3;padding:.7rem .75rem;min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:.35rem;font-weight:700;cursor:pointer}.excel-sort-button:hover{background:#ffffff0d}.excel-row>span:last-child{border-right:0}.excel-head{position:sticky;top:0;z-index:1;background:linear-gradient(135deg,#0f7a4d59,#2fbf712e);font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.excel-head>span{color:#eafff3}.excel-head>.excel-sort-button{color:#eafff3;border-right:1px solid rgba(255,255,255,.04)}.excel-head>.excel-sort-button:last-child{border-right:0}.excel-row:not(.excel-head):nth-child(2n){background:#ffffff05}.excel-row:not(.excel-head):hover{background:#2fbf7114}.excel-task-title{font-weight:600}.excel-readonly-cell{color:var(--muted);font-size:.82rem}.team-grid,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.task-card{background:linear-gradient(180deg,#2b2b2d,#232325);border:1px solid var(--border);border-radius:12px;padding:.82rem;display:grid;gap:.62rem;min-height:144px}.task-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.task-card h3{font-size:1rem;line-height:1.35}.task-card p{font-size:.9rem}.task-action-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.task-inline-actions{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.task-inline-actions.compact{gap:.25rem}.task-toggle{display:inline-flex;align-items:center;gap:.32rem;justify-content:center;min-width:6.9rem;border:1px solid var(--border);border-radius:8px;padding:.42rem .62rem;background:var(--bg-soft);color:var(--text);font-size:.84rem;line-height:1;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.task-toggle.compact{min-width:0;padding:.35rem .5rem;font-size:.76rem}.task-toggle:disabled{opacity:.7;cursor:not-allowed;transform:none}.task-toggle:hover{transform:translateY(-1px);border-color:#2fbf7180}.task-toggle.start{background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));border-color:#2fbf716b;color:#fff}.task-toggle.stop,.task-toggle.block{background:#f4877129;border-color:#f487716b;color:#ffdcd4}.task-toggle.complete{background:linear-gradient(135deg,var(--fg-green-700),var(--fg-green-500));border-color:#2fbf716b;color:#fff}.task-finished-label{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .65rem;border-radius:999px;border:1px solid rgba(78,201,176,.3);background:#4ec9b01f;color:#d9fff6;font-size:.75rem;font-weight:700}.task-icon{position:relative;display:inline-flex;width:.72rem;height:.72rem;flex:0 0 auto}.icon-start:before{content:"";position:absolute;left:.08rem;top:.03rem;width:0;height:0;border-top:.34rem solid transparent;border-bottom:.34rem solid transparent;border-left:.58rem solid currentColor}.icon-stop:before{content:"";position:absolute;top:.06rem;right:.06rem;bottom:.06rem;left:.06rem;border-radius:2px;background:currentColor}.icon-block:before{content:"";position:absolute;top:.06rem;right:.06rem;bottom:.06rem;left:.06rem;border-radius:3px;border:1.6px solid currentColor;opacity:.95}.icon-block:after{content:"";position:absolute;left:.1rem;top:.31rem;width:.58rem;height:1.6px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}.icon-complete:before{content:"";position:absolute;left:.05rem;top:.24rem;width:.23rem;height:.13rem;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg)}.icon-complete:after{content:"";position:absolute;left:.2rem;top:.11rem;width:.38rem;height:.13rem;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg)}.running-indicator,.idle-indicator{font-size:.78rem;color:var(--muted);white-space:nowrap}.running-indicator{color:var(--success)}.task-meta{margin-top:auto;display:flex;flex-direction:column;gap:.2rem;color:var(--muted);font-size:.8rem}.task-table-actions{justify-content:flex-start}.user-task-table{min-width:980px}.user-task-table .excel-row{grid-template-columns:110px minmax(170px,1.2fr) minmax(220px,2fr) 110px 120px 170px minmax(210px,1.3fr)}.team-card,.project-card{background:linear-gradient(180deg,#2b2b2d,#232325);border:1px solid var(--border);border-radius:12px;padding:.85rem;display:grid;gap:.72rem}.team-card-head,.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.team-card h3,.project-card h3{font-size:1rem;line-height:1.35}.team-card p,.project-card p{color:var(--muted);font-size:.9rem;line-height:1.5}.team-meta,.project-meta{display:flex;flex-wrap:wrap;gap:.65rem;color:var(--muted);font-size:.78rem}.project-progress{display:grid;gap:.45rem}.project-progress-bar{width:100%;height:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.project-progress-bar span{display:block;height:100%;border-radius:inherit}.project-progress-meta{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.8rem}.panel-note{margin-top:.9rem;padding:.8rem .95rem;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--muted);font-size:.85rem}.empty-state{grid-column:1 / -1;padding:1rem 1.05rem;border-radius:12px;border:1px dashed rgba(255,255,255,.14);background:#ffffff05;color:var(--muted);display:grid;gap:.35rem}.empty-state strong{color:var(--text)}.task-effort{color:var(--text);font-size:.8rem;white-space:nowrap}.status-pill,.status-tag{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent;white-space:nowrap}.info{color:#d9fff6;background:#2fbf7129;border-color:#2fbf7159}.success{color:#d9fff6;background:#4ec9b01f;border-color:#4ec9b04d}.warning{color:#fff1cc;background:#d7ba7d26;border-color:#d7ba7d52}.danger{color:#ffd8cf;background:#f4877124;border-color:#f487714d}.integration-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.integration-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:.82rem;display:grid;gap:.52rem}.integration-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.status-connected{color:#d9fff6;background:#4ec9b01f;border-color:#4ec9b04d}.status-missing{color:#fff1cc;background:#d7ba7d26;border-color:#d7ba7d52}.status-unknown{color:#d7e6ff;background:#ffffff0f;border-color:#ffffff1f}.status-error{color:#ffd8cf;background:#f4877124;border-color:#f487714d}@media(max-width:1080px){.auth-grid,.dashboard{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.auth-card{padding:1.1rem}}@media(max-width:900px){.stats-grid,.task-grid,.team-grid,.project-grid,.integration-strip{grid-template-columns:1fr}.excel-toolbar-shell{flex-direction:column;align-items:stretch}.topbar,.panel-heading{flex-direction:column}.topbar-badges{justify-content:flex-start}.task-action-row{flex-direction:column;align-items:flex-start}.email-row{flex-direction:column;align-items:stretch}.filter-modal{width:100%;border-left:0}.filter-modal-footer{flex-direction:column}}
