@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #f5f1ff;--bg-elevated: #faf7ff;--panel: #ffffff;--panel-soft: #faf7ff;--ink: #1e1a33;--muted: #625a82;--line: #dfd6f0;--line-strong: #cbbde8;--accent: #7a4dff;--accent-strong: #5b2dd4;--success: #0f7c51;--warning: #9a4e00;--danger: #b52b3c;--focus: #6e44ea;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--control-height: 44px;--control-height-compact: 56px;--shadow-sm: 0 8px 20px rgba(66, 31, 126, .1);--shadow-md: 0 20px 40px rgba(57, 24, 109, .14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;background:radial-gradient(1200px 760px at -10% -15%,#eadfff 0%,transparent 58%),radial-gradient(980px 580px at 110% -10%,#efe5ff 0%,transparent 52%),linear-gradient(180deg,#f8f4ff,#f4efff)}h1,h2,h3,.brand{margin:0;font-family:Space Grotesk,Manrope,sans-serif;letter-spacing:-.02em}p{margin:0}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-width:0;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;transition:border-color .14s ease,box-shadow .14s ease}input,select,.user-search-select-trigger,.primary-btn,.ghost-btn{min-height:var(--control-height)}.member-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:160px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:8px}.member-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:7px 10px;text-align:left;font-size:.9rem}.member-chip small{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.03em}.member-chip.is-selected{background:#f3edff;border-color:#d3c0ff;color:#4d2d95;box-shadow:inset 0 0 0 1px #5b2dd438}.member-chip:disabled{cursor:default;opacity:1}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field{display:grid;gap:5px;min-width:0}.field span{font-size:.78rem;font-weight:600;color:var(--muted)}.field-label-required:after{content:" *";color:var(--danger)}.user-search-select{position:relative}.user-search-select.is-disabled{opacity:.75}.user-search-select-trigger{width:100%;min-width:0;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.user-search-select-caret{color:var(--muted);font-size:.8rem}.user-search-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);z-index:30;padding:8px;display:grid;gap:8px}.user-search-select-input{padding:9px 10px}.user-search-select-list{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.user-search-select-option{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 12px;text-align:left;display:grid;gap:2px}.user-search-select-option small{color:var(--muted);font-size:.73rem}.user-search-select-option:last-child{border-bottom:0}.user-search-select-option.is-selected,.user-search-select-option:hover{background:#f3edff}.user-search-select-empty{padding:10px 12px;color:var(--muted);font-size:.85rem}.muted{color:var(--muted);line-height:1.5}.eyebrow{margin-bottom:8px;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-strong)}.assistive-note{font-size:.76rem;color:var(--muted)}.primary-btn,.ghost-btn{border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.primary-btn{border:0;color:#fff;font-weight:700;background:linear-gradient(140deg,var(--accent) 0%,var(--accent-strong) 100%);box-shadow:0 10px 22px #5b2dd452}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--ink)}.primary-btn:not(:disabled):hover,.ghost-btn:hover{transform:translateY(-1px)}.switcher{display:inline-flex;border-radius:999px;background:#f2eaff;border:1px solid #e0d1ff;padding:4px;margin:18px 0}.switcher.narrow{margin:0 0 14px}.projects-page-switcher{margin:18px 0 0}.clickable-row{cursor:pointer}.clickable-row:focus-visible{outline:2px solid #8d67ff;outline-offset:-2px}.clickable-row:hover td{background:#fcf9ff}.switch{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:8px 14px;font-weight:700;cursor:pointer}.switch.active{background:#fff;color:var(--ink);box-shadow:0 3px 11px #53309e33}.form-stack{display:grid;gap:14px}.inline-row{display:flex;justify-content:flex-start}.login-otp-request-btn{justify-self:start;min-width:160px}.login-otp-flow{gap:18px}.login-otp-panel{display:grid;gap:14px;padding-top:4px}.login-otp-message{padding:10px 12px;border-radius:12px;border:1px solid rgba(15,124,81,.18);background:#f3fff8;color:var(--success);font-size:.82rem;font-weight:600;line-height:1.45}.login-otp-help{margin-top:6px;margin-bottom:2px}.login-action-btn{width:100%;min-height:56px}.login-microsoft-btn{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:700}.login-microsoft-mark{display:grid;grid-template-columns:repeat(2,10px);grid-template-rows:repeat(2,10px);gap:3px;flex:0 0 auto}.login-microsoft-tile{display:block;width:10px;height:10px;border-radius:2px}.login-microsoft-red{background:#f25022}.login-microsoft-green{background:#7fba00}.login-microsoft-blue{background:#00a4ef}.login-microsoft-yellow{background:#ffb900}.otp-debug{font-size:.84rem;color:#0f5f3d;background:#e7f8f0;border:1px solid #bde6d3;border-radius:var(--radius-sm);padding:8px 10px}.error-text{margin-top:12px;color:var(--danger);font-size:.9rem;font-weight:600}.success-text{margin-top:12px;color:var(--success);font-size:.9rem;font-weight:600}.toast-stack{position:fixed;top:20px;right:20px;z-index:120;display:grid;gap:10px;width:min(360px,calc(100vw - 24px))}.toast{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fffffffa;box-shadow:var(--shadow-sm);color:var(--ink)}.toast-success{border-color:#0f7c5147;background:#f3fff8}.toast-error{border-color:#b52b3c47;background:#fff5f6}.toast-info{border-color:#7a4dff38;background:#faf7ff}.toast-close{border:0;background:transparent;color:var(--muted);padding:0;line-height:1;cursor:pointer}.login-shell{min-height:100%;display:grid;place-items:center;padding:20px}.login-card{position:relative;overflow:hidden;width:min(540px,100%);padding:30px;border-radius:24px;border:1px solid var(--line);background:#ffffffeb;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card:after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#7a4dff38,#7a4dff00 72%);pointer-events:none}.shell{min-height:100%;display:grid;grid-template-rows:auto 1fr}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);background:#ffffffdb;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.brand{font-size:1.12rem;font-weight:700}.topbar-subtitle{font-size:.8rem;color:var(--muted)}.userbox{display:flex;align-items:center;gap:12px}.notification-bell{position:relative;flex:0 0 auto}.notification-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;position:relative;color:var(--ink)}.notification-bell-icon{width:22px;height:22px;display:block}.notification-count{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#5b47d9;color:#fff;font-size:.72rem;font-weight:700;position:absolute;top:-5px;right:-5px;border:2px solid #fff;box-shadow:0 8px 16px #5b47d92e}.notification-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:min(360px,88vw);display:grid;gap:10px;z-index:50;padding:14px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 48px #15113924;animation:panel-enter .24s ease both}.notification-head{display:grid;gap:2px;padding-bottom:2px}.notification-list{display:grid;gap:8px;max-height:min(460px,62vh);overflow:auto;padding-right:2px}.notification-card{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.notification-card.is-clickable{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.notification-card.is-clickable:hover{border-color:var(--line-strong);box-shadow:0 10px 24px #421f7e14;transform:translateY(-1px)}.notification-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-card-head h4{font-size:1rem;line-height:1.25;margin-bottom:3px}.notification-entity{font-size:.82rem;line-height:1.3}.notification-meta{display:flex;align-items:center;flex-wrap:wrap;justify-items:end;justify-content:flex-end;gap:8px;flex:0 0 auto}.notification-time{font-size:.74rem;white-space:nowrap}.notification-detail{line-height:1.4}.notification-action-text{font-size:.88rem;line-height:1.4}.notification-hint{font-size:.82rem;font-weight:700;color:var(--accent-strong)}.notification-empty{display:grid;gap:6px;padding:4px 2px 2px}.user-name{font-weight:700;font-size:.93rem}.user-role{font-size:.76rem;color:var(--muted);letter-spacing:.06em}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;padding:18px}.sidebar{display:grid;align-content:start;gap:8px}.nav-link{display:block;padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--ink);border:1px solid transparent;font-weight:600}.nav-link.active{background:#fff;border-color:var(--line);box-shadow:var(--shadow-sm)}.content{min-width:0}.stack-24{display:grid;gap:18px;min-width:0}.panel{position:relative;z-index:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);animation:panel-enter .24s ease both;min-width:0}.panel:has(.user-search-select-menu){z-index:40}.panel-state{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-sm);padding:20px}.panel-state.compact{padding:15px;border-radius:var(--radius-md);box-shadow:none}.panel-state h3{font-size:1.02rem}.panel-state p{margin-top:8px;color:var(--muted);line-height:1.45}.panel-state.tone-error{border-color:#f0c5cb;background:#fff6f7}.panel-state.tone-warning{border-color:#f1d7b6;background:#fff8f1}.panel-state.tone-success{border-color:#bde4d4;background:#f3fbf7}.center-card{min-height:100%;display:grid;place-items:center;padding:24px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:12px}.section-total{border-radius:999px;border:1px solid #ddceff;background:#f4efff;color:#5b3ca2;font-size:.78rem;font-weight:700;padding:5px 10px;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:15px}.stat-label{font-size:.82rem;color:var(--muted);font-weight:600}.stat-value{margin-top:8px;font-size:1.55rem;font-weight:800}.hero-panel{display:grid;gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);min-width:0}.hero-panel h2{font-size:1.3rem;margin-bottom:10px}.hero-highlights{display:grid;gap:10px;min-width:0}.hero-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(160deg,#fff,#f7f1ff);padding:12px;display:grid;gap:7px}.hero-chip span{font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero-chip strong{font-size:1.02rem}.hero-chip p{margin:0;font-size:.88rem;line-height:1.45}.dashboard-admin-hero{display:grid;gap:18px}.dashboard-admin-hero .stack-16{gap:22px}.dashboard-hero-card{display:grid;gap:8px}.dashboard-hero-card h4{margin:0}.dashboard-admin-focus-card{max-width:980px;margin-top:10px}.dashboard-focus-list{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--text);line-height:1.5}.dashboard-focus-list li::marker{color:#6d48f6}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.status-row{border:1px solid var(--line);border-radius:12px;background:#fdfbff;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.status-row strong{font-size:1.02rem}.dashboard-metric-window{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid #deceff;background:#f5efff;color:#5b3ca2;font-size:.75rem;font-weight:700;white-space:nowrap}.time-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.time-snapshot-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fdfbff}.time-snapshot-card-head{display:flex;justify-content:flex-start}.time-snapshot-rows{display:grid;gap:12px}.time-snapshot-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.time-snapshot-row span{color:var(--muted);font-weight:600}.time-snapshot-row strong{font-size:1.02rem}.time-snapshot-row.is-total{padding-top:12px;border-top:1px solid rgba(209,196,255,.72)}.time-snapshot-row.is-total span,.time-snapshot-row.is-total strong{color:var(--ink);font-weight:800}.status-badge,.priority-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:.75rem;line-height:1;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:6px 10px;border:1px solid transparent}.status-badge.is-open{background:#f0eaff;border-color:#d9c9ff;color:#5e3ab0}.status-badge.is-in-progress{background:#ece7ff;border-color:#d4c6ff;color:#4f3b96}.status-badge.is-ready-for-qa{background:#e7f8ef;border-color:#bfebd1;color:#176d47}.status-badge.is-blocked{background:#fff2e7;border-color:#ffd6bc;color:#934d14}.status-badge.is-reopened{background:#fff3f6;border-color:#f8ced9;color:#983052}.status-badge.is-closed{background:#edf8f3;border-color:#cde9db;color:#175f3f}.status-badge.is-cancelled{background:#f3f5f9;border-color:#d7dde8;color:#5d6a82}.status-badge.is-generic{background:#f2eefc;border-color:#ddd2f3;color:#5f4d88}.priority-badge.is-low{background:#edf7f0;border-color:#c7e5d1;color:#18623f}.priority-badge.is-medium{background:#fff9eb;border-color:#f0deaf;color:#84591d}.priority-badge.is-high{background:#ffeede;border-color:#f7cfaa;color:#9b4f10}.priority-badge.is-critical{background:#ffe8ec;border-color:#f8c2cf;color:#a22646}.priority-badge.is-generic{background:#f3eef9;border-color:#e2d8ef;color:#655382}.list-grid{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fdfbff}.task-title{font-weight:700}.task-id{margin-top:3px;font-size:.76rem;color:var(--muted)}.task-meta{margin-top:4px;font-size:.8rem;color:var(--muted)}.task-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.task-detail-head-actions{display:flex;align-items:center;gap:10px}.analytics-placeholder{border-style:dashed;background:linear-gradient(180deg,#fff,#f8fbff),repeating-linear-gradient(45deg,#f7f9fd 0,#f7f9fd 12px,#f2f6fc 12px,#f2f6fc 24px)}.dashboard-performance-flags{margin-top:14px}.dashboard-watch-grid,.dashboard-attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px;min-width:0}.dashboard-watch-card,.dashboard-attention-card,.dashboard-focus-card{display:grid;gap:10px;min-width:0}.dashboard-alert-card.is-clickable{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.dashboard-alert-card.is-clickable:hover{border-color:var(--line-strong);box-shadow:0 10px 24px #421f7e14;transform:translateY(-1px)}.dashboard-card-subtitle{margin-top:4px;font-size:.84rem}.dashboard-tag-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-pill-button{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px}.dashboard-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px}.dashboard-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-mini-stats p{margin-top:2px;font-size:1.15rem;font-weight:800}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;min-width:0;align-items:end;margin-bottom:12px}.filters-grid .field{align-content:end}.filters-grid .field>span{min-height:1.2rem;display:flex;align-items:flex-end}.member-task-filters-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.task-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.task-transfer-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(320px,1.5fr) auto;gap:12px;align-items:end}.task-transfer-actions .primary-btn,.task-transfer-actions .ghost-btn{min-height:48px;white-space:nowrap;padding-inline:18px}.task-detail-transfer-grid{grid-template-columns:minmax(220px,320px) minmax(320px,1fr) auto;column-gap:12px;row-gap:10px;align-items:end}.task-detail-transfer-actions{grid-column:auto;justify-content:flex-end}.task-detail-transfer-actions .primary-btn,.task-detail-transfer-actions .ghost-btn{min-width:180px}.effort-correction-grid{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(110px,140px) minmax(300px,1.6fr) auto;gap:12px;align-items:end}.effort-correction-reason{min-width:0}.effort-correction-actions{justify-content:flex-end}.effort-correction-actions .primary-btn,.effort-correction-actions .ghost-btn{min-width:156px;min-height:48px;white-space:nowrap}.create-task-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px 16px}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px 16px}.create-field-assignee{grid-column:span 1}.create-field-description,.project-description{grid-column:span 2}.project-files-field{grid-column:span 2;align-self:end}.project-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.project-edit-description{grid-column:span 3}.project-edit-actions{grid-column:span 2;justify-content:flex-end;align-items:end;gap:10px}.project-team-selection{grid-column:1 / -1;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.project-team-filter-grid{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(160px,.8fr) minmax(160px,.9fr) auto;gap:8px;align-items:end;margin-bottom:8px}.project-team-toggle{min-width:140px}.project-team-helper{margin:0 0 6px;font-size:.7rem;line-height:1.35}.project-files-field .muted{font-size:.7rem;line-height:1.35}.is-active-filter{border-color:#d3c0ff;background:#f3edff;color:#4d2d95}.project-edit-actions .primary-btn,.project-edit-actions .ghost-btn{min-width:150px;min-height:var(--control-height);white-space:nowrap;justify-content:center}.task-ops-span-2{grid-column:span 2}.task-ops-actions{display:flex;align-items:end}.project-form-actions{align-self:end;justify-content:flex-end}.create-task-actions{align-self:end;justify-content:flex-start}.create-task-actions .primary-btn{min-width:170px}.task-files-field{align-self:end}.task-files-field input[type=file]{min-height:var(--control-height);padding:8px 10px}.task-files-help,.task-files-selected{font-size:.7rem;line-height:1.35}.task-files-selected{overflow-wrap:anywhere}.comment-composer-grid{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(220px,1fr) auto;gap:12px;align-items:end}.comment-file-field input[type=file]{min-height:var(--control-height);padding:8px 10px}.comment-file-list{font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}.comment-composer-actions .primary-btn{min-width:160px}.table-action-btn{padding:6px 10px;border-radius:8px}.task-ops-divider,.assignee-recommendation-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.assignee-recommendation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin-top:12px}.assignee-recommendation-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);padding:14px;min-width:0}.assignee-recommendation-card .secondary-btn,.assignee-recommendation-card .ghost-btn{justify-self:start}.task-details-shell{display:grid;gap:0}.task-details-shell.is-contributor-view{gap:22px}.task-details-shell.is-contributor-view>div:first-child{display:grid;gap:18px}.task-status-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.task-effort-inline{display:grid;grid-template-columns:minmax(120px,180px) minmax(260px,1fr) auto;gap:10px;align-items:end}.attachment-upload-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}.attachment-upload-field input[type=file]{min-height:var(--control-height);padding:8px 10px}.attachment-list{display:grid;gap:10px}.attachment-list.is-compact{gap:8px}.attachment-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:#fcfbff}.attachment-list.is-compact .attachment-card{border-radius:14px;padding:8px 10px}.attachment-card-copy{min-width:0;display:grid;gap:4px}.attachment-card-copy strong,.attachment-card-copy small{overflow-wrap:anywhere}.task-effort-log-form{grid-template-columns:minmax(110px,140px) minmax(110px,140px) minmax(260px,1fr) auto}.task-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.task-detail-contributor-shell{display:grid;gap:14px}.task-contributor-layout{display:grid;gap:18px}.task-contributor-top-grid{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);gap:16px;align-items:stretch}.task-contributor-main-grid{display:grid;grid-template-columns:minmax(380px,1.2fr) minmax(280px,.8fr);gap:16px;align-items:start}.task-contributor-card{display:grid;gap:16px;align-content:start;padding:18px 20px;border:1px solid var(--line);border-radius:22px;background:#fffdfd;box-shadow:0 14px 32px #7c5cff0d}.task-detail-action-card{display:grid;gap:8px;padding:18px 20px;border:1px solid rgba(124,92,255,.18);border-radius:22px;background:linear-gradient(180deg,#7c5cff14,#7c5cff05)}.task-detail-action-card strong{font-size:1.1rem;line-height:1.35}.task-detail-action-card p{margin:0;color:var(--muted)}.task-contributor-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.task-contributor-primary-card h4{margin:0;font-size:1.62rem;line-height:1.15;letter-spacing:-.03em;max-width:20ch}.task-contributor-status-stack{display:grid;gap:10px;justify-items:end;text-align:right;min-width:132px;align-content:start}.task-contributor-current-status{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:18px;background:linear-gradient(180deg,#7c5cff0d,#7c5cff04)}.task-contributor-current-status strong{font-size:1rem;font-weight:800;line-height:1.1;color:var(--ink)}.task-contributor-support-copy{margin:0;color:var(--muted);line-height:1.5;max-width:62ch}.task-contributor-workflow-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.task-contributor-next-field{min-width:0}.task-contributor-next-field>span{font-weight:800;color:var(--text)}.task-contributor-full-row{grid-column:1 / -1}.task-contributor-primary-actions .primary-btn{min-width:180px;height:100%}.task-contributor-meta-list{display:grid;gap:10px}.task-contributor-meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(209,196,255,.55)}.task-contributor-meta-row:last-child{padding-bottom:0;border-bottom:0}.task-contributor-meta-row span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex:0 0 92px}.task-contributor-meta-row strong{flex:1 1 auto;font-size:1.03rem;line-height:1.35;text-align:right}.task-contributor-brief{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(209,196,255,.55)}.task-contributor-brief p{margin:0;line-height:1.6;color:var(--muted)}.task-contributor-kicker{margin:-6px 0 2px;color:var(--muted);font-size:.95rem}.task-contributor-effort-form{display:grid;grid-template-columns:minmax(110px,130px) minmax(110px,130px) minmax(220px,1fr) auto;gap:12px;align-items:end}.task-contributor-effort-form .primary-btn,.task-contributor-comment-form .primary-btn{min-width:148px}.task-contributor-entry-list,.task-contributor-comment-list{display:grid;gap:12px;margin-top:16px}.task-contributor-entry-card,.task-contributor-comment-card{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(209,196,255,.6);border-radius:18px;background:#fcfbff}.task-contributor-entry-card p,.task-contributor-comment-card p{margin:0;line-height:1.55}.task-contributor-entry-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.task-contributor-entry-main{display:grid;gap:4px}.task-contributor-entry-main strong{font-size:1.1rem}.task-contributor-entry-main span{color:var(--muted)}.task-contributor-entry-badges{display:grid;gap:8px;justify-items:end}.task-contributor-comments-card{display:grid;gap:16px}.task-contributor-comment-form{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(220px,.9fr) auto;gap:12px;align-items:end}.task-detail-file-list{margin:-4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.task-detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.task-detail-summary-card,.task-detail-description-card{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fcfbff}.task-detail-description-card{display:grid;gap:8px}.task-detail-description-copy{line-height:1.6}.task-detail-empty-state{padding:16px 18px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#fcfbff}.task-detail-empty-state.is-soft{padding:14px 16px;border-style:solid;border-color:#d1c4ff99;background:linear-gradient(180deg,#7c5cff08,#7c5cff04)}.task-detail-context-row{display:flex;flex-wrap:wrap;gap:8px}.task-detail-label{display:inline-block;margin-bottom:6px;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.task-detail-description{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);line-height:1.5}.task-details-shell.is-contributor-view .section-head{margin-bottom:8px}.task-details-shell.is-contributor-view .task-detail-head-actions{align-items:flex-start;gap:14px}.task-details-shell.is-contributor-view .task-badges{margin-top:2px}.task-details-shell.is-contributor-view .table-action-btn{padding:8px 14px;border-radius:14px}.attachment-upload-field input[type=file],.comment-file-field input[type=file],.task-files-field input[type=file]{min-height:var(--control-height);padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted)}.attachment-upload-field input[type=file]::file-selector-button,.comment-file-field input[type=file]::file-selector-button,.task-files-field input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid rgba(124,92,255,.22);border-radius:12px;background:#7c5cff14;color:var(--text);font-weight:700;cursor:pointer}.text-area{resize:vertical;min-height:84px}.text-area-compact{min-height:var(--control-height-compact)}.task-transfer-reason-input{min-height:48px;height:48px;resize:none}.table-wrap{overflow-x:auto;max-width:100%;min-width:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:middle}th{font-size:.78rem;color:#4f6382;letter-spacing:.04em;text-transform:uppercase}tr:hover td{background:#fbf9ff}tr.is-clickable{cursor:pointer}tr.is-clickable:focus-visible td{outline:2px solid #7c5cff;outline-offset:-2px}tr.is-selected td{background:#f3edff}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.member-actions{display:flex;align-items:end}.edit-member-grid{grid-template-columns:repeat(5,minmax(170px,1fr))}.edit-member-password{grid-column:span 2}.edit-member-actions{grid-column:span 3;justify-content:flex-end;align-items:end;gap:10px}.edit-member-actions .primary-btn,.edit-member-actions .ghost-btn{min-width:150px;height:48px;white-space:nowrap;justify-content:center}.role-pill{display:inline-flex;border-radius:999px;background:#f3edff;border:1px solid #deceff;color:#5b3ca2;padding:6px 10px;font-size:.75rem;font-weight:700}.member-state{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}.member-state.is-active{background:#e7f7ef;border:1px solid #c1e6d2;color:#186243}.member-state.is-inactive{background:#f3f5f8;border:1px solid #d8dfea;color:#5f6d85}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#101e3659;display:grid;place-items:center;padding:20px}.modal-card{width:min(1100px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.task-details-modal-card,.member-overview-modal-card{width:min(1240px,100%)}.project-overview-modal-card{width:min(1180px,100%)}.password-modal-card{width:min(560px,100%)}.project-billing-modal-card{width:min(1240px,100%)}.project-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.entity-link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;margin:0;color:#2d2850;font:inherit;font-weight:700;cursor:pointer;text-align:left}.entity-link-button:hover{color:#6d48f6}.entity-link-button:focus-visible{outline:2px solid rgba(109,72,246,.35);outline-offset:4px;border-radius:6px}.entity-heading-button{font-size:1.05rem}.entity-inline-button{display:inline;font-weight:600}.project-overview-summary{margin-top:16px}.project-overview-intro{display:grid;gap:10px;margin-top:14px}.project-overview-description{margin-top:2px;line-height:1.6}.member-overview-summary-grid,.member-overview-hero-grid,.project-overview-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.member-overview-summary-card,.project-overview-detail-card{display:grid;gap:10px}.member-overview-summary-value{font-size:1.5rem;font-weight:800;color:var(--ink)}.member-overview-summary-sub{font-size:.9rem;font-weight:600;color:var(--muted)}.member-overview-card-note{margin:-4px 0 0;line-height:1.55}.member-overview-identity-tags{margin-top:8px}.entity-pill-button{border:none;background:transparent;cursor:pointer}.entity-pill-button:hover{border-color:#5649c347;box-shadow:0 10px 24px #5649c31f}.member-overview-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.member-overview-time-card{align-content:start}.member-overview-time-breakdown{display:grid;gap:10px}.member-overview-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding-top:10px;border-top:1px solid rgba(209,196,255,.55)}.member-overview-time-row:first-child{padding-top:0;border-top:0}.member-overview-time-row small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.member-overview-time-values{display:grid;justify-items:end;gap:4px;text-align:right}.project-selected-members{display:grid;gap:8px;margin-bottom:10px;padding:8px 10px;border-radius:12px;background:#fff;border:1px dashed #ddd1f4}.project-selected-members-label{font-size:.72rem;font-weight:700;color:#4f6382;text-transform:uppercase;letter-spacing:.04em}.project-selected-members-list{display:flex;flex-wrap:wrap;gap:6px}.project-selected-member-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f3edff;border:1px solid #deceff;color:#5b3ca2;font-size:.74rem;font-weight:700}.meeting-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.meeting-field-notes{grid-column:span 2}.meeting-field-duration{display:grid;gap:7px}.meeting-duration-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meeting-duration-inputs .field{gap:0}.meeting-field-attendees{grid-column:1 / -1}.meeting-form-actions{grid-column:1 / -1;justify-self:end}@media (max-width: 980px){.meeting-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-field-notes,.meeting-field-attendees{grid-column:1 / -1}}@media (max-width: 640px){.meeting-form-grid,.meeting-duration-inputs{grid-template-columns:1fr}}.billing-hero-panel{grid-template-columns:minmax(0,1.8fr) minmax(260px,.9fr)}.billing-toolbar{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,220px) minmax(240px,1fr) auto;gap:12px;align-items:end}.billing-toolbar-actions{display:flex;justify-content:flex-end;align-items:end}.billing-total-row{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}.billing-total-card{border-radius:var(--radius-md);border:1px solid #ddceff;background:linear-gradient(160deg,#fff,#f7f1ff);color:var(--ink);font-size:2rem;font-weight:800;line-height:1.05;padding:18px 22px;min-width:220px}.billing-total-empty{color:var(--muted);font-size:1rem;font-weight:600;padding:10px 0}.billing-suggestion-card{display:grid;gap:12px}.billing-suggestion-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px}.billing-suggestion-amount{color:var(--ink);font-size:1.45rem;font-weight:800;line-height:1.1;text-align:right}.billing-summary-grid,.billing-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.billing-kpi-grid{margin-top:16px}.billing-stat-inline{font-size:1.05rem;line-height:1.4}.billing-description-cell{min-width:240px;max-width:360px;color:var(--muted);line-height:1.45}.analytics-hero-panel{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.analytics-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px;min-width:0}.analytics-window-field{min-width:min(220px,100%)}.analytics-recommendation-grid,.analytics-trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;min-width:0}.analytics-trend-card{display:grid;gap:12px}.analytics-trend-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:10px;align-items:end;min-height:180px}.analytics-trend-point{display:grid;gap:8px;min-width:0}.analytics-trend-column{display:flex;align-items:end;justify-content:center;height:132px;border-radius:14px;background:#f6f1ff;padding:8px}.analytics-trend-fill{width:100%;min-height:6px;border-radius:10px;background:linear-gradient(180deg,#8f6af9,#6d47e8)}.analytics-trend-label{font-size:.74rem;color:var(--muted);text-align:center;line-height:1.35;overflow-wrap:anywhere}.analytics-recommendation-card{display:grid;gap:10px;min-width:0}.analytics-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:12px;min-width:0}.analytics-entity-card{display:grid;gap:12px;min-width:0}.analytics-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.analytics-tag-list{display:flex;flex-wrap:wrap;gap:8px}.analytics-tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;border:1px solid rgba(142,109,255,.16);background:#ffffffd1;color:#5f4d88;font-size:.76rem;font-weight:600}.analytics-candidate-list{display:grid;gap:12px;min-width:0}.analytics-candidate-card{border:1px solid rgba(142,109,255,.18);border-radius:16px;padding:14px 16px;background:#ffffffb8;min-width:0}.analytics-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex-wrap:wrap}.analytics-card-head h4{margin:0;font-size:1rem;overflow-wrap:anywhere}.analytics-card-head>*{min-width:0}.analytics-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:700;line-height:1;padding:6px 10px;text-transform:uppercase;letter-spacing:.03em}.analytics-pill.is-danger{background:#ffe8ec;border-color:#f8c2cf;color:#a22646}.analytics-pill.is-warning{background:#fff2e7;border-color:#ffd6bc;color:#934d14}.analytics-pill.is-success{background:#e7f8ef;border-color:#bfebd1;color:#176d47}.analytics-pill.is-neutral{background:#f2eefc;border-color:#ddd2f3;color:#5f4d88}.analytics-flags-cell{min-width:0;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.billing-modal-actions{display:flex;align-items:end;gap:10px}.project-milestones-field{display:grid;gap:12px;grid-column:span 2}.project-milestone-head,.project-milestone-row{display:grid;grid-template-columns:90px minmax(110px,140px) minmax(140px,170px) minmax(260px,1fr) auto;gap:12px;align-items:center}.project-milestone-head{color:var(--muted);font-size:.82rem;font-weight:700;display:grid;grid-template-columns:90px minmax(110px,140px) minmax(140px,170px) minmax(260px,1fr) auto;gap:12px;align-items:end}.project-milestone-row input{width:100%}.project-milestone-name{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);font-weight:700;min-height:52px;display:flex;align-items:center;padding:0 14px}.project-milestones-action{display:flex;align-items:center;justify-content:flex-start;margin-top:4px;grid-column:1 / -1}.project-milestones-action .ghost-btn{min-width:180px;width:auto}.password-change-grid{display:grid;gap:12px}.password-change-actions{display:flex;align-items:center;gap:10px;justify-content:flex-start}input:hover,select:hover,textarea:hover,.ghost-btn:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px #6e44ea2e}@keyframes panel-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width: 1080px){.hero-panel{grid-template-columns:1fr}.analytics-toolbar{justify-content:stretch}.billing-toolbar{grid-template-columns:repeat(2,minmax(180px,1fr))}.filters-grid{grid-template-columns:1fr 1fr}.create-task-grid,.project-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.project-edit-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.create-field-description,.project-description,.project-files-field,.project-form-actions,.project-milestones-action,.project-edit-description,.project-edit-actions,.project-team-selection{grid-column:span 2}.project-team-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.project-edit-actions{justify-content:flex-end}.task-status-inline,.task-effort-inline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.comment-composer-grid{grid-template-columns:1fr}.comment-composer-actions{justify-content:flex-start}.attachment-upload-row{grid-template-columns:1fr}.task-transfer-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.task-transfer-reason,.task-transfer-actions{grid-column:span 2}.task-transfer-actions{justify-content:flex-end}.task-contributor-top-grid,.task-contributor-main-grid,.task-contributor-workflow-form,.task-contributor-comment-form{grid-template-columns:1fr}.task-contributor-primary-actions{justify-content:flex-start}.task-detail-transfer-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) auto}.task-detail-transfer-grid .task-transfer-reason,.task-detail-transfer-grid .task-detail-transfer-actions{grid-column:span 1}.effort-correction-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.effort-correction-reason,.effort-correction-actions{grid-column:span 2}.task-contributor-effort-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.edit-member-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.edit-member-password,.edit-member-actions{grid-column:span 3}}@media (max-width: 920px){.workspace{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.nav-link{text-align:center}}@media (max-width: 700px){.topbar{flex-direction:column;align-items:flex-start}.userbox{width:100%;justify-content:space-between}.section-head{flex-direction:column;align-items:flex-start}.filters-grid{grid-template-columns:1fr}.analytics-window-field{min-width:0}.billing-toolbar{grid-template-columns:1fr}.billing-total-card{width:100%;min-width:0;font-size:1.7rem}.create-task-grid,.project-grid,.project-edit-grid{grid-template-columns:1fr}.create-field-description,.project-description,.project-files-field,.project-form-actions,.project-edit-description,.project-edit-actions,.project-team-selection{grid-column:span 1}.project-team-filter-grid,.project-milestone-row{grid-template-columns:1fr}.project-milestone-head{display:none}.project-milestones-field,.project-milestones-action{grid-column:span 1}.project-edit-actions,.project-form-actions{justify-content:stretch}.project-form-actions .primary-btn{width:100%}.project-edit-actions .primary-btn,.project-edit-actions .ghost-btn{flex:1;min-width:0}.task-ops-span-2{grid-column:span 1}.task-transfer-grid{grid-template-columns:1fr}.task-transfer-reason,.task-transfer-actions,.task-detail-transfer-actions{grid-column:span 1}.task-transfer-actions{justify-content:stretch}.task-transfer-actions .primary-btn,.task-transfer-actions .ghost-btn{width:100%}.task-contributor-card{padding:16px}.task-contributor-card-head,.task-contributor-entry-top{flex-direction:column;align-items:flex-start}.task-contributor-status-stack,.task-contributor-entry-badges{justify-items:start;text-align:left}.task-contributor-effort-form,.task-contributor-comment-form{grid-template-columns:1fr}.task-contributor-primary-card h4{font-size:1.45rem}.effort-correction-grid{grid-template-columns:1fr}.effort-correction-reason,.effort-correction-actions{grid-column:span 1}.effort-correction-actions{justify-content:stretch}.effort-correction-actions .primary-btn,.effort-correction-actions .ghost-btn{width:100%}.edit-member-grid{grid-template-columns:1fr}.edit-member-password,.edit-member-actions{grid-column:span 1}.edit-member-actions{justify-content:stretch}.edit-member-actions .primary-btn,.edit-member-actions .ghost-btn{flex:1;min-width:0}.task-detail-head-actions{flex-direction:column;align-items:stretch}.analytics-entity-grid{grid-template-columns:1fr}}@media (max-width: 640px){.login-card{padding:22px}.workspace{padding:12px}.sidebar{grid-template-columns:1fr}.list-item{flex-direction:column;align-items:flex-start}.task-badges{justify-content:flex-start}.modal-backdrop{padding:10px}}
