:root{--bg:#f3f5f9;--panel:#fff;--line:#e5e8ef;--line-strong:#d3d8e3;--text:#1b2130;--muted:#6b7489;--accent:#2f6fed;--accent-strong:#1f56c7;--accent-soft:#e9f0ff;--ok:#178a4c;--ok-soft:#e4f6ec;--warn:#c7700a;--warn-soft:#fff3df;--bad:#d7342c;--bad-soft:#fde8e7;--summary:#2b3344;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:13px/1.45 Segoe UI Variable,Segoe UI,system-ui,-apple-system,sans-serif}svg.lucide{vertical-align:-2px;flex:none}button{font:inherit;border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px 1px #1018280a}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#fafcff}button:active:not(:disabled){box-shadow:inset 0 1px 2px #10182814}button:disabled{opacity:.45;cursor:default}button.danger:hover:not(:disabled){border-color:var(--bad);color:var(--bad);background:#fff7f7}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-strong);color:#fff}input,select,textarea{font:inherit;color:var(--text)}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--warn)}.error{color:var(--bad)}.hint{color:var(--muted);margin-left:8px;font-size:12px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow);z-index:2;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 18px;display:flex;position:relative}.brand{letter-spacing:.3px;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.brand .mode{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.brand .mode.local{background:var(--warn-soft);color:var(--warn)}.project-name{font-size:14px;font-weight:650}.stats{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px;display:flex}.stats>span{background:#f1f3f8;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:inline-flex}.stats>span.warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.stats>span.error{background:var(--bad-soft);color:var(--bad)}.actions{flex-wrap:wrap;gap:6px;min-width:0;margin-left:auto;display:flex}.tabs{background:var(--panel);border-bottom:1px solid var(--line);scrollbar-width:thin;flex-shrink:0;gap:4px;padding:6px 18px 0;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;box-shadow:none;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;flex-shrink:0;padding:8px 14px;font-weight:500}.tabs button:hover:not(:disabled){color:var(--text);background:#f4f6fb}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:650}.content{flex:1;padding:14px 18px;overflow:auto}.statusbar{color:var(--muted);border-top:1px solid var(--line);background:var(--panel);padding:6px 18px;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.banner{background:var(--bad-soft);border-bottom:1px solid #f5c2bf;padding:8px 18px;font-weight:500}.grid-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px}table.grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}table.grid th,table.grid td{border-bottom:1px solid var(--line);white-space:nowrap;border-right:1px solid #eef1f6;height:30px;padding:0 6px}table.grid th:last-child,table.grid td:last-child{border-right:0}table.grid th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;z-index:1;border-bottom:1px solid var(--line-strong);background:#f6f8fc;font-size:12px;font-weight:650;position:sticky;top:-14px}table.grid th.num,table.grid td.num{text-align:right;width:72px}table.grid th.name{width:32%}table.grid th.res{width:20%}table.grid th.alerts,table.grid td.alerts{text-align:center;width:64px}table.grid tbody tr:nth-child(2n) td{background:#fbfcfe}table.grid td.id{color:var(--muted);font-family:var(--mono);background:#f8f9fc;font-size:12px}table.grid td.name{align-items:center;gap:6px;height:30px;padding-left:8px;display:flex}table.grid td.name .guide{border-left:1px solid var(--line-strong);flex:none;width:16px;height:30px;margin-right:6px;display:inline-block}table.grid tr.summary td.name .guide{border-left-color:#c3c9d6}.pill.notice{color:var(--warn);background:var(--warn-soft)}.grid-status .pill.choice{max-width:none;color:var(--accent-strong);background:var(--accent-soft);border:1px solid #c9d7f6;gap:8px;padding:2px 4px 2px 12px}.pill.choice .choice-text{text-overflow:ellipsis;overflow:hidden}.pill.choice .choice-btn{color:var(--accent-strong);background:#fff;border-color:#b8cbf3;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.pill.choice .choice-btn:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.pill.choice .choice-x{box-shadow:none;color:var(--muted);background:0 0;border:0;flex:none;padding:2px}.grid-status{white-space:nowrap;align-items:center;gap:8px;height:28px;margin:-2px 0 8px;display:flex;overflow:hidden}.grid-status .pill{text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:60%;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}table.grid td.name .kind-icon{color:var(--muted);display:inline-flex}table.grid td.name .kind-icon.summary{color:var(--summary)}table.grid td.name .kind-icon.milestone{color:#111827}table.grid td.name .kind-icon.task{color:var(--accent)}table.grid input{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;min-width:0;padding:4px 6px}table.grid input.num{text-align:right;font-variant-numeric:tabular-nums}table.grid input:focus,table.grid select:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 3px #2f6fed2e}table.grid select{background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 4px}table.grid tr.active td{background:#f3f7ff}table.grid td.id{cursor:pointer;-webkit-user-select:none;user-select:none}table.grid th.sel,table.grid td.sel{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8f9fc;width:34px;padding:0}table.grid td.sel input,table.grid th.sel input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;pointer-events:none;margin:0}table.grid th.sel input{pointer-events:auto}table.grid td.sel:hover{background:var(--accent-soft)}table.grid tr.selected td.sel{background:#2f6fed2e}table.grid td.id:hover{background:var(--accent-soft);color:var(--accent)}table.grid tr.selected td{background:#2f6fed1f}table.grid tr.selected td.id{background:var(--accent);color:#fff;font-weight:700}table.grid tr.selected.conflict td{background:#2f6fed1f;box-shadow:inset 4px 0 #d7342c99}.selection-hint{color:var(--accent);background:var(--accent-soft)}table.grid tr.summary td{color:var(--summary);background:#f1f3f7;font-weight:650}table.grid tr.summary input{font-weight:650}table.grid tr.milestone td.name input{font-style:italic}td.calc{color:var(--muted);font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:12px}.badge{cursor:help;border-radius:999px;align-items:center;gap:3px;min-width:22px;padding:2px 7px;font-size:11px;font-weight:650;display:inline-flex}.badge.bad{background:var(--bad-soft);color:var(--bad)}button.badge{box-shadow:none;cursor:pointer;border:0}button.badge:hover{filter:brightness(.95);color:inherit}button.badge.bad:hover{color:var(--bad);background:#fbd5d2}.alert-popover{z-index:50;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;width:420px;max-height:60vh;animation:.12s ease-out pop;position:fixed;overflow:auto;box-shadow:0 12px 32px #1018282e}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.alert-popover-head{border-bottom:1px solid var(--line);color:var(--bad);background:var(--panel);align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.alert-popover-head b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.alert-popover-head .close{box-shadow:none;color:var(--muted);border:0;padding:2px 4px}.alert-popover ul{margin:0;padding:6px 0;list-style:none}.alert-popover li{white-space:normal;align-items:flex-start;gap:8px;padding:7px 12px;line-height:1.4;display:flex}.alert-popover li+li{border-top:1px solid #f1f3f8}.alert-popover li.bad{color:var(--text)}.alert-popover li.bad svg{color:var(--bad);flex:none;margin-top:2px}.alert-popover li.info{color:var(--muted)}.alert-popover li.info svg{color:var(--warn);flex:none;margin-top:2px}.alert-popover-foot{border-top:1px solid var(--line);padding:8px 12px;font-size:11px}.badge.info{background:var(--warn-soft);color:var(--warn)}select.status{background-image:radial-gradient(circle,currentColor 3px,#0000 3.5px);background-position:4px;background-repeat:no-repeat;background-size:10px 10px;font-weight:600;padding-left:16px!important}select.status.pendiente{color:var(--muted)}select.status.en_curso{color:var(--accent)}select.status.bloqueada{color:var(--bad)}select.status.hecha{color:var(--ok)}table.grid tr.conflict td{background:#d7342c12}table.grid tr.conflict.summary td{background:#d7342c1f}table.grid tr.related td{background:#d7342c33}table.grid tr.related td.id{box-shadow:inset 3px 0 0 var(--bad);color:var(--bad);font-weight:700}table.grid tr.conflict.active td{box-shadow:inset 0 -1px 0 var(--bad), inset 0 1px 0 var(--bad);background:#d7342c26}.related-hint{color:var(--bad);background:var(--bad-soft)}.board{grid-template-columns:repeat(4,1fr);align-items:start;gap:14px;display:grid}.column{border-radius:var(--radius);background:#eceff5;min-height:220px;padding:10px}.column h3{text-transform:uppercase;letter-spacing:.6px;justify-content:space-between;margin:4px 4px 12px;font-size:12px;display:flex}h3.status.pendiente{color:var(--muted)}h3.status.en_curso{color:var(--accent)}h3.status.bloqueada{color:var(--bad)}h3.status.hecha{color:var(--ok)}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:8px;padding:10px}.card.bad{border-color:var(--bad)}.card-title{margin-bottom:2px;font-weight:650}.card .id{color:var(--muted);font-family:var(--mono);font-weight:400}.card-actions{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.card-actions button{padding:3px 8px;font-size:11px}.gantt-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;overflow:auto}svg.gantt{background:var(--panel);font-size:12px}svg.gantt .day{fill:#0000;stroke:#eef1f6}svg.gantt .day.off{fill:#f3f5f9}svg.gantt .axis{fill:var(--muted);font-size:11px}svg.gantt .axis.month{font-weight:650}svg.gantt .rowline{stroke:#eef1f6}svg.gantt .label{fill:var(--text)}svg.gantt .label.summary{font-weight:650}svg.gantt .bar{fill:#9db4f3}svg.gantt .bar.en_curso{fill:var(--accent)}svg.gantt .bar.bloqueada{fill:var(--bad)}svg.gantt .bar.hecha{fill:var(--ok)}svg.gantt .bar.summary{fill:var(--summary)}svg.gantt .milestone{fill:#111827}svg.gantt .bar-text{fill:var(--muted);font-size:11px}svg.gantt .bar-text.bad{fill:var(--bad)}svg.gantt .dep{fill:none;stroke:#4b5563;stroke-width:1.2px}.resources{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}table.load{border-collapse:separate;border-spacing:0}table.load th,table.load td{border-bottom:1px solid var(--line);border-right:1px solid #eef1f6;padding:4px 7px}table.load th{color:var(--muted);background:#f6f8fc;font-size:11px;font-weight:650}table.load td.cell{font-family:var(--mono);text-align:center;cursor:pointer;min-width:58px;font-size:11px}table.load td.cell.busy{background:var(--accent-soft)}table.load td.cell.off{color:#c4c8d0;background:#f7f8fa}table.load td.cell.bad{background:var(--bad-soft);color:var(--bad);font-weight:650}.tag{color:var(--muted);background:#eceff5;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.tag.aprobado{background:var(--ok-soft);color:var(--ok)}.tag.observado{background:var(--warn-soft);color:var(--warn)}.tag.pendiente{background:var(--accent-soft);color:var(--accent)}ul.conflicts{padding-left:18px}ul.conflicts li{margin-bottom:4px}.kpis{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:130px;box-shadow:var(--shadow);flex-direction:column;padding:10px 16px;display:flex}.kpi span{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.kpi b{font-size:18px}.kpi.ok b{color:var(--ok)}.kpi.warn b{color:var(--warn)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:14px}.panel h3{align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.form-row{flex-wrap:wrap;gap:6px;display:flex}.form-row input,.form-row select{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:6px 8px}.form-row input:focus,.form-row select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2f6fed2e}.form-row input.num{text-align:right;width:64px}table.entries{border-collapse:collapse;width:100%}table.entries th,table.entries td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px}table.entries th{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px}table.entries tr.observado td{background:#fffbeb}table.entries tr.aprobado td{background:#f0fdf4}.actions-cell button{margin-right:4px;padding:3px 8px;font-size:11px}.wiki{grid-template-columns:230px 1fr;gap:12px;display:grid}.wiki aside{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px}.wiki aside ul{margin:8px 0 0;padding:0;list-style:none}.wiki aside li{cursor:pointer;border-radius:8px;padding:7px 10px}.wiki aside li.active,.wiki aside li:hover{background:var(--accent-soft);color:var(--accent);font-weight:600}.wiki section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.wiki textarea{border:1px solid var(--line-strong);width:100%;font-family:var(--mono);border-radius:8px;padding:10px;font-size:12px}.wiki pre.version{white-space:pre-wrap;background:#f7f8fa;border-radius:8px;padding:8px}.auth{background:radial-gradient(1200px 600px at 20% -10%, #e4ecff 0%, var(--bg) 60%);justify-content:center;align-items:center;height:100%;display:flex}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:400px;padding:28px;box-shadow:0 10px 30px #1018281a}.auth-card h1{letter-spacing:.5px;margin:0;font-size:26px}.auth-card .tabs{border-bottom:1px solid var(--line);margin:14px 0;padding:0}.auth-form{flex-direction:column;gap:8px;display:flex}.auth-form input{border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2f6fed2e}.auth-form button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff;justify-content:center;padding:9px;font-weight:600}.auth-form button[type=submit]:hover:not(:disabled){background:var(--accent-strong);color:#fff}.picker{flex-direction:column;height:100%;display:flex}.ok{color:var(--ok);margin-bottom:8px;font-weight:600}ul.plain{margin:0 0 8px;padding:0;list-style:none}ul.plain li{padding:3px 0}.admin .panel .form-row{margin-top:8px}.toolbar-sep{background:var(--line-strong);width:1px;height:22px;margin:0 4px}.status-date{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-date input{border:1px solid var(--line-strong);font:inherit;color:var(--text);border-radius:8px;padding:4px 6px}table.grid th.ind,table.grid td.ind{text-align:center;width:28px;padding:0}table.grid td.ind .done{color:var(--ok);display:inline-flex}table.grid td.ind .nores{color:var(--warn);display:inline-flex}table.grid tr.complete td.name input{color:var(--muted)}table.grid td.name .twisty{width:18px;height:18px;box-shadow:none;color:var(--summary);background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;padding:0}table.grid td.name .twisty:hover{color:var(--accent);background:#e3e8f2}table.grid td.name .twisty-space{flex:none;width:18px;display:inline-block}table.grid th.acts,table.grid td.acts{background:#f8f9fc;width:124px;padding:0 4px}table.grid td.acts .row-actions .act-gap{width:20px;display:inline-block}table.grid td.acts .row-actions .act-sep{background:var(--line-strong);align-self:center;width:1px;height:16px;margin:2px 2px 0;display:inline-block}table.grid td.acts .row-actions button.nest-in,table.grid td.acts .row-actions button.nest-out{background:#0d9488!important}table.grid td.acts .row-actions button.nest-in:hover,table.grid td.acts .row-actions button.nest-out:hover{background:#0b7a70!important}.grid-wrap{position:relative}:root{--ins-task:#2f6fed;--ins-milestone:#7c3aed}.insert-line{--ins:var(--ins-task);box-sizing:border-box;border-left:2px solid var(--ins);border-bottom:2px solid var(--ins);z-index:4;pointer-events:none;border-bottom-left-radius:8px;position:absolute;transform:translate(-1px,1px)}.insert-line.milestone{--ins:var(--ins-milestone)}.insert-line .insert-label{color:#fff;background:var(--ins);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:600;line-height:16px;position:absolute;bottom:-10px;box-shadow:0 1px 4px #10182840}.insert-line .insert-end{background:var(--ins);border-radius:999px;width:10px;height:10px;position:absolute;bottom:-6px;right:-4px}table.grid td.acts .row-actions button{transition:transform 80ms,filter 80ms,background 80ms;box-shadow:0 1px 2px #1018282e;color:#fff!important;border:0!important}table.grid td.acts .row-actions button:hover{transform:scale(1.12)}table.grid td.acts .row-actions button.add-task{background:var(--ins-task)!important}table.grid td.acts .row-actions button.add-task:hover{background:#1f56c7!important}table.grid td.acts .row-actions button.add-milestone{background:var(--ins-milestone)!important}table.grid td.acts .row-actions button.add-milestone:hover{background:#6425d0!important}table.grid td.acts .row-actions button.del{color:#fff!important;background:#dc2626!important}table.grid td.acts .row-actions button.del:hover{color:#fff!important;background:#b91c1c!important}table.grid tr.to-delete td{background:#d7342c38!important}table.grid tr.to-delete td.name input,table.grid tr.to-delete td.res .chip{text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}table.grid tr.to-delete td.acts,table.grid tr.to-delete td.id{box-shadow:inset 3px 0 0 var(--bad)}table.grid td.acts .row-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}table.grid tr:hover td.acts .row-actions,table.grid tr.active td.acts .row-actions,table.grid tr.selected td.acts .row-actions{opacity:1}table.grid td.acts .row-actions button{border-color:var(--line);width:20px;height:20px;color:var(--accent);background:#fff;border-radius:6px;justify-content:center;padding:0}table.grid td.acts .row-actions button:hover{background:var(--accent-soft)!important;border-color:var(--accent)!important}table.grid td.acts .row-actions button.del{color:var(--muted)}table.grid td.acts .row-actions button.del:hover{color:var(--bad)!important;background:var(--bad-soft)!important;border-color:var(--bad)!important}table.grid th.pct,table.grid td.pct{width:78px}table.grid td.pct{position:relative}table.grid td.pct .pct-fill{pointer-events:none;background:#178a4c29;border-radius:4px;max-width:calc(100% - 8px);position:absolute;top:6px;bottom:6px;left:4px}table.grid td.pct input,table.grid td.pct .pct-text{position:relative}table.grid th.cost,table.grid td.cost{width:104px}table.grid td.res{max-width:0}.res-cell{align-items:center;gap:4px;height:30px;display:flex;overflow:hidden}.res-cell input{flex:48px;min-width:48px}.chip{background:var(--accent-soft);height:20px;color:var(--accent-strong);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:3px;padding:0 3px 0 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.warn{background:var(--warn-soft);color:var(--warn);gap:4px;padding:0 8px}.chip-x{width:16px;height:16px;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:999px;justify-content:center;padding:0}.chip-x:hover{color:var(--bad)!important;background:#fff!important}.chip-add{color:#15803d;background:#dcfce7;border-color:#86efac;border-radius:999px;flex:none;justify-content:center;width:20px;height:20px;padding:0}.chip-add:hover{color:#fff!important;background:#16a34a!important;border-color:#16a34a!important}svg.gantt .bar-progress{fill:#10182859}.res-picker{z-index:50;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;flex-direction:column;width:320px;max-height:380px;animation:.12s ease-out pop;display:flex;position:fixed;box-shadow:0 12px 32px #1018282e}.res-picker-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.res-picker-head b{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.res-picker-head .close{box-shadow:none;color:var(--muted);border:0;padding:2px 4px}.res-picker-pct{color:var(--muted);border-bottom:1px solid #f1f3f8;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.res-picker-pct input{border:1px solid var(--line-strong);text-align:right;border-radius:6px;width:64px;padding:4px 6px}.res-picker ul{margin:0;padding:4px 0;list-style:none;overflow:auto}.res-picker li{align-items:center;display:flex}.res-picker li .pick{box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;justify-content:flex-start;min-width:0;padding:6px 12px}.res-picker li .pick:hover{background:var(--accent-soft)}.res-picker li.on .pick{color:var(--accent-strong);font-weight:600}.res-picker .pick-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.res-picker .pick-pct{background:var(--accent-soft);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px}.res-picker li .pick-x{box-shadow:none;color:var(--muted);border:0;margin-right:6px;padding:4px 8px}.res-picker li .pick-x:hover{color:var(--bad);background:var(--bad-soft)}.res-picker-foot{border-top:1px solid var(--line);padding:8px 12px;font-size:11px}table.grid th .th-inner{align-items:center;gap:4px;width:100%;display:inline-flex}table.grid th.num .th-inner{justify-content:flex-end}table.grid th .th-label{text-overflow:ellipsis;overflow:hidden}table.grid th .th-help{width:16px;height:16px;box-shadow:none;color:#a3abbd;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;padding:0}table.grid th .th-help:hover{color:var(--accent)!important;background:var(--accent-soft)!important}table.grid th.ind{width:44px}table.grid td.ind{white-space:nowrap;width:44px}table.grid td.ind>span{vertical-align:middle;margin:0 1px;display:inline-flex}table.grid td.ind .snet,.help-popover .alert-popover-head{color:var(--accent)}.help-summary{color:var(--text);margin:0;padding:10px 12px 2px;line-height:1.45}.alert-popover li.tip{color:var(--text)}.alert-popover li.tip svg{color:#d4a106;flex:none;margin-top:2px}table.grid th.date,table.grid td.date{width:156px}.date-cell{align-items:center;gap:2px;display:flex;position:relative}.date-cell input:not(.date-native){font-family:var(--mono);color:var(--muted);font-size:12px}.date-cell input:not(.date-native):focus{color:var(--text)}.date-cell .cal-btn{width:22px;height:22px;box-shadow:none;color:#9aa3b5;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;padding:0}table.grid tr:hover .date-cell .cal-btn,.date-cell:focus-within .cal-btn{opacity:1}.date-cell .cal-btn:hover{color:var(--accent)!important;background:var(--accent-soft)!important}.date-cell .date-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:0}.c-blue{--c:#2f6fed}.c-teal{--c:#0d9488}.c-amber{--c:#d97706}.c-orange{--c:#ea580c}.c-red{--c:#dc2626}.c-indigo{--c:#4f46e5}.c-green{--c:#16a34a}.c-violet{--c:#7c3aed}.c-pink{--c:#db2777}.c-slate{--c:#475569}.ico{background:var(--c);color:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;box-shadow:0 1px 2px #10182833}button.tb{white-space:nowrap;border-radius:7px;gap:6px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;line-height:18px}button.tb .ico,.toolbar .status-date .ico{border-radius:5px;width:18px;height:18px}button.tb .ico svg,.toolbar .status-date .ico svg{width:12px;height:12px}.toolbar .status-date{font-size:12px}.toolbar .status-date-btn{border-radius:7px;padding:3px 9px;font-size:12px;line-height:18px}.toolbar .status-date-btn svg{width:13px;height:13px}.toolbar .toolbar-sep{height:18px}.toolbar .status-date{white-space:nowrap}button.tb:hover:not(:disabled){border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 9%, #fff)}button.tb:disabled .ico{box-shadow:none;background:#c3c8d2}.toolbar .status-date{color:var(--text);gap:8px;font-weight:600}.toolbar .status-date input{border-color:color-mix(in srgb, var(--c) 45%, #fff)}.toolbar .status-date input:focus{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 20%, transparent);outline:none}.tabs button .ico{border-radius:6px;width:20px;height:20px}.tabs button:not(.active) .ico{background:color-mix(in srgb, var(--c) 14%, #fff);color:var(--c);box-shadow:none}.tabs button{border-bottom:3px solid color-mix(in srgb, var(--c,#fff) 28%, #fff)!important}.tabs button:hover:not(:disabled){color:var(--c);background:color-mix(in srgb, var(--c) 7%, #fff);border-bottom-color:var(--c)!important}.tabs button.active{color:var(--c);background:color-mix(in srgb, var(--c) 10%, #fff);box-shadow:inset 0 -1px 0 var(--c);border-bottom-color:var(--c)!important}.grid-wrap>.toolbar .hint{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.cal-pop{--cal:#2f6fed;z-index:60;border:1px solid color-mix(in srgb, var(--cal) 35%, #fff);background:#fff;border-radius:16px;width:288px;animation:.12s ease-out pop;position:fixed;overflow:hidden;box-shadow:0 16px 40px #10182833,0 2px 6px #10182814}.cal-head{color:#fff;background:linear-gradient(135deg, var(--cal), color-mix(in srgb, var(--cal) 70%, #000));justify-content:space-between;align-items:center;padding:9px 10px 9px 14px;display:flex}.cal-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex;overflow:hidden}.cal-head .cal-x{color:#fff;box-shadow:none;background:#ffffff2e;border:0;border-radius:8px;padding:3px}.cal-head .cal-x:hover{color:#fff!important;background:#ffffff52!important}.cal-nav{justify-content:space-between;align-items:center;padding:10px 12px 4px;display:flex}.cal-nav b{text-transform:capitalize;font-size:14px}.cal-nav button{border-color:var(--line);color:var(--cal);border-radius:999px;padding:4px}.cal-nav button:hover{background:color-mix(in srgb, var(--cal) 10%, #fff)!important;border-color:var(--cal)!important;color:var(--cal)!important}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:6px 12px 8px;display:grid}.cal-wd{text-align:center;color:var(--muted);text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:700}.cal-wd.we{color:#b0b7c6}.cal-day{height:32px;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:999px;justify-content:center;padding:0;font-weight:500}.cal-day:hover{background:color-mix(in srgb, var(--cal) 12%, #fff)!important;color:var(--cal)!important}.cal-day.weekend{color:#8b93a5;background:#f3f5f9}.cal-day.holiday{color:#d7342c;background:#fdecea;font-weight:650}.cal-day.out{opacity:.38}.cal-day.today{box-shadow:inset 0 0 0 2px var(--cal);font-weight:700}.cal-day.sel{box-shadow:0 2px 6px color-mix(in srgb, var(--cal) 45%, transparent);font-weight:700;background:var(--cal)!important;color:#fff!important}.cal-foot{border-top:1px solid #f0f2f6;align-items:center;gap:8px;padding:8px 12px 12px;display:flex}.cal-foot .cal-today{border-color:var(--cal);color:var(--cal);border-radius:999px;padding:4px 12px;font-weight:600}.cal-foot .cal-today:hover{background:var(--cal)!important;color:#fff!important}.cal-foot .cal-clear{color:#d7342c;border-color:#f5c2bf;border-radius:999px;margin-left:auto;padding:4px 10px;font-weight:600}.cal-foot .cal-clear:hover{color:#fff!important;background:#d7342c!important;border-color:#d7342c!important}.cal-legend{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:10px;display:inline-flex}.cal-foot .cal-clear~.cal-legend{margin-left:0}.cal-legend:has(~.cal-clear){margin-left:0}.cal-legend .lg{border-radius:3px;width:9px;height:9px;margin-left:4px;display:inline-block}.cal-legend .lg.we{background:#e6e9f0}.cal-legend .lg.ho{background:#f8c9c4}.status-date-btn{font-variant-numeric:tabular-nums;border-color:color-mix(in srgb, var(--c) 45%, #fff);color:var(--text);border-radius:10px;padding:4px 10px;font-weight:600}.status-date-btn svg{color:var(--c)}.status-date-btn:hover{border-color:var(--c)!important;color:var(--c)!important;background:color-mix(in srgb, var(--c) 8%, #fff)!important}table.grid th.acts .acts-title{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:650;display:inline-block}table.grid th.acts .th-inner{justify-content:center}button.tb.sm{border-radius:6px;gap:4px;padding:2px 8px 2px 3px;font-size:11px;line-height:16px}button.tb.sm .ico{border-radius:4px;width:16px;height:16px}button.tb.sm .ico svg{width:11px;height:11px}.sec-title{align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.sec-title .sec-text{font-weight:700}.sec-title select{border:1px solid var(--line-strong);background:#fff;border-radius:7px;padding:3px 6px;font-size:12px}.count-pill{color:#fff;background:var(--c);text-align:center;border-radius:999px;min-width:22px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.field{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.field .ico{border-radius:5px;width:18px;height:18px}.field .ico svg{width:12px;height:12px}.field input[type=number]{border:1px solid color-mix(in srgb, var(--c) 45%, #fff);text-align:right;border-radius:7px;width:58px;padding:3px 6px}.field input[type=range]{accent-color:var(--c)}.date-field{font-variant-numeric:tabular-nums;border-color:color-mix(in srgb, var(--c) 45%, #fff);color:var(--text);background:#fff;border-radius:8px;padding:4px 10px;font-weight:600}.date-field svg{color:var(--c)}.date-field:hover{border-color:var(--c)!important;color:var(--c)!important;background:color-mix(in srgb, var(--c) 8%, #fff)!important}.board .column{background:color-mix(in srgb, var(--c) 6%, #eef0f4);border-top:3px solid var(--c)}.board .col-title{text-transform:uppercase;letter-spacing:.5px;color:var(--c);align-items:center;gap:8px;margin:4px 4px 12px;font-size:12px;display:flex}.board .col-title .count{background:var(--c);color:#fff;text-align:center;border-radius:999px;min-width:22px;margin-left:auto;padding:1px 8px;font-size:11px}.board .card{border-left:4px solid var(--c)}.board .card-progress{background:#e9edf3;border-radius:999px;height:5px;margin-top:6px;overflow:hidden}.board .card-progress i{background:#16a34a;border-radius:999px;height:100%;display:block}.board .col-empty{text-align:center;margin:18px 0}.kpi{border-top:3px solid var(--c);align-items:center;gap:10px;flex-direction:row!important}.kpi .ico{border-radius:9px;width:30px;height:30px}.kpi>div{flex-direction:column;display:flex}.kpi b{color:var(--c)}.state-pill{color:var(--c);background:color-mix(in srgb, var(--c) 13%, #fff);border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;display:inline-block}.actions-cell{white-space:nowrap}.actions-cell button.tb{margin-right:4px}.resources .legend{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.resources .legend .lg{border-radius:3px;width:11px;height:11px;margin-left:8px;display:inline-block}.resources .legend .lg.busy{background:var(--accent-soft);border:1px solid #c9d7f6}.resources .legend .lg.bad{background:var(--bad-soft);border:1px solid #f5c2bf}.resources .legend .lg.off{border:1px solid var(--line);background:#f7f8fa}.resources .sec-title{margin-top:14px}.resources .sec-title:first-child{margin-top:0}ul.conflicts{padding:0;list-style:none}ul.conflicts li{border-left:4px solid var(--c);background:color-mix(in srgb, var(--c) 6%, #fff);border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:4px;padding:6px 10px;display:flex}ul.conflicts li .ico{border-radius:6px;width:20px;height:20px;margin-top:1px}ul.conflicts li .ico svg{width:12px;height:12px}.wiki aside{flex-direction:column;gap:8px;display:flex}.wiki aside ul{margin:0}.wiki aside li{align-items:center;gap:8px;display:flex}.wiki aside li svg{color:#db2777;flex:none}.wiki aside li.active,.wiki aside li:hover{color:#be185d;background:#fce7f3}.wiki details summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-weight:600;display:inline-flex}.admin-msg{border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;font-weight:600;display:flex}.admin-msg.good{color:#15803d;background:#dcfce7;border:1px solid #86efac}.admin-msg.bad{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.admin .panel{border-top:3px solid var(--line)}.wiki-group{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:11px;font-weight:700}.wiki aside li.auto svg{color:#4f46e5}.wiki aside li.auto.active,.wiki aside li.auto:hover{color:#3730a3;background:#e0e7ff}.wiki-count{color:#fff;background:#4f46e5;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.wiki-badge{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.wiki-auto h4{color:#334155;align-items:center;gap:6px;margin:18px 0 8px;font-size:13px;display:flex}.wiki-auto h4 .link{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:12px;font-weight:600}.wiki-kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.wiki-kpi{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;display:flex}.wiki-kpi span:first-child{color:var(--muted);font-size:11px}.wiki-kpi b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.wiki-kpi.warn{background:#fef2f2;border-color:#fecaca}.wiki-kpi.warn b{color:var(--bad)}.mini-bar{vertical-align:middle;background:#e5e7eb;border-radius:999px;width:60px;height:6px;display:inline-block;overflow:hidden}.mini-bar.wide{width:100%;max-width:160px}.mini-bar i{background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;display:block}.wiki-table{border-collapse:collapse;width:100%;font-size:12px}.wiki-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:5px 8px;font-weight:600}.wiki-table td{white-space:nowrap;border-bottom:1px solid #f1f3f7;padding:5px 8px}.wiki-table tr.lvl0 td{background:#f8fafc;font-weight:650}.wiki-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.wiki-list{margin:0;padding:0;font-size:12px;list-style:none}.wiki-list li{border-bottom:1px solid #f1f3f7;align-items:center;gap:8px;padding:4px 0;display:flex}.wiki-list .team-name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:130px;overflow:hidden}.wiki-log-tools{align-items:center;gap:8px;display:inline-flex}.wiki-filters{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.wiki-filters button{--c:#475569;color:var(--c);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.wiki-filters button.on{background:var(--c);color:#fff;border-color:var(--c)}.wiki-log{margin:0;padding:0;list-style:none}.wiki-log-day{color:var(--muted);margin:12px 0 4px;font-size:11px;font-weight:700}.wiki-log li:first-child .wiki-log-day{margin-top:0}.wiki-log-row{border-bottom:1px solid #f1f3f7;align-items:center;gap:10px;padding:6px 4px;font-size:12.5px;display:flex}.wiki-log-ico{--c:#475569;color:#fff;background:var(--c);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.wiki-log-ico.delete{color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c);background:#fff}.wiki-log-text{flex:1;min-width:0}.wiki-log-meta{color:var(--muted);white-space:nowrap;font-size:11px}@media (width<=760px){.wiki,.wiki-cols{grid-template-columns:1fr}}svg.gantt .day.off.weekend{fill:#94a3b81f}svg.gantt .day.off.holiday{fill:#ef444412}svg.gantt .offline{stroke-width:1px;stroke-dasharray:4 3}svg.gantt .offline.weekend{stroke:#94a3b8}svg.gantt .offline.holiday{stroke:#ef4444}svg.gantt .axis.date{fill:#334155;font-weight:650}svg.gantt .axis.dayname{font-size:10.5px}svg.gantt .axis.weekend{fill:#94a3b8}svg.gantt .axis.holiday{fill:#dc2626}svg.gantt .axis.month{fill:#4f46e5}svg.gantt .header-line{stroke:#cbd5e1}svg.gantt .bar-res{fill:#fff;paint-order:stroke;stroke:#0f172a40;stroke-width:2px;font-size:11px;font-weight:600}svg.gantt .bar-text.warn{fill:#b45309}.gantt-legend{color:#475569;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:inline-flex}.gantt-legend span{align-items:center;gap:6px;display:inline-flex}.gantt-legend .lg{border-radius:3px;width:16px;height:12px;display:inline-block}.gantt-legend .lg.weekend{background:#94a3b82e;border-left:1.5px dashed #94a3b8;border-right:1.5px dashed #94a3b8}.gantt-legend .lg.holiday{background:#ef44441a;border-left:1.5px dashed #ef4444;border-right:1.5px dashed #ef4444}.content.portfolio{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:14px clamp(12px,2vw,28px)}.pf-head{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 14px;display:flex}.pf-head h2{align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.pf-head-ico{color:#fff;background:linear-gradient(135deg,#2f6fed,#4f46e5);border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 10px #2f6fed4d}.pf-role{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.pf-spacer{flex:1}.pf-kpis{grid-template-columns:repeat(7,minmax(0,1fr));display:grid!important}@media (width<=1350px){.pf-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.pf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-kpis .kpi,.pf-kpis .kpi>div{min-width:0}.pf-kpis .kpi b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pf-kpis .kpi small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pf-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pf-charts .panel{min-width:0;margin-bottom:0}.pf-dash{margin-bottom:12px}.pf-legend{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:11px;font-weight:500;display:inline-flex}.pf-legend i{border-radius:2px;width:12px;height:8px;display:inline-block}.pf-legend i.real{background:#2f6fed}.pf-legend i.exp{background:#111827;width:3px;height:12px;margin-left:6px}.pf-progress{flex-direction:column;gap:8px;max-height:210px;padding-right:4px;display:flex;overflow:auto}.pf-progress-row{grid-template-columns:minmax(90px,32%) 1fr 48px;align-items:center;gap:10px;font-size:12px;display:grid}.pf-progress-row b{text-align:right}.pf-pname{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.pf-pname i{border-radius:3px;flex:none;width:10px;height:10px}.pf-track{background:#eef1f6;border-radius:999px;height:12px;display:block;position:relative}.pf-track.sm{width:110px;height:8px}.pf-fill{border-radius:999px;min-width:2px;position:absolute;top:0;bottom:0;left:0}.pf-exp{background:#111827;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-3px;bottom:-3px}.pf-svg{width:100%;height:auto;display:block}.pf-svg .grid{stroke:#eef1f6}.pf-svg .ax{fill:var(--muted);font-size:10px}.pf-donut{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.pf-donut .donut-n{fill:#0f172a;font-size:26px;font-weight:800}.pf-donut .donut-l{fill:var(--muted);font-size:11px}.pf-donut ul{flex-direction:column;flex:1;gap:8px;min-width:160px;margin:0;padding:0;list-style:none;display:flex}.pf-donut li{grid-template-columns:12px 1fr auto 42px;align-items:center;gap:8px;font-size:13px;display:grid}.pf-donut li i{border-radius:4px;width:12px;height:12px}.pf-donut li small{color:var(--muted);text-align:right}.pf-timeline{flex-direction:column;gap:7px;display:flex}.pf-tl-axis{color:var(--muted);justify-content:space-between;margin-left:calc(32% + 10px);font-size:11px;display:flex}.pf-tl-row{grid-template-columns:minmax(90px,32%) 1fr;align-items:center;gap:10px;display:grid}.pf-tl-track{background:repeating-linear-gradient(90deg,#f6f7fa 0 18px,#fff 18px 36px);border-radius:6px;height:16px;position:relative}.pf-tl-bar{opacity:.45;border-radius:5px;position:absolute;top:2px;bottom:2px;overflow:hidden}.pf-tl-done{background:#0f172a8c;position:absolute;top:0;bottom:0;left:0}.pf-tl-ms{background:#111827;border-radius:2px;width:10px;height:10px;margin-left:-5px;position:absolute;top:3px;transform:rotate(45deg)}.pf-tl-today{background:#ef4444;width:2px;position:absolute;top:-3px;bottom:-3px}.pf-tl-foot{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.pf-tl-today-key{background:#ef4444;width:2px;height:12px;display:inline-block}.pf-tl-ms-key{background:#111827;width:8px;height:8px;margin-left:10px;display:inline-block;transform:rotate(45deg)}.pf-list{padding-bottom:6px}.pf-table{border-collapse:collapse;width:100%;font-size:13px}.pf-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 10px;font-size:11px}.pf-table td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f1f3f7;padding:9px 10px}.pf-table tbody tr{cursor:default;transition:background .12s}.pf-table tbody tr:hover td{background:#f8faff}.pf-table td.num{text-align:right;font-variant-numeric:tabular-nums}.pf-cell-name{align-items:center;gap:10px;display:flex}.pf-cell-name>div{flex-direction:column;display:flex}.pf-cell-name small{color:var(--muted);font-size:11px}.pf-dot{color:#fff;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.pf-cell-prog{align-items:center;gap:8px;display:flex}.pf-pill{--c:#475569;color:var(--c);background:color-mix(in srgb, var(--c) 12%, white);border:1px solid color-mix(in srgb, var(--c) 30%, white);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.pf-alerts{gap:4px;display:inline-flex}.pf-new .form-row{align-items:center}.pf-new .pf-name{flex:1;min-width:240px}.pf-new input[type=time]{width:110px}.pf-seeds{margin-top:10px}@media (width<=1000px){.pf-charts{grid-template-columns:1fr}}@media (width<=760px){.pf-table th:nth-child(n+5),.pf-table td:nth-child(n+5):not(:last-child){display:none}}.pf-list{overflow-x:auto}.pf-table{min-width:720px}.pf-table td:first-child{white-space:normal;min-width:220px}@media (width>=1800px){.pf-charts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.pf-head h2{font-size:17px}.pf-head .pf-spacer{display:none}.pf-table{min-width:0}.pf-new .pf-name{width:100%;min-width:0}.pf-progress-row,.pf-tl-row{grid-template-columns:minmax(80px,38%) 1fr 44px}.pf-tl-row{grid-template-columns:minmax(80px,38%) 1fr}.pf-tl-axis{margin-left:calc(38% + 10px)}}.kpi span.ico{color:#fff;font-size:inherit;text-transform:none;letter-spacing:0;background:linear-gradient(135deg, color-mix(in srgb, var(--c) 78%, #fff), var(--c));box-shadow:0 3px 8px color-mix(in srgb, var(--c) 35%, transparent)}.kpi span.ico svg{stroke:#fff}.pill-fix{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;align-items:center;gap:6px;padding:2px 4px 2px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-fix button{color:#fff;cursor:pointer;background:#f59e0b;border:1px solid #f59e0b;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700}.pill-fix button:hover{background:#d97706;border-color:#d97706}.alert-popover{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.cat-icon{color:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin-right:4px;display:inline-grid}.cat-icon.deliverable{background:#7c3aed}.cat-icon.cost{background:#16a34a}table.grid td.name{white-space:nowrap}table.grid th.cat,table.grid td.cat{width:128px}table.grid select.category{color:var(--muted);font-weight:600}table.grid select.category.deliverable{color:#6d28d9}table.grid select.category.cost{color:#15803d}.catalog-view{flex-direction:column;gap:12px;display:flex}.catalog-view>.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:0;display:grid}.catalog-view .kpi small{font-size:11px}.catalog-empty p{color:#475569;margin:0;line-height:1.5}.catalog-gantt{min-width:0;padding-bottom:6px}.catalog-gantt .gantt-wrap{box-shadow:none;border:0;padding:0}.catalog-two{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:12px;display:grid}.catalog-two .panel{margin-bottom:0}.catalog-cards{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;display:grid}.catalog-card{flex-direction:column;gap:10px;margin-bottom:0;transition:box-shadow .15s,border-color .15s;display:flex}.catalog-card.drop{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.catalog-card-head{align-items:center;gap:10px;display:flex}.catalog-card-title{flex-direction:column;flex:1;min-width:0;display:flex}.catalog-card-title b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-card-title small{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.cat-icon.big{border-radius:8px;width:28px;height:28px}.dropzone{color:#6d28d9;cursor:pointer;text-align:center;background:#faf5ff;border:2px dashed #c4b5fd;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:14px;font-size:13px;display:flex}.dropzone:hover,.dropzone.over{background:#f3e8ff;border-color:#7c3aed}.file-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.file-list li{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.file-ico{color:#6d28d9;background:#ede9fe;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.file-meta{flex-direction:column;flex:1;min-width:0;display:flex}.file-meta b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.file-meta small{color:var(--muted);font-size:11px}.catalog-card-foot{justify-content:flex-end;display:flex}.cost-table{font-size:12.5px}.cost-table td.reason{white-space:normal}.cost-table tfoot td{border-top:1px solid var(--line);padding-top:8px;font-weight:700}.cost-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cost-form input{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:6px 8px}.cost-form input:focus{border-color:#16a34a;outline:none;box-shadow:0 0 0 3px #16a34a2e}.money-input{color:#15803d;align-items:center;gap:2px;display:inline-flex}.money-input input{text-align:right;width:120px}.reason-input{flex:1;min-width:200px}.cost-row b{white-space:nowrap}.cost-row{grid-template-columns:minmax(90px,45%) 1fr 90px!important}@media (width<=1100px){.catalog-two{grid-template-columns:1fr}}@media (width<=760px){.catalog-cards{grid-template-columns:1fr}}table.grid td.name .guide{border-left:0;flex:none;align-self:stretch;width:20px;height:auto;margin:-1px -6px -2px 0;display:block;position:relative}table.grid td.name .guide.p:before,table.grid td.name .guide.t:before{content:"";border-left:1.5px solid #b9c2d3;position:absolute;top:0;bottom:0;left:9px}table.grid td.name .guide.t:after{content:"";border-top:1.5px solid #b9c2d3;width:11px;position:absolute;top:50%;left:9px}table.grid td.name .guide.e:before{content:"";border-bottom:1.5px solid #b9c2d3;border-left:1.5px solid #b9c2d3;border-bottom-left-radius:7px;width:11px;height:50%;position:absolute;top:0;left:9px}table.grid tr.leaf td.name .guide.t:after,table.grid tr.leaf td.name .guide.e:before{width:30px}table.grid tr.selected td.name .guide:before,table.grid tr.selected td.name .guide:after{border-color:#8fa6d6}table.grid select.type-select{max-width:210px;font-weight:600}table.grid select.type-select.deliverable{color:#6d28d9}table.grid select.type-select.cost{color:#15803d}table.grid select.type-select.deliverable.cost{color:#0f766e}table.grid button.type-box{box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-wrap:nowrap;align-items:center;gap:3px;max-width:100%;padding:2px 4px;display:inline-flex}table.grid button.type-box:hover{border-color:var(--line-strong);background:#fff}table.grid button.type-box:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 3px #2f6fed2e}.tchip{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:3px;padding:1px 6px 1px 4px;font-size:11.5px;font-weight:650;display:inline-flex}.tchip.task{color:#1d4ed8;background:#eff4ff;border-color:#c9d8fb}.tchip.milestone{color:#111827;background:#f3f4f6;border-color:#d6d9df}.tchip.deliverable{color:#6d28d9;background:#f5f0ff;border-color:#ddd0fb}.tchip.cost{color:#15803d;background:#effbf3;border-color:#c4ead1}.tplus{color:var(--muted);font-size:11px;font-weight:800}.tadd{color:#16a34a;background:#dcfce7;border:1px solid #86efac;border-radius:50%;place-items:center;width:17px;height:17px;margin-left:2px;display:inline-grid}table.grid button.type-box:hover .tadd{color:#fff;background:#16a34a;border-color:#16a34a}.type-pop{z-index:50;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;width:300px;padding-bottom:4px;animation:.12s ease-out pop;position:fixed;box-shadow:0 12px 32px #1018282e}.type-sec{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);align-items:center;gap:4px;padding:10px 12px 6px;font-size:11px;font-weight:700;display:flex}.type-base{grid-template-columns:1fr 1fr;gap:6px;padding:0 12px;display:grid}.type-flags{flex-direction:column;gap:6px;padding:0 12px;display:flex}.type-opt,.type-flag{text-align:left;border:1px solid var(--line);box-shadow:none;cursor:pointer;background:#fff;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;padding:7px 8px;display:flex}.type-opt>span:last-child,.type-flag>span:last-child{flex-direction:column;min-width:0;display:flex}.type-opt small,.type-flag small{color:var(--muted);font-size:10.5px;font-weight:500}.type-ico{color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;display:grid}.type-opt.task .type-ico{background:#2f6fed}.type-opt.milestone .type-ico{background:#111827}.type-flag.deliverable .type-ico{background:#7c3aed}.type-flag.cost .type-ico{background:#16a34a}.type-opt:hover,.type-flag:hover{border-color:var(--line-strong);background:#fafbfd}.type-opt.on{background:#eff4ff;border-color:#2f6fed;box-shadow:0 0 0 2px #2f6fed26}.type-opt.milestone.on{background:#f3f4f6;border-color:#111827;box-shadow:0 0 0 2px #1118271a}.type-flag.deliverable.on{background:#f5f0ff;border-color:#7c3aed}.type-flag.cost.on{background:#effbf3;border-color:#16a34a}.type-check{border:1.5px solid var(--line-strong);color:#fff;background:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;display:grid}.type-flag.deliverable.on .type-check{background:#7c3aed;border-color:#7c3aed}.type-flag.cost.on .type-check{background:#16a34a;border-color:#16a34a}.type-foot{border-top:1px solid var(--line);margin:10px 12px 6px;padding-top:8px;font-size:12px}.tchip.icon-only{border-radius:6px;justify-content:center;width:20px;height:20px;padding:2px}.tchip.summary{color:#334155;background:#eef1f6;border-color:#d3d9e4}table.grid .type-box.static{padding:2px 4px;display:inline-flex}.symbol-legend{color:#475569;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 2px 2px;font-size:12px;display:flex}.symbol-legend>span{align-items:center;gap:5px;display:inline-flex}.symbol-legend .legend-title{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.symbol-legend .legend-sep{background:var(--line-strong);width:1px;height:16px}.legend-ind{display:inline-flex}.legend-ind.done{color:var(--ok)}.legend-ind.nores{color:var(--warn)}table.grid td.name .name-icons{flex:none;align-items:center;gap:3px;display:inline-flex}table.grid td.name .name-icons .tchip{width:20px;height:20px}table.grid th .col-resizer{cursor:col-resize;z-index:2;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:-4px}table.grid th .col-resizer:after{content:"";background:0 0;border-radius:2px;width:2px;transition:background .12s;position:absolute;top:6px;bottom:6px;left:3px}table.grid th:hover .col-resizer:after{background:#c3cbdb}table.grid th .col-resizer:hover:after,body.col-resizing table.grid th .col-resizer:after{background:var(--accent)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}table.grid th.sized .th-label{min-width:0}table.grid th.name:not(.sized){min-width:180px}table.grid td.name{vertical-align:middle;height:30px;padding:0 6px 0 8px;display:table-cell}table.grid td.name .name-cell{align-items:center;gap:6px;min-width:0;height:29px;display:flex}.res-cell{height:28px}table.grid.fixed{table-layout:fixed;min-width:0}table.grid.fixed th,table.grid.fixed td{text-overflow:ellipsis;overflow:hidden}table.grid.fixed th.name:not(.sized){min-width:0}table.grid.fixed td .type-box{max-width:100%;overflow:hidden}.grid-wrap{box-sizing:border-box;width:max-content;min-width:100%}.grid-wrap>.toolbar,.grid-wrap>.symbol-legend,.grid-wrap>.grid-status{max-width:calc(100vw - 80px);position:sticky;left:10px}.res-cell .res-items{flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.res-cell .res-items .chip,.res-cell .chip-add{flex:none}.res-cell .res-items input{flex:1 0 40px;min-width:40px}table.grid.fixed td .type-box .tadd{flex:none}.symbol-legend{border:1px solid var(--line-strong);background:#f8fafc;border-radius:8px;gap:4px 12px;width:fit-content;max-width:100%;margin:6px 0 10px;padding:2px 10px;line-height:1.2;display:inline-flex;box-shadow:0 1px 2px #1018280a}.symbol-legend .tchip.icon-only{width:18px;height:18px}.symbol-legend .tadd{width:16px;height:16px}.pf-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.pf-trash{background:linear-gradient(#fff7f7,#fff 60px);border-color:#fecaca}.pf-trash-actions{justify-content:flex-end;gap:6px;display:flex}.pf-dot.trash{background:linear-gradient(135deg,#fda4af,#f43f5e)}button.tb.pressed{background:color-mix(in srgb, var(--c) 12%, #fff);border-color:var(--c)}.admin-msg.ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:10px;padding:6px 10px}.pf-track{background:#eef2ff}.pf-tl-bar{opacity:1;box-shadow:0 1px 3px #0f172a26}.pf-svg .now{fill:#6366f114}.pf-tl-done{background:#0f172a38}.picker .topbar .actions{align-items:center;gap:12px;margin-left:auto;display:flex}.account{border:1px solid var(--line);background:#f8fafc;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 4px;display:flex}.account .avatar{color:#fff;background:linear-gradient(135deg,#818cf8,#4f46e5);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.account-text{text-align:right;flex-direction:column;line-height:1.15;display:flex}.account-text b{font-size:12.5px}.account-text small{color:var(--muted);font-size:11px}@media (width<=640px){.account-text{display:none}}.pf-health{color:var(--c);background:color-mix(in srgb, var(--c) 13%, white);border:1px solid color-mix(in srgb, var(--c) 35%, white);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 6px;font-size:11.5px;font-weight:700;display:inline-flex}.pf-health .light{background:var(--c);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent), 0 0 8px color-mix(in srgb, var(--c) 70%, transparent);border-radius:50%}.pf-health.c-green{--c:#16a34a}.pf-health.c-amber{--c:#d97706}.pf-health.c-red{--c:#dc2626}.pf-health.c-slate{--c:#64748b}.pf-pill.c-red{--c:#dc2626}.pf-pill.c-amber{--c:#d97706}.pf-pill.c-green{--c:#16a34a}.pf-pill.c-violet{--c:#7c3aed}.pf-last-cell{align-items:center;gap:8px;display:flex}.pf-last-cell>div{flex-direction:column;line-height:1.2;display:flex}.avatar.sm{color:#fff;background:linear-gradient(135deg,#818cf8,#4f46e5);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.pf-table td.pf-actions-td{white-space:nowrap;width:1%}.pf-row-actions,.pf-trash-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pf-open{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#3b82f6);border:0;border-radius:9px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12.5px;font-weight:650;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 2px 6px #3b82f659}.pf-open:hover{transform:translateY(-1px);box-shadow:0 4px 10px #3b82f673}.pf-open svg:last-child{transition:transform .12s}.pf-open:hover svg:last-child{transform:translate(2px)}.pf-icon-btn{cursor:pointer;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;transition:background .12s,color .12s,transform .12s;display:grid}.pf-icon-btn.danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.pf-icon-btn.danger:hover{color:#fff;background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.sec-title .ico{background:linear-gradient(135deg, color-mix(in srgb, var(--c) 55%, #fff), var(--c));box-shadow:0 2px 6px color-mix(in srgb, var(--c) 40%, transparent);color:#fff}.sec-title .ico svg{filter:drop-shadow(0 1px #0000001f)}.panel.pf-new{background:linear-gradient(120deg,#ecfdf5 0%,#f0fdfa 35%,#eef2ff 100%);border:1px solid #a7f3d0;position:relative;overflow:hidden;box-shadow:0 6px 18px #10b9811f}.panel.pf-new:before{content:"";background:linear-gradient(#10b981,#06b6d4,#6366f1);width:5px;position:absolute;top:0;bottom:0;left:0}.pf-new-hint{color:#047857;margin-left:4px;font-size:12px;font-weight:500}.panel.pf-new .form-row input,.panel.pf-new .form-row select{background:#fff;border-color:#a7f3d0}.pf-create{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#0d9488);border:0;border-radius:9px;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:13px;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 2px 8px #10b98166}.pf-create:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98180}.pf-create:hover:not(:disabled) svg:last-child{transform:translate(2px)}.pf-create svg:last-child{transition:transform .12s}.pf-create:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ico,.cat-icon,.type-ico{background-image:linear-gradient(135deg,#ffffff6b 0%,#fff0 72%)}.ico{box-shadow:0 2px 6px color-mix(in srgb, var(--c) 38%, transparent)}.ico svg,.cat-icon svg,.type-ico svg,.tchip svg{filter:drop-shadow(0 1px #00000024)}table.grid td.acts .row-actions button{box-shadow:0 2px 5px #0f172a38;background-image:linear-gradient(135deg,#ffffff6b 0%,#fff0 72%)!important}.cat-icon.deliverable,.type-flag.deliverable .type-ico{background-color:#7c3aed;box-shadow:0 2px 6px #7c3aed59}.cat-icon.cost,.type-flag.cost .type-ico{background-color:#059669;box-shadow:0 2px 6px #05966959}.type-opt.task .type-ico{background-color:#3b82f6;box-shadow:0 2px 6px #3b82f659}.type-opt.milestone .type-ico{background-color:#1e293b;box-shadow:0 2px 6px #1e293b4d}.tchip.icon-only{color:#fff;border-color:#0000}.tchip.icon-only.task{background:linear-gradient(135deg,#93c5fd,#3b82f6);box-shadow:0 1px 4px #3b82f659}.tchip.icon-only.milestone{background:linear-gradient(135deg,#64748b,#0f172a);box-shadow:0 1px 4px #0f172a4d}.tchip.icon-only.summary{background:linear-gradient(135deg,#94a3b8,#475569);box-shadow:0 1px 4px #4755694d}.tchip.icon-only.deliverable{background:linear-gradient(135deg,#c4b5fd,#7c3aed);box-shadow:0 1px 4px #7c3aed59}.tchip.icon-only.cost{background:linear-gradient(135deg,#6ee7b7,#059669);box-shadow:0 1px 4px #05966959}.tadd{color:#fff;background:linear-gradient(135deg,#86efac,#16a34a);border-color:#0000;box-shadow:0 1px 4px #16a34a59}.chip-add{color:#fff;box-shadow:0 1px 4px #16a34a59;background:linear-gradient(135deg,#86efac,#16a34a)!important;border-color:#0000!important}.file-ico{color:#fff;background:linear-gradient(135deg,#c4b5fd,#7c3aed);box-shadow:0 2px 6px #7c3aed4d}.legend-ind{border-radius:5px;place-items:center;width:18px;height:18px;display:inline-grid;color:#fff!important}.legend-ind.done{background:linear-gradient(135deg,#86efac,#16a34a)}.legend-ind svg{width:12px;height:12px}.sec-title{gap:10px;font-size:15px}.sec-title .ico{border-radius:10px;width:32px;height:32px}.sec-title .ico svg{width:18px;height:18px}.kpi .ico,.kpi span.ico{border-radius:10px;width:32px;height:32px}.kpi .ico svg{width:18px;height:18px}.pf-head,.pf-new-wrap{position:relative}.pf-new-btn{height:34px;padding:0 16px;font-size:13.5px}.pf-new-btn.open{box-shadow:0 0 0 3px #10b98140,0 2px 8px #10b98166}.pf-new-pop{z-index:40;background:linear-gradient(160deg,#fff 0%,#f0fdf4 55%,#eef2ff 100%);border:1px solid #a7f3d0;border-radius:16px;flex-direction:column;gap:10px;width:380px;max-width:calc(100vw - 32px);padding:14px 16px 16px;animation:.14s ease-out pop;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #10182833,0 2px 8px #10b98126}.pf-new-pop:before{content:"";background:#fff;border-top:1px solid #a7f3d0;border-left:1px solid #a7f3d0;width:12px;height:12px;position:absolute;top:-7px;right:28px;transform:rotate(45deg)}.pf-new-pop-head{justify-content:space-between;align-items:center;display:flex}.pf-new-pop-head .sec-title{margin:0}.pf-pop-close{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px}.pf-pop-close:hover{color:var(--text);background:#f1f5f9}.pf-field{color:#475569;flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.pf-field input,.pf-field select{background:#fff;border:1px solid #a7f3d0;border-radius:9px;padding:7px 9px;font-size:13px}.pf-field input:focus,.pf-field select:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9812e}.pf-field .date-field{align-self:flex-start}.pf-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pf-create.wide{justify-content:center;width:100%;height:36px;margin-top:2px}.pf-new-seeds{border-top:1px dashed #bbf7d0;flex-direction:column;gap:6px;padding-top:8px;display:flex}.pf-new-seeds>div{flex-wrap:wrap;gap:6px;display:flex}.account .pf-role{padding:2px 9px;font-size:11px}.pf-new-btn svg,.pf-new-btn:hover:not(:disabled) svg:last-child{transition:none;transform:none}.account{border-radius:16px;padding:4px 12px 4px 4px}.account .avatar{width:38px;height:38px;font-size:13px;box-shadow:0 2px 6px #4f46e559}.account-text{align-items:flex-end;gap:1px}.account-text .pf-role{margin-top:2px;padding:1px 8px;font-size:10.5px;line-height:1.4}.acct{position:relative}.acct-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;height:40px;padding:0 10px 0 4px;transition:border-color .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px 2px #1018280d}.acct-btn:hover,.acct-btn.open{border-color:#c7d2fe;box-shadow:0 0 0 3px #6366f126}.acct-btn .avatar{color:#fff;background:linear-gradient(135deg,#818cf8,#4f46e5);border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid;box-shadow:0 2px 6px #4f46e559}.acct-name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:700}.acct-chev{color:var(--muted);transition:transform .15s}.acct-btn.open .acct-chev{transform:rotate(180deg)}.acct-menu{z-index:50;border:1px solid var(--line-strong);background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:320px;max-width:calc(100vw - 24px);padding:12px;animation:.12s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #10182833}.acct-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:4px 4px 10px;display:flex}.avatar.lg{color:#fff;background:linear-gradient(135deg,#818cf8,#4f46e5);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:17px;font-weight:800;display:grid;box-shadow:0 3px 10px #4f46e559}.acct-id{flex-direction:column;gap:2px;min-width:0;display:flex}.acct-id b{font-size:14px}.acct-id small{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.acct-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.acct-tags .pf-role,.acct-tenant{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.acct-tenant{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;font-weight:600}.acct-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.acct-items li.sep{background:var(--line);height:1px;margin:4px 0}.acct-items button{width:100%;box-shadow:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:8px;display:flex}.acct-items button:hover:not(:disabled){background:#f5f7ff}.acct-items button>span:last-child{flex-direction:column;display:flex}.acct-items button b{font-size:13px;font-weight:650}.acct-items button small{color:var(--muted);font-size:11px}.acct-items button.danger b{color:#dc2626}.acct-items button.danger:hover{background:#fef2f2}.acct-items .ico{border-radius:9px;width:30px;height:30px}.acct-panel{flex-direction:column;gap:8px;display:flex}.acct-panel-head{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.acct-x{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:4px}.acct-x:hover{background:#f1f5f9}.acct-panel .pf-field input{border-color:var(--line-strong)}.acct-panel .pf-field input:disabled{color:var(--muted);background:#f8fafc}.acct-msg{border-radius:8px;padding:6px 10px;font-size:12px}.acct-msg.ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.acct-msg.bad{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.acct-warn{color:#b45309;font-size:11.5px}@media (width<=640px){.acct-name{display:none}}.logo{align-items:center;gap:calc(var(--logo-h) * .38);line-height:1;display:inline-flex}.logo-mark{flex:none;display:block}.logo-word{font-family:Poppins,Segoe UI,system-ui,sans-serif;font-weight:800;font-size:calc(var(--logo-h) * .98);letter-spacing:-.02em;align-items:baseline;display:inline-flex}.logo-a{color:#08a896}.logo-linear{color:#6a57c1}.logo-pm{color:#2f7bd9;letter-spacing:.04em;margin-left:.32em;font-size:.62em;font-weight:400}.brand .logo{color:inherit}.auth-card h1.auth-logo{justify-content:center;margin:0 0 4px;display:flex}.topbar .actions{align-items:center;gap:8px}.home-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#818cf8,#3b82f6);border:0;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:0 2px 8px #3b82f659}.home-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f673}.tchip.icon-only,.tadd,.chip-add,.legend-ind,.symbol-legend .tchip.icon-only,.symbol-legend .tadd,table.grid td.name .name-icons .tchip{flex:none;place-items:center;transition:transform 80ms,filter 80ms;color:#fff!important;border:0!important;border-radius:6px!important;width:20px!important;height:20px!important;padding:0!important;display:inline-grid!important;box-shadow:0 2px 5px #0f172a38!important}.tchip.icon-only svg,.tadd svg,.chip-add svg,.legend-ind svg{width:12px!important;height:12px!important}.chip-add:hover,table.grid button.type-box:hover .tadd{transform:scale(1.12);background:linear-gradient(135deg,#ffffff6b,#fff0 72%),#15803d!important}.tchip.icon-only.task{background:#2f6fed!important}.tchip.icon-only.milestone{background:#1e293b!important}.tchip.icon-only.summary{background:#475569!important}.tchip.icon-only.deliverable{background:#7c3aed!important}.tchip.icon-only.cost{background:#059669!important}.tadd,.chip-add,.legend-ind.done{background:#16a34a!important}.legend-ind.nores{background:#d97706!important}.chip-add:hover,table.grid button.type-box:hover .tadd{background:#15803d!important}.tchip.icon-only svg,.tadd svg,.chip-add svg,.legend-ind svg{stroke-width:3px!important;filter:none!important;width:14px!important;height:14px!important}table.grid th .th-ico-label{align-items:center;gap:5px;display:inline-flex}table.grid th .th-ico-label svg,table.grid th.ind .th-label svg{color:#64748b;flex:none}.pf-new-wrap{margin-left:8px}.pf-new-pop{left:0;right:auto}.pf-new-pop:before{left:28px;right:auto}.pf-search{align-items:center;margin-left:4px;display:flex;position:relative}.pf-search input{border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:210px;height:34px;padding:0 28px 0 32px;font-size:13px;transition:border-color .12s,box-shadow .12s,width .15s}.pf-search input:focus{border-color:#6366f1;outline:none;width:250px;box-shadow:0 0 0 3px #6366f12e}.pf-search.wiki input:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277729}.pf-search-ico{color:#6366f1;pointer-events:none;position:absolute;left:10px}.pf-search.wiki .pf-search-ico{color:#db2777}.pf-search-x{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px;position:absolute;right:6px}.pf-search-x:hover{background:#f1f5f9}.pf-search-pop{z-index:45;border:1px solid var(--line-strong);background:#fff;border-radius:12px;width:420px;max-width:calc(100vw - 32px);max-height:380px;padding:8px;animation:.12s ease-out pop;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 16px 40px #1018282e}.pf-search-pop p{margin:6px}.pf-search-count{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:4px 6px 6px;font-size:11px;font-weight:700}.pf-search-pop ul{margin:0;padding:0;list-style:none}.pf-search-pop li button{text-align:left;width:100%;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:flex-start;gap:8px;padding:7px 8px;display:flex}.pf-search-pop li button:hover{background:#fdf2f8}.pf-search-hit-ico{color:#fff;background:#db2777;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;margin-top:1px;display:grid}.pf-search-hit{flex-direction:column;min-width:0;font-size:13px;display:flex}.pf-search-snip{color:#475569;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.pf-search-pop mark{color:inherit;background:#fde68a;border-radius:3px;padding:0 1px}.pf-pop-wrap{margin-left:4px;position:relative}.pf-pop-btn{color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 16px;font-size:13.5px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.pf-pop-btn.indigo{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 2px 8px #4f46e566}.pf-pop-btn.pink{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 2px 8px #db277761}.pf-pop-btn:hover{transform:translateY(-1px)}.pf-pop-btn.indigo.open{box-shadow:0 0 0 3px #6366f140,0 2px 8px #4f46e566}.pf-pop-btn.pink.open{box-shadow:0 0 0 3px #ec489938,0 2px 8px #db277761}.pf-search-panel{z-index:40;background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:420px;max-width:calc(100vw - 32px);padding:14px 16px 16px;animation:.14s ease-out pop;display:flex;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 18px 44px #10182833}.pf-search-panel.indigo{background:linear-gradient(160deg,#fff 0%,#eef2ff 100%);border:1px solid #c7d2fe}.pf-search-panel.pink{background:linear-gradient(160deg,#fff 0%,#fdf2f8 100%);border:1px solid #fbcfe8}.pf-search-panel:before{content:"";background:#fff;width:12px;height:12px;position:absolute;top:-7px;left:28px;transform:rotate(45deg)}.pf-search-panel.indigo:before{border-top:1px solid #c7d2fe;border-left:1px solid #c7d2fe}.pf-search-panel.pink:before{border-top:1px solid #fbcfe8;border-left:1px solid #fbcfe8}.pf-search-panel .sec-title{margin:0}.pf-search-form{gap:8px;display:flex}.pf-search-form input{border:1px solid var(--line-strong);background:#fff;border-radius:9px;flex:1;min-width:0;height:36px;padding:0 10px;font-size:13px}.pf-search-panel.indigo .pf-search-form input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f12e}.pf-search-panel.pink .pf-search-form input:focus{border-color:#db2777;outline:none;box-shadow:0 0 0 3px #db277729}.pf-search-go{color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.pf-search-go.indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.pf-search-go.pink{background:linear-gradient(135deg,#ec4899,#db2777)}.pf-search-go:disabled{opacity:.5;cursor:not-allowed}.pf-search-count{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.pf-search-results{flex-direction:column;gap:2px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.pf-search-results li button{text-align:left;width:100%;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:flex-start;align-items:flex-start;gap:10px;padding:8px;display:flex}.pf-search-panel.indigo .pf-search-results li button:hover{background:#e0e7ff}.pf-search-panel.pink .pf-search-results li button:hover{background:#fce7f3}.pf-search-hit-ico{color:#fff;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.pf-search-hit-ico.indigo{background:#4f46e5}.pf-search-hit-ico.pink{background:#db2777}.pf-search-hit{flex-direction:column;flex:1;min-width:0;font-size:13px;display:flex}.pf-search-hit small{font-size:11px}.pf-search-snip{color:#475569;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;display:-webkit-box;overflow:hidden}.pf-search-panel mark{color:inherit;background:#fde68a;border-radius:3px;padding:0 1px}.pf-search-go-ico{color:var(--muted);flex:none;margin-top:6px}.c-cyan{--c:#0891b2}.avances{grid-template-columns:340px minmax(0,1fr);gap:12px;height:calc(100vh - 190px);min-height:420px;display:grid}.av-list,.av-thread{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-height:0}.av-list{flex-direction:column;gap:8px;padding:12px;display:flex}.av-list .sec-title{margin:0}.av-filter{border:1px solid var(--line-strong);height:32px;color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:0 8px;display:flex}.av-filter input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13px}.av-items{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:auto}.av-item{width:100%;box-shadow:none;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;padding:8px;display:flex}.av-item:hover{background:#f0f9ff}.av-item.active{background:#e0f2fe;box-shadow:inset 3px 0 #0891b2}.av-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.av-item-text b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.av-item-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.av-count{color:#fff;background:#0891b2;border-radius:999px;flex:none;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:grid}.av-thread{flex-direction:column;display:flex;overflow:hidden}.av-thread-head{border-bottom:1px solid var(--line);background:linear-gradient(#f0f9ff,#fff);align-items:center;gap:10px;padding:12px 16px;display:flex}.av-thread-head>div{flex-direction:column;min-width:0;display:flex}.av-thread-head b{font-size:14px}.av-thread-head small{font-size:12px}.av-messages{background:#fafcfe;flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px 16px;display:flex;overflow:auto}.av-empty{color:var(--muted);margin:auto;font-size:13px}.av-day{justify-content:center;margin:6px 0;display:flex}.av-day span{color:var(--muted);background:#eef2f7;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.av-msg{align-items:flex-end;gap:8px;max-width:78%;display:flex}.av-msg.mine{flex-direction:row-reverse;margin-left:auto}.av-bubble{border:1px solid var(--line);background:#fff;border-radius:14px 14px 14px 4px;min-width:0;padding:7px 11px;box-shadow:0 1px 2px #1018280d}.av-msg.mine .av-bubble{background:linear-gradient(135deg,#e0f2fe,#cffafe);border-color:#a5f3fc;border-radius:14px 14px 4px}.av-meta{align-items:center;gap:8px;margin-bottom:2px;font-size:11.5px;display:flex}.av-meta b{color:#0e7490}.av-task-link{box-shadow:none;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px}.av-task-link:hover{text-decoration:underline}.av-del{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px}.av-del:hover{color:#dc2626;background:#fef2f2}.av-body{white-space:pre-wrap;word-break:break-word;font-size:13px}.av-compose{border-top:1px solid var(--line);background:#fff;padding:10px 12px}.av-compose-row{align-items:flex-end;gap:8px;display:flex}.av-compose textarea{resize:vertical;border:1px solid var(--line-strong);min-height:44px;max-height:200px;font:inherit;border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.av-compose textarea:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b22e}.av-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#06b6d4,#0891b2);border:0;border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 16px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #0891b259}.av-send:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (width<=900px){.avances{grid-template-columns:1fr;height:auto}.av-thread{min-height:480px}}svg.gantt .dep{fill:none;stroke:#64748b;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;transition:stroke .12s,stroke-width .12s}svg.gantt .dep-head{fill:#64748b}svg.gantt .dep-head.hi{fill:#4f46e5}svg.gantt .dep-hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:help}svg.gantt .dep-g:hover .dep{stroke:#4f46e5;stroke-width:2.4px;marker-end:url(#dep-arrow-hi)}svg.gantt .today-mark line{stroke:#ef4444;stroke-width:1.5px;stroke-dasharray:5 3}svg.gantt .today-mark rect{fill:#ef4444}svg.gantt .today-mark text{fill:#fff;font-size:10px;font-weight:700}.gantt-nav{align-items:center;gap:6px;margin:2px 0 6px;display:flex;position:sticky;left:0}.gantt-hscroll{background:#eef2f7;border-radius:999px;flex:1;min-width:0;height:16px;overflow:auto hidden}.gantt-hscroll::-webkit-scrollbar{height:12px}.gantt-hscroll::-webkit-scrollbar-track{background:0 0}.gantt-hscroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#a5b4fc,#6366f1);border:2px solid #eef2f7;border-radius:999px}.gantt-hscroll::-webkit-scrollbar-thumb:hover{background:#4f46e5}.gantt-hscroll{scrollbar-color:#6366f1 #eef2f7}.gantt-wrap{overflow:hidden!important}.gantt-nav{position:static}.gantt-body{align-items:flex-start;display:flex}.gantt-body>svg.gantt-labels{border-right:1px solid var(--line-strong);background:var(--panel);z-index:1;flex:none;position:relative;box-shadow:4px 0 6px -4px #0f172a1f}svg.gantt .labels-head{fill:#f8fafc}.gantt-scroll{flex:1;min-width:0;overflow:auto hidden}.gantt-nav{align-items:center;gap:0!important;display:grid!important}.gantt-nav-btns{align-items:center;gap:6px;padding-right:8px;display:flex}.gantt-hscroll{margin-left:0}.mem-res{background:#faf5ff;border:1px dashed #c4b5fd;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-size:13px;display:flex}.mem-res select{border:1px solid var(--line-strong);background:#fff;border-radius:7px;padding:4px 6px}.warn-text{color:#b45309}.tag.admin-tag{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;margin-left:4px}.panel .admin-msg{margin-top:10px}.popf{position:relative}.popf.tone-green{--pa:#10b981;--pb:#0d9488;--pl:#ecfdf5;--pbd:#a7f3d0}.popf.tone-indigo{--pa:#6366f1;--pb:#4f46e5;--pl:#eef2ff;--pbd:#c7d2fe}.popf.tone-violet{--pa:#a78bfa;--pb:#7c3aed;--pl:#f5f3ff;--pbd:#ddd6fe}.popf.tone-pink{--pa:#ec4899;--pb:#db2777;--pl:#fdf2f8;--pbd:#fbcfe8}.popf.tone-orange{--pa:#fb923c;--pb:#ea580c;--pl:#fff7ed;--pbd:#fed7aa}.popf.tone-teal{--pa:#2dd4bf;--pb:#0d9488;--pl:#f0fdfa;--pbd:#99f6e4}.popf-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--pa), var(--pb));height:34px;box-shadow:0 2px 8px color-mix(in srgb, var(--pb) 40%, transparent);border:0;border-radius:9px;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.popf-btn:hover{transform:translateY(-1px)}.popf .popf-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--pa), var(--pb));color:#fff;filter:brightness(1.06);border:0}.popf-btn.open{box-shadow:0 0 0 3px color-mix(in srgb, var(--pa) 28%, transparent), 0 2px 8px color-mix(in srgb, var(--pb) 40%, transparent)}.popf-panel{z-index:40;border:1px solid var(--pbd);background:linear-gradient(160deg, #fff 0%, var(--pl) 100%);border-radius:16px;flex-direction:column;gap:10px;width:380px;max-width:calc(100vw - 32px);padding:14px 16px 16px;animation:.14s ease-out pop;display:flex;position:absolute;top:calc(100% + 10px);box-shadow:0 18px 44px #10182833}.popf-panel.left{left:0}.popf-panel.right{right:0}.popf-panel:before{content:"";top:-7px;left:clamp(14px, calc(28px + var(--ax,0px)), calc(100% - 26px));border-left:1px solid var(--pbd);border-top:1px solid var(--pbd);background:#fff;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.popf-panel.right:before{left:auto;right:clamp(14px, calc(28px - var(--ax,0px)), calc(100% - 26px))}.popf-head{align-items:center;gap:8px;font-size:14px;display:flex}.popf-head b{flex:1}.popf-ico{color:#fff;background:linear-gradient(135deg, var(--pa), var(--pb));width:30px;height:30px;box-shadow:0 2px 6px color-mix(in srgb, var(--pb) 35%, transparent);border-radius:9px;place-items:center;display:grid}.popf-form{flex-direction:column;gap:10px;display:flex}.popf-form .pf-field input,.popf-form .pf-field select{border-color:var(--pbd)}.popf-form .pf-field input:focus,.popf-form .pf-field select:focus{border-color:var(--pb);box-shadow:0 0 0 3px color-mix(in srgb, var(--pa) 22%, transparent)}.popf-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--pa), var(--pb));height:36px;box-shadow:0 2px 8px color-mix(in srgb, var(--pb) 35%, transparent);border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.popf-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.popf-form .mem-res{margin-top:0}.admin-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.admin-head .sec-title{margin:0}.popf-panel,.pf-search-panel,.pf-new-pop,.acct-menu{scroll-margin:16px}.adm-nav{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.adm-tab{border:1px solid color-mix(in srgb, var(--c) 30%, #fff);color:var(--c);cursor:pointer;box-shadow:none;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 8px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.adm-tab .ico{background:color-mix(in srgb, var(--c) 14%, #fff);width:22px;height:22px;color:var(--c);border-radius:6px;place-items:center;display:grid}.adm-nav .adm-tab:hover:not(:disabled){background:color-mix(in srgb, var(--c) 8%, #fff);color:var(--c);border-color:var(--c)}.adm-nav .adm-tab.on,.adm-nav .adm-tab.on:hover:not(:disabled){background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 2px 6px color-mix(in srgb, var(--c) 35%, transparent)}.adm-nav .adm-tab.on .ico{color:#fff;background:#ffffff38}.admin-head{flex-wrap:wrap}.admin-head .sec-title{margin-right:auto}.role-chip{color:#4338ca;background:#eef2ff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.role-chip.r-tenant_admin{color:#b91c1c;background:#fee2e2}.role-chip.r-general_manager{color:#be185d;background:#fce7f3}.role-chip.r-area_manager{color:#6d28d9;background:#ede9fe}.role-chip.r-project_manager{color:#1d4ed8;background:#dbeafe}.role-chip.r-resource{color:#c2410c;background:#ffedd5}.role-chip.r-client{color:#0f766e;background:#ccfbf1}.role-chip.r-guest{color:#475569;background:#f1f5f9}.prof-chip{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.prof-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.prof-card{background:#fffaf5;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:10px;padding:10px 12px}.prof-card.ext{background:#f5fffd;border-color:#99f6e4 #99f6e4 #99f6e4 #0d9488}.prof-top{align-items:center;gap:8px;display:flex}.prof-top .pf-icon-btn{margin-left:auto}.prof-code{color:#c2410c;font-size:18px;font-weight:800}.prof-card.ext .prof-code{color:#0f766e}.prof-name{margin:2px 0 6px;font-weight:600}.prof-people{flex-wrap:wrap;gap:4px;display:flex}.tag.kind-int{color:#c2410c;background:#ffedd5}.tag.kind-ext{color:#0f766e;background:#ccfbf1}.pf-icon-btn.sm{width:24px;height:24px}.perm-wrap{overflow-x:auto}.perm-table .perm-col{text-align:center;white-space:nowrap;width:92px}.perm-table th.perm-col{white-space:normal;font-size:12px}.perm-table input[type=checkbox]{accent-color:#dc2626;cursor:pointer;width:17px;height:17px}.perm-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.perm-lock{color:#b91c1c;background:#fee2e2;border-radius:6px;place-items:center;width:22px;height:22px;display:inline-grid}.mem-res select{margin:0 4px}.entries .act-col{text-align:center;width:84px}.entries td.act-col .pf-icon-btn{display:inline-grid}.cal-table td{vertical-align:top}.cal-table tr.row-new td{background:#ecfdf5}.cal-table tr.row-new td:first-child{box-shadow:inset 3px 0 #16a34a}.tag.new-tag{color:#fff;background:#16a34a;margin-left:6px}.hol-list{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hol-chip{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8;border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:12px;display:inline-flex}.hol-chip button{color:#be185d;width:16px;height:16px;box-shadow:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hol-chip button:hover:not(:disabled){color:#fff;background:#be185d}.popf-form div.pf-field{flex-direction:column;gap:4px;display:flex}.co-overlay{z-index:80;background:#0f172a61;justify-content:center;align-items:flex-start;padding:48px 16px 24px;animation:.12s ease-out pop;display:flex;position:fixed;inset:0;overflow:hidden auto}.co-dialog{background:var(--bg,#f4f6fb);border-radius:18px;width:min(1180px,100%);overflow:visible;box-shadow:0 24px 60px #10182847}.co-head{border-bottom:1px solid var(--line);background:#fff;border-radius:18px 18px 0 0;align-items:center;gap:12px;padding:14px 18px;display:flex}.co-head>div{flex-direction:column;flex:1;display:flex}.co-head small{color:var(--muted);font-size:12px}.co-ico{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 2px 6px #4f46e559}.co-body{padding:16px 18px 18px}.ro-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.perm-mark{color:#94a3b8;border-radius:6px;place-items:center;width:22px;height:22px;font-weight:700;display:inline-grid}.perm-mark.on{color:#15803d;background:#dcfce7}.row-acts{gap:6px;display:inline-flex}.pf-icon-btn.edit{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.pf-icon-btn.edit:hover:not(:disabled),.pf-icon-btn.edit.on{color:#fff;background:#16a34a;border-color:#16a34a}.cal-table tr.row-editing td{background:#f0fdf4}.cal-edit-row>td{background:#f0fdf4;padding:0 0 12px!important}.cal-editor{--pa:#10b981;--pb:#0d9488;background:#fff;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;gap:12px;margin:0 8px;padding:14px;display:flex}.cal-ed-top{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.cal-days{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;display:grid}.wd-box{background:#f8fffb;border:1px solid #d1fae5;border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.wd-box.off{background:#f8fafc;border-color:#e2e8f0}.wd-name{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.wd-name input{accent-color:#16a34a}.cal-slots{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-slot{align-items:center;gap:4px;display:inline-flex}.cal-slot input[type=time]{padding:3px 6px;font-size:12.5px}.slot-x{color:#dc2626;width:18px;height:18px;box-shadow:none;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;place-items:center;padding:0;display:grid}.slot-add{color:#15803d;box-shadow:none;background:#f0fdf4;border:1px dashed #86efac;border-radius:999px;gap:3px;padding:2px 8px;font-size:12px}.cal-ed-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-ed-foot>span{margin-right:auto}.cal-save{background:linear-gradient(135deg,#10b981,#0d9488);padding:0 16px;box-shadow:0 2px 8px #0d948859}.tb-ghost{border-radius:9px;height:36px}.tenant-chip{color:#0f766e;white-space:nowrap;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex}.tenant-chip.select{padding-right:4px}.tenant-chip select{color:#0f766e;box-shadow:none;background:0 0;border:0;padding:2px 4px;font-weight:700}.pf-company{color:#0f766e;margin-left:8px;font-weight:600}.auth-title{color:#4338ca;align-items:center;gap:8px;margin:14px 0 10px;font-size:17px;display:flex}.auth-links{justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;display:flex}.auth-notice{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px;font-size:13px}.auth-invite{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;margin:0 0 4px;padding:10px 12px;font-size:14px;line-height:1.5}.acct-banner{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;padding:8px 16px;font-size:13px;display:flex}.acct-banner>*{overflow-wrap:anywhere;min-width:0}.acct-banner.warn{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a}.acct-banner.ok{color:#166534;background:#ecfdf5;border-bottom:1px solid #bbf7d0}.acct-banner.bad{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca}.acct-banner button{border-radius:999px;padding:2px 10px;font-size:12px}.acct-banner button.link{color:inherit;box-shadow:none;background:0 0;border:1px solid}.acct-menu:has(.sec-panel){width:380px}.sec-panel{flex-direction:column;gap:10px;display:flex}.sec-block{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.sec-head{align-items:center;gap:6px;font-size:13px;display:flex}.sec-head .ok{color:#16a34a}.sec-head .off{color:#94a3b8}.sec-pill{color:#64748b;background:#f1f5f9;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}.sec-pill.on{color:#15803d;background:#dcfce7}.sec-row{gap:6px;display:flex}.sec-row input{flex:1;min-width:0}.sec-secret{letter-spacing:1px;text-align:center;word-break:break-all;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:8px;font-size:14px;display:block}.sec-codes{grid-template-columns:1fr 1fr;gap:4px;display:grid}.sec-codes code{text-align:center;background:#f8fafc;border-radius:6px;padding:4px 6px}.sec-sessions{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.sec-sessions li{align-items:center;gap:6px;font-size:12.5px;display:flex}.sec-sessions li>span{flex-wrap:wrap;flex:1;align-items:center;gap:4px 6px;display:flex}.sec-sessions li small{flex-basis:100%}.sec-sessions .sec-pill{margin-left:0}.inv-title{color:#4338ca;align-items:center;gap:6px;margin:16px 0 6px;font-size:13px;display:flex}.co-grid{grid-template-columns:180px 1fr 200px;align-items:start;gap:18px;display:grid}@media (width<=900px){.co-grid{grid-template-columns:1fr}}.co-logo{border:1px dashed #99f6e4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:12px;display:flex}.co-logo img{object-fit:contain;max-width:150px;max-height:80px}.co-upload{cursor:pointer}.co-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.co-fields .co-save{--pa:#2dd4bf;--pb:#0d9488;background:linear-gradient(135deg,#2dd4bf,#0d9488);grid-column:1/-1;justify-self:start;padding:0 18px}.co-usage{gap:8px;display:grid}.co-usage div{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;align-items:baseline;gap:8px;padding:8px 12px;display:flex}.co-usage b{color:#0f766e;font-size:18px}.co-usage span{color:#64748b;font-size:12px}.co-policy{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.co-policy:last-child{border-bottom:0}.co-policy input{accent-color:#16a34a;width:17px;height:17px;margin-top:3px}.co-policy span{flex-direction:column;gap:2px;display:flex}.co-export{text-decoration:none;display:inline-flex}.co-danger{background:snow;border-color:#fecaca}.co-ico.svc{background:linear-gradient(135deg,#475569,#1e293b)}.svc-search{flex:1;max-width:360px;margin-right:auto}.svc-status{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.svc-status.active{color:#15803d;background:#dcfce7}.svc-status.suspended{color:#b91c1c;background:#fee2e2}.svc-status.closing{color:#92400e;background:#fef3c7}a.tb,label.tb{border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;line-height:18px;text-decoration:none;display:inline-flex;box-shadow:0 1px 1px #1018280a}a.tb:hover,label.tb:hover{border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 9%, #fff)}a.tb .ico,label.tb .ico{color:#fff;background:var(--c);border-radius:5px;place-items:center;width:18px;height:18px;display:grid}a.tb .ico svg,label.tb .ico svg{width:12px;height:12px}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:10px 0;display:grid}.plan-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:18px;display:flex;position:relative;box-shadow:0 4px 14px #1018280f}.plan-card.featured{border:2px solid #6366f1;box-shadow:0 10px 26px #4f46e52e}.plan-card.current{border-color:#16a34a}.plan-card h3{margin:0;font-size:18px}.plan-badge{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800;position:absolute;top:-11px;right:14px}.plan-price b{color:#1e1b4b;font-size:24px}.plan-price span{color:var(--muted);margin-left:4px;font-size:12px}.plan-card ul{flex-direction:column;flex:1;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.plan-card li{align-items:flex-start;gap:6px;display:flex}.plan-card li svg{color:#16a34a;flex:none;margin-top:2px}.plan-btn{border:1px solid var(--line-strong);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;padding:9px;font-weight:700;text-decoration:none;display:inline-flex}.plan-btn.primary{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border:0}.plan-btn:disabled{opacity:.6;cursor:default}.cycle-toggle{border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.cycle-toggle button{box-shadow:none;border:0;border-radius:0;padding:5px 12px;font-size:12px}.cycle-toggle button.on{color:#fff;background:#16a34a}.bill-status{align-items:center;gap:10px;margin:4px 0 12px;font-size:13px;display:flex}.meters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.meter-top{justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.meter-top span{color:var(--muted)}.meter-bar{background:#eef2ff;border-radius:999px;height:8px;overflow:hidden}.meter-bar span{background:linear-gradient(90deg,#818cf8,#4f46e5);border-radius:999px;height:100%;display:block}.meter-bar span.warm{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.meter-bar span.hot{background:linear-gradient(90deg,#f87171,#dc2626)}.bill-email{align-items:flex-end;max-width:520px}.pricing-page{background:radial-gradient(1200px 600px at 20% -10%, #e4ecff 0%, var(--bg) 60%);min-height:100%;padding:40px 16px}.pricing-head{text-align:center;max-width:720px;margin:0 auto 20px}.pricing-head h1{color:#1e1b4b;margin:0 0 8px}.pricing-page .plan-cards{max-width:1000px;margin:0 auto}.pricing-foot{text-align:center;margin-top:20px}.pricing-foot .link,.auth-pricing a{box-shadow:none;color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:600}.svc-inv{color:#92400e;margin-top:4px;font-size:12px}button.link{box-shadow:none;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600}.auth-terms{color:#334155;align-items:flex-start;gap:8px;font-size:12.5px;display:flex}.auth-terms input{accent-color:var(--accent);margin-top:2px}.auth-legal,.legal-links{font-size:11.5px}.legal-links a{color:var(--muted)}.legal-dialog{width:min(860px,100%)}.legal-body{color:#1e293b;background:#fff;border-radius:0 0 18px 18px;font-size:14px;line-height:1.6}.legal-body h1{margin:0 0 12px;font-size:22px}.legal-body h2{color:#312e81;margin:20px 0 6px;font-size:16px}.legal-body h3{font-size:14px}.legal-body blockquote{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:8px;margin:0 0 14px;padding:10px 14px}.legal-body table{margin:8px 0}.gantt-scroll{position:relative}svg.gantt .bar.draggable{cursor:grab}svg.gantt .bar.draggable:active{cursor:grabbing}svg.gantt .bar.ghost{fill:none;stroke:#4f46e5;stroke-width:2px;stroke-dasharray:5 3}svg.gantt .ghost-label{fill:#4f46e5;font-size:10px;font-weight:700}.gantt-preview{z-index:30;background:#fff;border:1px solid #c7d2fe;border-radius:14px;flex-direction:column;gap:6px;width:330px;padding:12px 14px;font-size:12.5px;display:flex;position:absolute;box-shadow:0 14px 34px #10182838}.gp-head{color:#3730a3;align-items:center;gap:6px;font-weight:700;display:flex}.gp-warn{color:#92400e;background:#fffbeb;border-radius:8px;margin:0;padding:6px 8px}.gp-row{justify-content:space-between;gap:10px;display:flex}.gp-row span{color:var(--muted)}.gp-row b.bad{color:#dc2626}.gp-row b.good{color:#16a34a}.gp-list{max-height:120px;margin:0;padding-left:16px;overflow:auto}.gp-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.gp-actions button{gap:4px}.gp-apply{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border:0;font-weight:700}.gp-apply:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#4f46e5,#4338ca)}.sim-dialog{width:min(900px,100%)}.co-ico.sim{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.sim-body{background:#fff;border-radius:0 0 18px 18px;flex-direction:column;gap:10px;display:flex}.sim-kinds{flex-wrap:wrap;gap:6px;display:flex}.sim-kinds button{color:#6d28d9;background:#fff;border-color:#ddd6fe;border-radius:999px;padding:5px 12px;font-weight:600}.sim-kinds button.on{color:#fff;background:#7c3aed;border-color:#7c3aed}.sim-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.sim-form .pf-field{flex:1;min-width:180px}.sim-run{color:#fff;background:linear-gradient(135deg,#a78bfa,#7c3aed);border:0;height:34px;font-weight:700}.sim-run:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.sim-kpis{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;display:grid}.sim-kpis div{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.sim-kpis span{color:var(--muted);font-size:12px}.sim-kpis b{color:#4c1d95;font-size:18px}.sim-kpis small.bad{color:#dc2626;font-weight:700}.sim-kpis small.good{color:#16a34a;font-weight:700}.sim-apply{justify-content:flex-end;margin-top:8px;display:flex}.co-ico.ver{background:linear-gradient(135deg,#6366f1,#4338ca)}.ver-publish{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px;display:flex}.ver-publish .pf-field{flex:1;min-width:220px}.ver-btn{background:linear-gradient(135deg,#6366f1,#4338ca)}.tag.ver-bl{color:#3730a3;background:#e0e7ff;margin-left:6px}svg.gantt .bar.baseline{fill:#94a3b8}svg.gantt .bar.baseline.late{fill:#f59e0b}.gantt-bl-toggle{cursor:pointer;gap:6px}.res-panels{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;margin:14px 0;display:grid}.pf-row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.evm{color:#475569;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-wrap:wrap;gap:4px 12px;padding:4px 10px;font-size:12px;display:inline-flex}.evm b{color:#14532d}.evm .bad b{color:#dc2626}.evm .good b{color:#15803d}.hh-overtime{white-space:nowrap;align-self:center}.rate-editor{background:#fff;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;gap:8px;max-width:560px;margin:0 8px;padding:12px;display:flex}.pf-import{color:#3730a3;background:#eef2ff;border:1px dashed #6366f1;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-weight:700;display:flex}.pf-import:hover:not(:disabled){color:#312e81;background:#e0e7ff;border-color:#4f46e5}.co-ico.imp{background:linear-gradient(135deg,#22c55e,#15803d)}.imp-drop{color:#166534;cursor:pointer;background:#f0fdf4;border:2px dashed #86efac;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:18px;font-weight:700;display:flex}.imp-drop:hover{background:#dcfce7}.imp-warn{color:#92400e;font-size:12.5px}.imp-warn ul{max-height:160px;overflow:auto}.bell{position:relative}.bell-btn{color:#4338ca;background:#eef2ff;border-color:#c7d2fe;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:relative}.bell-btn.open,.bell-btn:hover:not(:disabled){color:#3730a3;background:#e0e7ff}.bell-count{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10.5px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.bell-menu{z-index:60;border:1px solid var(--line-strong);background:#fff;border-radius:14px;width:380px;max-width:calc(100vw - 24px);max-height:70vh;padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 44px #10182833}.bell-head{justify-content:space-between;align-items:center;padding:4px 6px 8px;display:flex}.bell-menu ul{margin:0;padding:0;list-style:none}.bell-menu li button{text-align:left;width:100%;box-shadow:none;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:10px;padding:8px;display:flex}.bell-menu li.unread button{background:#f5f7ff}.bell-menu li button:hover:not(:disabled){color:inherit;background:#eef2ff}.bell-dot{background:#94a3b8;border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px}.bell-menu li.unread .bell-dot{background:#4f46e5}.bell-text{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.bell-empty{padding:10px}.prefs-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mention-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.mention-chips button{color:#0f766e;box-shadow:none;background:#f0fdfa;border-color:#99f6e4;border-radius:999px;padding:1px 8px;font-size:11.5px}.forum{grid-template-columns:320px 1fr;gap:14px;display:grid}@media (width<=900px){.forum{grid-template-columns:1fr}}.forum-list,.forum-main{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.forum-list-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.forum-new{color:#fff;background:linear-gradient(135deg,#2dd4bf,#0d9488);border:0;gap:4px;font-weight:700}.forum-new:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#14b8a6,#0f766e)}.forum-list ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.forum-list li{cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.forum-list li:hover{background:#f0fdfa}.forum-list li.active{background:#ccfbf1;border-color:#5eead4}.forum-form{flex-direction:column;gap:8px;display:flex}.forum-form textarea{resize:vertical;width:100%}.forum-actions{justify-content:flex-end;gap:8px;display:flex}.forum-thread-head{align-items:center;gap:8px;display:flex}.forum-thread-head h3{flex:1;margin:0}.forum-posts{flex-direction:column;gap:8px;margin:10px 0;padding:0;list-style:none;display:flex}.forum-posts li{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:10px 12px}.forum-posts li.mine{background:#f0fdfa;border-color:#99f6e4}.forum-post-head{align-items:baseline;gap:8px;display:flex}.forum-post-head .link{margin-left:auto}.forum-body{white-space:pre-wrap;margin:4px 0 0}.forum-body mark{color:#0f766e;background:#ccfbf1;border-radius:4px;padding:0 2px;font-weight:600}.rev-badge{border-radius:999px;margin-top:2px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.rev-badge.pending{color:#92400e;background:#fef3c7}.rev-badge.accepted{color:#15803d;background:#dcfce7}.rev-badge.rejected{color:#b91c1c;background:#fee2e2}.calm-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calm-wd{text-align:center;color:var(--muted);text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:700}.calm-day{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:2px;min-height:96px;padding:4px;display:flex;overflow:hidden}.calm-day.out{opacity:.45}.calm-day.we{background:#f8fafc}.calm-day.today{border-color:#dc2626;box-shadow:inset 0 0 0 1px #dc2626}.calm-num{color:#475569;font-size:11px;font-weight:700}.calm-item{color:#1e3a8a;white-space:nowrap;text-overflow:ellipsis;background:#dbeafe;border-radius:5px;align-items:center;gap:3px;padding:1px 5px;font-size:10.5px;display:flex;overflow:hidden}.calm-item.en_curso{background:#c7d2fe}.calm-item.hecha{color:#166534;background:#dcfce7}.calm-item.bloqueada{color:#991b1b;background:#fee2e2}.calm-item.ms{color:#5b21b6;background:#ede9fe;font-weight:700}.calm-more{color:var(--muted);font-size:10px}.tbl-filters{flex-wrap:wrap}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable svg{vertical-align:-1px;margin-left:4px}tr.tbl-late td{background:#fff7f7}.tag.tbl-late-tag{color:#b91c1c;background:#fee2e2}.tracking{flex-direction:column;gap:14px;display:flex}.trk-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.trk-kpi{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.trk-kpi span{color:var(--muted);font-size:12px}.trk-kpi b{color:#0f172a;font-size:22px}.trk-kpi small{color:var(--muted);font-size:11.5px}.trk-kpi.good{background:#f0fdf4;border-color:#86efac}.trk-kpi.good b{color:#15803d}.trk-kpi.warn{background:#fffbeb;border-color:#fcd34d}.trk-kpi.warn b{color:#b45309}.trk-kpi.bad{background:#fef2f2;border-color:#fca5a5}.trk-kpi.bad b{color:#b91c1c}.trk-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;display:grid}.trk-bars{align-items:flex-end;gap:12px;height:150px;padding:8px 4px 0;display:flex}.trk-week{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.trk-pair{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;display:flex}.trk-pair span{border-radius:4px 4px 0 0;width:40%;max-width:22px;min-height:2px}.trk-pair .p,.lg.p{background:#a5b4fc}.trk-pair .a,.lg.a{background:#16a34a}.lg.p,.lg.a{vertical-align:-1px;border-radius:3px;width:10px;height:10px;display:inline-block}.trk-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.trk-list li{background:#f8fafc;border-radius:8px;flex-direction:column;padding:6px 8px;display:flex}.trk-list small{color:var(--muted)}.help-dialog{width:min(980px,100%)}.co-ico.help{background:linear-gradient(135deg,#22d3ee,#0891b2)}.help-body{background:#fff;border-radius:0 0 18px 18px;grid-template-columns:240px 1fr;display:grid}@media (width<=760px){.help-body{grid-template-columns:1fr}}.help-body nav{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:14px;display:flex}.help-body nav button{text-align:left;box-shadow:none;background:0 0;border:0;border-radius:8px;justify-content:flex-start}.help-body nav button.on{color:#0e7490;background:#ecfeff;font-weight:700}.help-body .legal-body{border-radius:0;padding:16px 20px}.cal-feed-actions{justify-content:space-between}.records{flex-direction:column;gap:12px;display:flex}.rec-tabs{flex-wrap:wrap;gap:6px;display:flex}.rec-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;gap:6px;font-weight:600}.rec-tabs button.active{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.rec-count{color:#fff;background:#ef4444;border-radius:999px;margin-left:2px;padding:0 6px;font-size:11px}.rec-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.rec-form{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.rec-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.rec-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rec-item{border:1px solid var(--line);background:#fff;border-left:4px solid #94a3b8;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.rec-item.k-risk{border-left-color:#ef4444}.rec-item.k-change{border-left-color:#8b5cf6}.rec-item.k-lesson{border-left-color:#f59e0b}.rec-item.k-ticket{border-left-color:#14b8a6}.rec-item.focus{box-shadow:0 0 0 3px #fde68a}.rec-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rec-del{margin-left:auto}.rec-body{white-space:pre-wrap;margin:0}.rec-meta{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.rec-status{color:#334155;background:#e2e8f0;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.rec-status.s-approved,.rec-status.s-resolved,.rec-status.s-mitigated{color:#166534;background:#dcfce7}.rec-status.s-rejected,.rec-status.s-occurred{color:#991b1b;background:#fee2e2}.rec-status.s-proposed,.rec-status.s-in_progress{color:#5b21b6;background:#ede9fe}.rec-prio{color:#64748b;font-size:11px}.rec-prio.p3{color:#c2410c;font-weight:700}.rec-prio.p4{color:#b91c1c;font-weight:800}.rec-exp{text-align:center;color:#fff;border-radius:6px;min-width:24px;padding:1px 4px;font-size:12px;font-weight:800}.rec-exp.low,.rm-cell.low{background:#86efac}.rec-exp.mid,.rm-cell.mid{background:#fcd34d}.rec-exp.high,.rm-cell.high{background:#f87171}.rec-exp.low,.rec-exp.mid{color:#1e293b}.rec-acts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rec-acts input{flex:1;min-width:180px}.rec-ok{color:#166534;gap:4px}.rec-no{color:#991b1b;gap:4px}.rec-decision{color:#475569;margin:0;font-style:italic}.rec-score{color:#1d4ed8;font-weight:800}.rec-lessons{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.rec-search{width:100%;margin:6px 0}.tag.on{color:#1e40af;background:#dbeafe}.similar{flex-direction:column;gap:12px;display:flex}.risk-matrix{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:4px;max-width:210px;display:grid}.rm-axis-y{writing-mode:vertical-rl;color:#64748b;font-size:11px;transform:rotate(180deg)}.rm-axis-x{text-align:center;color:#64748b;grid-column:2;font-size:11px}.rm-grid{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.rm-cell{aspect-ratio:1;color:#1e293b;opacity:.85;border-radius:5px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}@media (width<=640px){.topbar{gap:8px;padding:8px 12px}.topbar .stats{flex-wrap:wrap;gap:6px}.topbar .actions{width:100%;margin-left:0}.tabs{padding:4px 8px 0}.content{padding:10px 12px}}.assistant{flex-direction:column;gap:12px;display:flex}.ai-proposal{flex-direction:column;gap:8px;display:flex}.ai-proposal.s-discarded{opacity:.65}.ai-items{border-collapse:collapse;width:100%;font-size:13px}.ai-items th{text-align:left;color:#64748b;border-bottom:1px solid var(--line);padding:4px 6px;font-size:11px;font-weight:700}.ai-items td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:4px 6px}.ai-items .num{text-align:right}.ai-items tr.off td{color:#94a3b8}.ai-items tr.ai-phase td{color:#5b21b6;background:#f5f3ff;font-weight:800}.rec-item.k-acceptance{border-left-color:#2563eb}.rec-status.s-accepted{color:#166534;background:#dcfce7}.rec-status.s-requested{color:#1e40af;background:#dbeafe}.act-numbers{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;margin:4px 0;display:grid}.act-numbers div{flex-direction:column;display:flex}.act-numbers dt{color:#64748b;font-size:11px}.act-numbers dd{margin:0;font-weight:700}.tour{z-index:1000;position:fixed;inset:0}.tour-dim{background:#0f172a8c;position:fixed;inset:0}.tour-spot{pointer-events:none;border-radius:12px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #0f172a8c,0 0 0 3px #a78bfa}.tour-card{background:#fff;border-radius:16px;flex-direction:column;gap:6px;padding:16px 18px 14px;transition:top .2s,left .2s;display:flex;position:fixed;box-shadow:0 20px 50px #0f172a59}.tour-card h3{color:#1e1b4b;margin:0;font-size:16px}.tour-card p{color:#334155;margin:0;font-size:13.5px;line-height:1.5}.tour-count{color:#7c3aed;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.tour-x{box-shadow:none;color:#64748b;background:0 0;border:0;padding:4px;position:absolute;top:8px;right:8px}.tour-dots{gap:4px;margin-top:4px;display:flex}.tour-dots span{background:#e2e8f0;border-radius:50%;width:6px;height:6px}.tour-dots span.on{background:#7c3aed;border-radius:3px;width:16px}.tour-actions{align-items:center;gap:6px;margin-top:6px;display:flex}.tour-actions button{gap:4px}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}}.help-tour{gap:6px;margin-top:8px;color:#6d28d9!important;border:1px dashed #c4b5fd!important}.help-videos{flex-direction:column;gap:18px;display:flex}.help-videos figure{flex-direction:column;gap:6px;margin:0;display:flex}.help-videos figcaption{flex-direction:column;gap:2px;display:flex}.help-videos video{border:1px solid var(--line);aspect-ratio:16/9;background:#0f172a;border-radius:10px;width:100%}.auth{background:radial-gradient(700px 420px at 12% 8%,#6a57c129,#0000 70%),radial-gradient(640px 420px at 90% 18%,#08a89624,#0000 70%),radial-gradient(620px 420px at 70% 100%,#efa64a24,#0000 70%),#f5f6fb;padding:24px 16px;overflow:auto}.auth-card{border:1px solid #e6e8f2;border-radius:20px;width:420px;max-width:100%;padding:30px 30px 22px;position:relative;overflow:hidden;box-shadow:0 24px 60px #30266e24,0 2px 6px #1018280d}.auth-card:before{content:"";background:linear-gradient(90deg,#6a57c1,#2f7bd9 40%,#08a896 70%,#efa64a);height:5px;position:absolute;inset:0 0 auto}.auth-card h1.auth-logo{margin:4px 0 6px}.auth-tagline{text-align:center;color:#64748b;margin:0 0 18px;font-size:14px}.auth-tabs{background:#f1f2f8;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid}.auth-tabs button{box-shadow:none;color:#64748b;background:0 0;border:0;border-radius:9px;justify-content:center;gap:6px;padding:8px 10px;font-weight:650}.auth-tabs button:hover:not(.active){color:#334155;background:#e7e9f4}.auth-tabs button.active{color:#5b47b8;background:#fff;box-shadow:0 1px 3px #1018281f}.auth-tabs button.active svg{color:#08a896}.auth-form{gap:10px}.auth-field{display:block;position:relative}.auth-field svg{color:#94a3b8;pointer-events:none;transition:color .15s;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-field input{box-sizing:border-box;background:#fbfcfe;width:100%;font-size:14px;border:1px solid #dfe3ee!important;border-radius:11px!important;padding:11px 12px 11px 38px!important}.auth-field input:focus{background:#fff;outline:none;border-color:#6a57c1!important;box-shadow:0 0 0 3px #6a57c12e!important}.auth-field:focus-within svg{color:#6a57c1}.auth-form button.auth-submit{color:#fff;background:linear-gradient(135deg,#6a57c1,#2f7bd9);border:0;border-radius:11px;justify-content:center;gap:8px;margin-top:4px;padding:11px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 8px 20px #4c51bf4d}.auth-form button.auth-submit:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#5b47b8,#2563c9);transform:translateY(-1px);box-shadow:0 10px 24px #4c51bf61}.auth-form button.auth-submit:disabled{filter:saturate(.6);opacity:.8}.auth-links{justify-content:center;margin-top:12px}.auth-links a{color:#5b47b8;font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-extra{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 6px;display:grid}.auth-chip{text-align:left;box-shadow:none;border-radius:12px;flex-direction:row;align-items:center;gap:10px;padding:9px 12px;font-size:13px}.auth-chip>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.auth-chip b{font-weight:700}.auth-chip small{opacity:.85;font-size:11px;font-weight:500}.auth-chip-ico{background:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 1px 3px #1018281a}.auth-card h1.auth-logo svg{max-width:100%;height:auto}.auth-terms a{color:#5b47b8;font-weight:600}.auth-chip.pricing{color:#b45309;background:#fff7ec;border:1px solid #fcd9a8}.auth-chip.pricing:hover:not(:disabled){color:#92400e;background:#ffefd6}.auth-chip.demo{color:#047e71;background:#ecfbf8;border:1px solid #a7e9de}.auth-chip.demo:hover:not(:disabled){color:#036158;background:#d9f6f0}.auth-legal{text-align:center;color:#94a3b8;margin:12px 0 0}.auth-legal a{color:#64748b}@media (width<=420px){.auth-extra{grid-template-columns:1fr}.auth-card{padding:24px 18px 18px}}.statusbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;display:flex}.omni-sign{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:inline-flex}.omni-brand{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.omni-brand b{letter-spacing:-.2px;font-family:Poppins,Montserrat,Segoe UI,system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1}.omni-mark{flex:none}.omni-web{border-left:1px solid var(--line-strong);color:var(--muted);align-items:center;gap:4px;padding-left:8px;font-weight:600;text-decoration:none;display:inline-flex}.omni-web:hover,.omni-brand:hover b{text-decoration:underline}.omni-web:hover{color:#2e9a9c}.omni-sign.on-auth{justify-content:center;margin:18px 0 0}.auth{flex-direction:column}.picker>.statusbar{margin-top:auto}a.tb{white-space:nowrap;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);border-radius:7px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;line-height:18px;text-decoration:none;display:inline-flex;box-shadow:0 1px 1px #1018280a}a.tb .ico{border-radius:5px;width:18px;height:18px}a.tb:hover{border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 9%, #fff)}.pn-login-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.pn-chip{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.pn-user{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:2px 10px 2px 2px;display:inline-flex}.pn-user>span:last-child{flex-direction:column;line-height:1.15;display:flex}.pn-user b{font-size:12.5px}.pn-user small{color:var(--muted);font-size:11px}.pn-avatar{color:#fff;background:linear-gradient(135deg,#475569,#1e293b);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.pn-content{flex-direction:column;display:flex}.pn-stack{flex-direction:column;gap:14px;display:flex}.pn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=1000px){.pn-grid{grid-template-columns:1fr}}.pn-click{cursor:pointer;transition:transform .1s,box-shadow .1s}.pn-click:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1018281f}.kpi small{color:var(--muted);font-size:11px}.pn-bars{grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;height:160px;padding-top:6px;display:grid}.pn-bar{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.pn-bar span{background:linear-gradient(#34d399,#059669);border-radius:6px 6px 2px 2px;width:100%;min-height:2px}.pn-bar small{color:var(--muted);font-size:10.5px}.pn-dist{flex-direction:column;margin:6px 0 0;padding:0;list-style:none;display:flex}.pn-dist li{border-bottom:1px dashed #e5e7eb;justify-content:space-between;gap:10px;padding:6px 2px;font-size:13px;display:flex}.pn-dist li span{align-items:center;gap:5px;display:inline-flex}.pn-dist li.warn b{color:#d97706}.pn-dist li.bad b{color:#dc2626}.pn-dist+.pn-dist{margin-top:12px}.pn-due{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.pn-due li{border:1px solid var(--line);border-left-width:4px;border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.pn-due li.bad{border-left-color:#dc2626}.pn-due li.warn{border-left-color:#d97706}.pn-due li.info{border-left-color:#2563eb}.pn-due .link,.pf-table .link{text-align:left;padding:0;font-weight:700}.pn-warn{color:#b45309}.pn-bad{color:#b91c1c;font-weight:700}td.pn-warn,td.pn-bad{white-space:nowrap}.pn-row{cursor:pointer}.pn-row:focus-visible td{background:#eef4ff}.pn-row-acts{flex-wrap:wrap;gap:4px;display:flex;white-space:normal!important}.pn-wrap{white-space:normal!important}.pn-tag{color:#3730a3;box-shadow:none;background:#eef2ff;border-color:#c7d2fe;border-radius:999px;margin:1px 3px 1px 0;padding:1px 8px;font-size:11.5px}.pn-form{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;margin:8px 0;display:grid}.pn-form .pn-wide{grid-column:1/-1}.pn-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pn-log{flex-direction:column;gap:4px;max-height:320px;margin:6px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex;overflow:auto}.pn-filters{flex-wrap:wrap;gap:6px;display:flex}.pn-filters button{background:#fff;border-radius:999px;gap:6px;font-weight:600}.pn-filters button.active{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.pn-filters button .rec-count{background:#94a3b8}.pn-filters button.active .rec-count,.pn-filters button.bad .rec-count{background:#ef4444}.pn-tickets{grid-template-columns:380px 1fr}@media (width<=900px){.pn-tickets{grid-template-columns:1fr}}.pn-tickets .forum-list ul{max-height:62vh;overflow:auto}.pn-ticket.breached{border-left:3px solid #ef4444}.pn-ticket-tags{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pn-ticket-head{flex-direction:column;align-items:flex-start;gap:2px}.pn-ticket-meta{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-direction:column;gap:4px;margin:8px 0;padding:8px 10px;font-size:13px;display:flex}.pn-ticket-meta span{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.forum-posts li.pn-internal{background:#fffbeb;border-style:dashed;border-color:#fcd34d}.forum-posts li.pn-from-service{background:#eef2ff;border-color:#c7d2fe}.pn-reply-mode{gap:4px;display:inline-flex}.pn-reply-mode button{border-radius:999px;gap:5px;font-size:12.5px}.pn-reply-mode button.active{color:#3730a3;background:#e0e7ff;border-color:#a5b4fc;font-weight:700}.pn-reply-mode button.active.internal{color:#92400e;background:#fef3c7;border-color:#fcd34d}textarea.pn-internal-input{background:#fffdf5;border-color:#fcd34d}.pn-after{flex-direction:row;align-items:center;gap:6px;margin-right:auto}.pn-support-empty{color:var(--muted);place-items:center;gap:6px;padding:40px 0;display:grid}a.acct-link{width:100%;color:inherit;border-radius:10px;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}a.acct-link:hover{background:#f5f7ff}a.acct-link>span:last-child{flex-direction:column;display:flex}@media (width<=640px){.omni-sign{white-space:normal;flex-wrap:wrap;justify-content:center;row-gap:4px;margin:0 auto}.statusbar{text-align:center;justify-content:center}.picker .topbar{flex-wrap:nowrap;gap:8px;padding:8px 12px}.picker .topbar .brand svg{width:auto;height:20px}.picker .topbar .tenant-chip{text-overflow:ellipsis;min-width:0;max-width:42vw;height:30px;padding:0 10px;font-size:12px;overflow:hidden}.picker .topbar .tenant-chip select{min-width:0;max-width:100%}.picker .topbar .actions{flex-wrap:nowrap;flex:none;gap:6px;width:auto;margin-left:auto}.bell-btn{width:34px;height:34px}.acct-btn{gap:4px;height:36px;padding:0 6px 0 2px}.acct-btn .avatar{width:30px;height:30px}.portfolio{padding:12px}.pf-head{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;display:grid}.pf-head h2{grid-column:1/-1;margin-bottom:2px;font-size:19px;line-height:1.2}.pf-head .pf-head-ico{flex:none;width:30px;height:30px}.pf-head .pf-company,.pf-head .pf-spacer{display:none}.pf-head .pf-new-wrap,.pf-head .pf-pop-wrap{min-width:0;margin:0}.pf-head .pf-new-btn,.pf-head .pf-pop-btn,.pf-head-actions>button.tb{white-space:nowrap;text-overflow:ellipsis;border-radius:11px;justify-content:center;width:100%;height:42px;padding:0 8px;font-size:13.5px;overflow:hidden}.pf-head-actions>button.tb{background:#fff;gap:6px;font-size:13px}.pf-head-actions>button.tb .ico{width:20px;height:20px}.pf-new-pop,.pf-search-panel{z-index:70;max-width:none;max-height:calc(100dvh - 84px);position:fixed;top:64px;overflow:auto;width:auto!important;left:10px!important;right:10px!important}.acct-menu,.bell-menu{width:auto;max-width:none;max-height:calc(100dvh - 76px);position:fixed;top:56px;left:10px;right:10px;overflow:auto}.pf-kpis{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.pf-kpis .kpi{align-items:flex-start;gap:8px;padding:10px}.pf-kpis .kpi .ico{border-radius:8px;width:28px;height:28px}.pf-kpis .kpi span{letter-spacing:.2px;font-size:10.5px}.pf-kpis .kpi b{white-space:normal;font-size:19px}.pf-kpis .kpi small{white-space:normal;line-height:1.25}.pf-charts{gap:10px}.picker>.statusbar{flex-direction:column;gap:6px;padding:10px 12px;font-size:11.5px}.app:not(.pn-app)>.topbar{gap:6px 8px;padding:8px 12px}.app:not(.pn-app)>.topbar .project-name{flex-basis:100%;order:2;margin:0;font-size:16px}.app:not(.pn-app)>.topbar .tenant-chip{text-overflow:ellipsis;order:1;min-width:0;max-width:60vw;height:28px;font-size:12px;overflow:hidden}.app:not(.pn-app)>.topbar .brand{order:0}.app:not(.pn-app)>.topbar .stats{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;gap:6px;overflow-x:auto}.app:not(.pn-app)>.topbar .stats::-webkit-scrollbar{display:none}.app:not(.pn-app)>.topbar .stats>span{flex:none}.app:not(.pn-app)>.topbar .actions{flex-wrap:nowrap;flex-basis:100%;order:4;justify-content:space-between;gap:6px;width:100%;margin:0}.app:not(.pn-app)>.topbar .actions>button{flex:none;justify-content:center;gap:0;width:38px;height:38px;padding:0;font-size:0}.app:not(.pn-app)>.topbar .actions>button svg{width:17px;height:17px}.app:not(.pn-app)>.topbar .actions>button.tb .ico{width:24px;height:24px}.app:not(.pn-app)>.tabs button{padding:8px 10px;font-size:13px}.app:not(.pn-app)>.content{padding:10px}.toolbar .hint,.symbol-legend{display:none}}.pf-menu-toggle{display:none}.pf-head-actions{display:contents}@media (width<=640px){.pf-menu-toggle{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#7c3aed 55%,#db2777 100%);border:0;border-radius:14px;grid-column:1/-1;align-items:center;gap:8px;height:48px;padding:0 16px;font-size:15.5px;font-weight:800;display:flex;box-shadow:0 6px 16px #6366f159}.pf-menu-toggle:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#6d28d9 55%,#be185d 100%);border-color:#0000}.pf-menu-toggle svg{flex:none}.pf-menu-toggle .muted{color:#ffffffd1;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;font-weight:600;overflow:hidden}.pf-menu-chev{transition:transform .15s}.pf-head.menu-open .pf-menu-toggle{border-radius:14px 14px 6px 6px;box-shadow:0 0 0 3px #7c3aed33,0 6px 16px #6366f159}.pf-head.menu-open .pf-menu-chev{transform:rotate(180deg)}.pf-head-actions{display:none}.pf-head.menu-open .pf-head-actions{background:linear-gradient(#f5f3ff 0%,#eef2ff 100%);border:2px solid #c4b5fd;border-top:0;border-radius:6px 6px 16px 16px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;margin-top:-4px;padding:12px;animation:.12s ease-out pop;display:grid;box-shadow:0 10px 24px #4f46e529}}.grid-edit-actions{display:contents}@media (width<=640px){.toolbar .grid-menu-toggle{flex-basis:100%}.toolbar.menu-open .grid-menu-toggle{border-radius:14px 14px 6px 6px;box-shadow:0 0 0 3px #7c3aed33,0 6px 16px #6366f159}.toolbar.menu-open .grid-menu-toggle .pf-menu-chev{transform:rotate(180deg)}.grid-edit-actions{display:none}.toolbar.menu-open .grid-edit-actions{background:linear-gradient(#f5f3ff 0%,#eef2ff 100%);border:2px solid #c4b5fd;border-top:0;border-radius:6px 6px 16px 16px;flex-basis:100%;grid-template-columns:1fr 1fr;gap:8px;margin-top:-6px;padding:12px;animation:.12s ease-out pop;display:grid;box-shadow:0 10px 24px #4f46e529}.grid-edit-actions .toolbar-sep{display:none}.grid-edit-actions>button.tb{white-space:nowrap;text-overflow:ellipsis;background:#fff;justify-content:flex-start;width:100%;height:40px;padding:0 8px;font-size:13px;overflow:hidden}.grid-edit-actions>button.tb .ico{width:20px;height:20px}.toolbar{justify-content:center}.toolbar>.toolbar-sep{display:none}.toolbar>.status-date{flex-basis:100%;justify-content:center}.toolbar>.evm{text-align:center;flex-wrap:wrap;flex-basis:100%;justify-content:center}.grid-wrap>.toolbar,.grid-wrap>.grid-status{max-width:calc(100vw - 42px)}}.ml-list{flex-direction:column;gap:8px;max-width:calc(100vw - 42px);padding-bottom:8px;display:flex;position:sticky;left:10px}.ml-empty{text-align:center;padding:16px}.ml-section{text-align:left;color:#fff;background:linear-gradient(135deg,#334155,#1e293b);border:0;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;align-items:center;gap:4px 8px;width:auto;margin-top:6px;padding:10px 12px;display:grid;box-shadow:0 4px 12px #0f172a33}.ml-section:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a)}.ml-section-ico{background:#ffffff24;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.ml-section-name{flex-direction:column;min-width:0;display:flex}.ml-section-name b{font-size:14.5px;line-height:1.25}.ml-section-name small{opacity:.75;font-size:11.5px}.ml-section-hh{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.ml-section-hh b{font-size:18px}.ml-section-hh small{opacity:.75;font-size:10px}.ml-section>.ml-pct{background:#ffffff2e;grid-column:1/-1}.ml-section>.ml-pct span{background:#34d399}.ml-card{text-align:left;border:1px solid var(--line);border-left:4px solid var(--st,#94a3b8);width:auto;color:var(--text);background:#fff;border-radius:14px;flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px 10px 14px;display:flex;box-shadow:0 2px 6px #1018280f}.ml-card:hover:not(:disabled){color:var(--text);border-color:#c7d2fe;border-left-color:var(--st,#94a3b8);background:#fafbff}.ml-card.bad{box-shadow:0 0 0 1px #fecaca,0 2px 6px #1018280f}.ml-card.milestone{background:#fffbeb}.ml-card-top{align-items:center;gap:6px;display:flex}.ml-num{color:#475569;background:#f1f5f9;border-radius:7px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:11px;font-weight:800;display:grid}.ml-kind{color:#fff;background:#2563eb;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid}.ml-kind.ms{background:#111827}.ml-flag{color:#fff;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.ml-flag.dl{background:#7c3aed}.ml-flag.cs{background:#16a34a}.ml-name{flex:1;min-width:0;font-size:14.5px;font-weight:700;line-height:1.3}.ml-edit-ico{color:#94a3b8;flex:none}.ml-meta{color:#475569;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;display:flex}.ml-meta span{align-items:center;gap:4px;display:inline-flex}.ml-meta b{color:#0f172a}.ml-status{color:var(--st);background:color-mix(in srgb, var(--st) 12%, #fff);border:1px solid color-mix(in srgb, var(--st) 30%, #fff);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:11.5px;font-weight:700}.ml-dates{color:#475569;align-items:center;gap:4px;font-size:12.5px;display:flex}.ml-res{flex-wrap:wrap;gap:4px;display:flex}.ml-chip{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.ml-nores{color:#c2410c;font-size:12px;font-weight:600}.ml-progress{align-items:center;gap:8px;font-size:12px;display:flex}.ml-pct{background:#e2e8f0;border-radius:999px;flex:1;height:6px;overflow:hidden}.ml-pct span{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;display:block}.ml-alert{color:#b45309;align-items:center;gap:4px;font-size:12px;display:flex}.ml-alert.bad{color:#b91c1c}.ml-sheet-back{z-index:90;background:#0f172a66;align-items:flex-end;animation:.12s ease-out pop;display:flex;position:fixed;inset:0}.ml-sheet{width:100%;max-height:calc(100% - 24px);padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;gap:10px;display:flex;overflow:auto;box-shadow:0 -12px 32px #0f172a40}.ml-sheet-grip{background:#cbd5e1;border-radius:999px;width:44px;height:5px;margin:2px auto 4px}.ml-sheet-head{justify-content:space-between;align-items:center;font-size:15px;display:flex}.ml-sheet .pf-field input{height:42px;font-size:16px}.ml-sheet-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.ml-sheet-row>.pf-field{min-width:0}.ml-sheet .pf-field input{width:100%;min-width:0}.ml-range{accent-color:#16a34a;width:100%}.ml-status-pick{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ml-status-pick button{height:40px;color:var(--st);border:1.5px solid color-mix(in srgb, var(--st) 35%, #fff);background:#fff;justify-content:center;font-weight:700}.ml-status-pick button.on{color:#fff;background:var(--st);border-color:var(--st)}.ml-sheet-dates{line-height:1.35}.ml-sheet-actions{grid-template-columns:1fr 2fr;gap:8px;display:grid}.ml-sheet-actions button{justify-content:center;height:46px;font-size:15px}@media (width<=640px){.tbl-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid!important}.tbl-filters>input:first-child{grid-column:1/-1;height:44px;font-size:16px}.tbl-filters>select{width:100%;min-width:0;height:42px}.tbl-filters>.tbl-sort{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;grid-column:1/-1;font-weight:700}.tbl-toggle{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;justify-content:center;align-items:center;height:40px;margin:0;padding:0 10px;font-size:13.5px;font-weight:700;display:flex}.tbl-toggle input{display:none}.tbl-toggle.on{color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);border-color:#0000}.tbl-cards{flex-direction:column;gap:8px;margin-top:10px;display:flex}.tbl-card{cursor:default}}.board-pick{display:none}@media (width<=640px){.board-pick{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.board-pick button{height:42px;color:var(--c);border:1.5px solid color-mix(in srgb, var(--c) 30%, #fff);background:#fff;border-radius:12px;justify-content:center;gap:6px;font-weight:700}.board-pick button .count{color:#fff;background:var(--c);border-radius:999px;min-width:22px;padding:1px 7px;font-size:11.5px}.board-pick button.on{color:#fff;background:var(--c);border-color:var(--c);box-shadow:0 4px 12px color-mix(in srgb, var(--c) 35%, transparent)}.board-pick button.on .count{color:var(--c);background:#fff}.board{grid-template-columns:1fr}.board .column{min-height:0;padding:8px}.board .card{padding:12px}.board .card-title{font-size:15px;line-height:1.3}.board .card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.board .card-actions button.tb{justify-content:center;height:36px;padding:0 6px;font-size:12.5px}.calm-phone{gap:4px}.calm-phone .calm-wd{text-align:center;font-size:11px}.calm-pday{border:1px solid var(--line);height:46px;box-shadow:none;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:14px;font-weight:700;display:flex}.calm-pday.out{opacity:.4}.calm-pday.we{background:#f8fafc}.calm-pday.today{color:#4338ca;border-color:#6366f1}.calm-pday.on{color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);border-color:#0000}.calm-dots{gap:2px;height:6px;display:flex}.calm-dots b{background:#4f46e5;border-radius:50%;width:6px;height:6px}.calm-pday.on .calm-dots b{background:#fff!important}.calm-agenda{margin-top:12px}.calm-agenda h4{margin:0 0 8px;font-size:15px}.calm-agenda h4:first-letter{text-transform:uppercase}.calm-agenda ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calm-agenda li{border:1px solid var(--line);border-left:4px solid var(--st);background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:10px 12px;display:grid}.calm-dot{background:var(--st);border-radius:50%;width:9px;height:9px}.calm-a-name{font-size:14px;font-weight:700}.calm-a-meta{color:#64748b;grid-column:2;font-size:12px}.wiki,.avances,.forum,.catalog-two,.co-grid,.help-body,.wiki-cols{grid-template-columns:1fr!important}.avances{height:auto;min-height:0}.catalog-cards,.res-panels,.trk-grid,.cal-days,.cal-ed-top,.prof-grid,.plan-cards,.meters{grid-template-columns:minmax(0,1fr)!important}.sim-kpis,.kpis{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}.kpis .kpi{min-width:0}table.entries,table.cost-table,table.wiki-table,table.load,.panel>table.pf-table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}table.entries td,table.entries th{white-space:nowrap}.panel{padding:12px}.form-row{flex-wrap:wrap}.form-row>input,.form-row>select,.form-row>textarea{flex:100%;min-width:0}.admin-head{flex-wrap:wrap;gap:8px}.admin-head>input,.admin-head>select{flex:140px;min-width:0}.pf-row2,.pf-field-row,.co-fields,.type-base{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.adm-nav{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.adm-nav::-webkit-scrollbar{display:none}.adm-tab{flex:none}.gantt-wrap{padding:8px}.gantt-wrap>.toolbar{gap:6px}.gantt-legend .muted{display:none}.wiki>aside{scrollbar-width:none;flex-flow:row;align-items:center;gap:6px;min-width:0;padding:8px;overflow-x:auto}.wiki>aside::-webkit-scrollbar{display:none}.wiki>aside .wiki-group{display:none}.wiki>aside ul{flex:none;gap:6px;display:flex}.wiki>aside li{white-space:nowrap;background:#fff;border:1px solid #fbcfe8;border-radius:999px;flex:none;padding:8px 12px;font-size:13.5px}.wiki>aside li.active{color:#fff;background:#db2777;border-color:#db2777}.wiki>aside li.active svg{color:#fff}.wiki>aside>button.tb{flex:none;height:38px}.wiki>section{min-width:0}}.act-intro{align-items:center;gap:6px;margin:0 0 10px;display:flex}.board .card.act-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:4px;transition:transform .1s,box-shadow .1s;display:flex}.board .card.act-card:hover:not(:disabled){color:var(--text);border-color:var(--line);border-left-color:var(--c);background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px #1018281f}.act-card .card-title{font-weight:700}.act-badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.act-badge{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.act-badge.guide{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.act-badge.ok{color:#15803d;background:#dcfce7;border-color:#86efac}.act-badge.empty{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0;font-weight:600}.act-bar{background:#e2e8f0;border-radius:999px;height:6px;margin-top:4px;display:block;overflow:hidden}.act-bar i{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;display:block}.act-bar.big{height:8px;margin:0 0 10px}.act-dialog{width:min(780px,100%)}.co-ico.act-ico{background:linear-gradient(135deg,#22c55e,#15803d)}.act-body{flex-direction:column;gap:14px;display:flex}.act-meta{color:#475569;flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.act-meta span{align-items:center;gap:6px;display:inline-flex}.act-status{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.act-status button{height:40px;color:var(--c);border:1.5px solid color-mix(in srgb, var(--c) 30%, #fff);background:#fff;justify-content:center;gap:6px;font-weight:700}.act-status button.on{color:#fff;background:var(--c);border-color:var(--c)}.act-section{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.act-section h4{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.act-section h4 .muted{margin-left:auto;font-weight:600}.act-section textarea{resize:vertical;width:100%;min-height:120px;font:inherit;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.5}.act-section textarea:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e26}.act-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.act-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.act-list li{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.act-list li.done{background:#f0fdf4;border-color:#bbf7d0}.act-check{color:#fff;width:28px;height:28px;box-shadow:none;background:#fff;border:2px solid #94a3b8;border-radius:8px;flex:none;justify-content:center;padding:0}.act-list li.done .act-check{background:#16a34a;border-color:#16a34a}.act-check:hover:not(:disabled){color:#fff;border-color:#16a34a}.act-title{cursor:text;overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.35}.act-list li.done .act-title{color:#64748b;-webkit-text-decoration:line-through #86efac;text-decoration:line-through #86efac}.act-edit{flex:1;min-width:0;height:34px;font-size:14px}.act-tools{flex:none;gap:2px;display:inline-flex}.act-tools button{width:30px;height:30px;box-shadow:none;color:#64748b;background:0 0;border:0;justify-content:center;padding:0}.act-tools button:hover:not(:disabled){color:#0f172a;background:#e2e8f0}.act-tools button.del:hover:not(:disabled){color:#b91c1c;background:#fee2e2}.act-empty{justify-content:center;background:0 0!important;border:1px dashed #cbd5e1!important}.act-add{gap:8px;display:flex}.act-add input{border-radius:12px;flex:1;min-width:0;height:44px;font-size:15px}.act-add button{height:44px;padding:0 16px}.act-suggest{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.act-suggest button{color:#15803d;background:#f0fdf4;border-color:#bbf7d0;border-radius:999px;gap:4px;padding:4px 10px;font-size:12.5px}.act-foot{justify-content:flex-end;display:flex}@media (width<=640px){.act-overlay{align-items:stretch;padding:0}.act-dialog{border-radius:0;min-height:100dvh}.act-overlay .co-head{z-index:2;border-radius:0;position:sticky;top:0}.act-status{grid-template-columns:repeat(2,minmax(0,1fr))}.act-tools button{width:34px;height:34px}.act-add input{font-size:16px}}.statusbar .symbol-legend{border:1px solid var(--line);box-shadow:none;white-space:nowrap;background:#f8fafc;flex-wrap:nowrap;flex:none;margin:0;padding:3px 10px;font-size:11.5px}.statusbar-text{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}@media (width>=641px){.statusbar:has(.symbol-legend){flex-wrap:nowrap}.statusbar:has(.symbol-legend)>:last-child{flex:none}.grid-wrap>.toolbar{flex-wrap:wrap;row-gap:10px}.grid-wrap>.toolbar>.evm{white-space:nowrap;flex-wrap:nowrap;flex:none}.grid-edit-actions>button.tb{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--c) 78%, #fff), var(--c));height:30px;box-shadow:0 2px 8px color-mix(in srgb, var(--c) 38%, transparent);border:0;border-radius:9px;gap:6px;padding:0 12px 0 8px;font-size:12.5px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s}.grid-edit-actions>button.tb .ico{width:auto;height:auto;box-shadow:none;color:#fff;background:0 0}.grid-edit-actions>button.tb .ico svg{width:15px;height:15px}.grid-edit-actions>button.tb:hover:not(:disabled){color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--c) 78%, #fff), var(--c));filter:brightness(1.06);border:0;transform:translateY(-1px)}.grid-edit-actions>button.tb:disabled{color:#94a3b8;box-shadow:none;background:#e2e8f0}.grid-edit-actions>button.tb:disabled .ico{color:#94a3b8;background:0 0}}.pf-cards{flex-direction:column;gap:10px;display:flex}.pf-card{border:1px solid var(--line);border-left:4px solid var(--pc,#6366f1);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #1018280f}.pf-card-main{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;padding:12px;display:flex}.pf-card-top{align-items:flex-start;gap:10px;display:flex}.pf-card-top .pf-dot{border-radius:9px;flex:none;width:30px;height:30px}.pf-card-name{flex-direction:column;gap:2px;min-width:0;display:flex}.pf-card-name b{font-size:15.5px;line-height:1.25}.pf-card-name small{color:var(--muted);font-size:12px}.pf-card-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;display:flex}.pf-card-prog{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.pf-card-prog .pf-track{width:100%;height:10px;display:block;position:relative}.pf-card-prog b{font-size:14px}.pf-card-facts{grid-template-columns:.7fr 1fr 1fr;gap:6px;display:grid}.pf-card-facts>span{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-direction:column;gap:1px;min-width:0;padding:6px 8px;display:flex}.pf-card-facts small{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:10.5px}.pf-card-facts b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.pf-card-actions{gap:8px;padding:0 12px 12px;display:flex}.pf-card-actions .pf-open{flex:1;justify-content:center;height:40px;font-size:14px}.pf-card-actions .pf-icon-btn{flex:none;width:40px;height:40px}@media (width<=640px){.pf-progress-row{grid-template-columns:1fr auto;row-gap:4px}.pf-progress-row .pf-pname{white-space:normal;grid-column:1;font-size:13px;font-weight:600}.pf-progress-row .pf-track{grid-area:2/1/auto/-1}.pf-progress-row b{grid-area:1/2}.pf-tl-row{grid-template-columns:1fr;row-gap:4px;margin-bottom:4px}.pf-tl-row .pf-pname{white-space:normal;font-size:13px;font-weight:600}.pf-tl-axis{grid-column:1/-1;margin-left:0!important;padding-left:0!important}.pf-tl-foot{flex-wrap:wrap}.pf-donut{flex-wrap:nowrap;gap:14px}.pf-donut svg{flex:none;width:118px;height:118px}.pf-donut ul{gap:6px;min-width:0}.pf-donut li{grid-template-columns:10px minmax(0,1fr) auto 36px;gap:6px;font-size:12.5px}.pf-donut li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pf-list{padding:12px}}.gea-title{display:none}@media (width>=641px){.grid-wrap>.toolbar{padding-top:10px}.grid-edit-actions{background:linear-gradient(#f8faff 0%,#eef2ff 100%);border:1.5px solid #c7d2fe;border-radius:12px;flex:none;align-items:center;gap:8px;margin-right:6px;padding:14px 14px 10px;display:inline-flex;position:relative;box-shadow:inset 0 1px #fff,0 2px 8px #4f46e514}.gea-title{letter-spacing:.4px;text-transform:uppercase;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:999px;align-items:center;gap:4px;height:18px;padding:0 8px;font-size:10.5px;font-weight:800;display:inline-flex;position:absolute;top:-9px;left:12px;box-shadow:0 2px 6px #6366f159}.grid-edit-actions .toolbar-sep{background:#c7d2fe;height:24px;margin:0 8px}.grid-edit-actions>button.tb{height:32px;padding:0 14px 0 10px}.grid-wrap>.toolbar{column-gap:10px;padding-top:14px}.grid-edit-actions+.toolbar-sep{display:none}}table.grid tr.active:not(.selected):not(.to-delete):not(.conflict):not(.related)>td{background:#e3ebff}table.grid tr.active:not(.to-delete)>td{box-shadow:inset 0 1px #93b4fb,inset 0 -1px #93b4fb}table.grid tr.active:not(.to-delete)>td:first-child{box-shadow:inset 4px 0 #2f6fed,inset 0 1px #93b4fb,inset 0 -1px #93b4fb}table.grid tr.active:not(.selected)>td.id{color:#1d4ed8;font-weight:700}.wiki-switch{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;display:flex}.wiki-seg{background:#fdf2f8;border:1px solid #fbcfe8;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.wiki-seg button{color:#9d174d;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 16px;font-size:13.5px;font-weight:700;display:inline-flex}.wiki-seg button:hover:not(.on){background:#fce7f3}.wiki-seg button.on{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 2px 8px #db277759}.wiki-open{color:#475569;border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12.5px;font-weight:650;display:inline-flex}.wiki-open.on{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.wiki-open.ro{cursor:default}.wiki-open input{accent-color:#10b981;margin:0}.cm-intro{background:linear-gradient(135deg,#fff 0%,#fdf2f8 100%);border:1px solid #fbcfe8;border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.cm-intro-ico{color:#fff;background:linear-gradient(135deg,#f472b6,#db2777);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 2px 8px #db27774d}.cm-intro-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cm-ask{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:0;border-radius:10px;flex:none;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:13.5px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #4f46e566}.cm-ask:hover{filter:brightness(1.06);transform:translateY(-1px)}.cm-ask-form{background:linear-gradient(160deg,#fff 0%,#eef2ff 100%);border:1px solid #c7d2fe;border-radius:14px;flex-direction:column;gap:10px;max-width:640px;margin-bottom:12px;padding:14px 16px;display:flex;box-shadow:0 10px 28px #4f46e51f}.cm-ask-head{justify-content:space-between;align-items:center;display:flex}.cm-ask-head b{align-items:center;gap:6px;display:inline-flex}.cm-page{white-space:pre-wrap;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55}.app.community .content{width:100%;max-width:1400px;margin:0 auto}.pf-community{margin-top:14px}.pf-cm-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.pf-cm-card{text-align:left;font:inherit;color:inherit;cursor:pointer;background:linear-gradient(135deg,#fff 0%,#fdf2f8 100%);border:1px solid #fbcfe8;border-radius:12px;align-items:center;gap:10px;padding:12px;transition:transform .12s,box-shadow .12s;display:flex}.pf-cm-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #db277726}.pf-cm-ico{color:#fff;background:linear-gradient(135deg,#f472b6,#db2777);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.pf-cm-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pf-cm-text small{color:var(--muted);font-size:12px}.pf-cm-go{color:#db2777;white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=640px){.wiki-seg{width:100%}.wiki-seg button{flex:1;justify-content:center}.cm-intro{flex-wrap:wrap}.cm-ask{justify-content:center;width:100%}.pf-cm-grid{grid-template-columns:1fr}.pf-cm-card{flex-wrap:wrap}.pf-cm-go{justify-content:flex-end;width:100%}}.topbar .actions>button.tb-grad{color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--ga), var(--gb));height:34px;box-shadow:0 2px 8px color-mix(in srgb, var(--gb) 38%, transparent);border:0;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;transition:transform .12s,filter .12s,box-shadow .12s;display:inline-flex}.topbar .actions>button.tb-grad:hover:not(:disabled){filter:brightness(1.06);color:#fff;transform:translateY(-1px)}.topbar .actions>button.tb-grad:disabled{color:#a0a8b8;box-shadow:none;cursor:default;background:#eef1f6}.tb-grad.undo{--ga:#38bdf8;--gb:#0284c7}.tb-grad.redo{--ga:#2dd4bf;--gb:#0d9488}.tb-grad.publish{--ga:#818cf8;--gb:#4f46e5}.xl-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#34d399,#059669);border:0;border-radius:10px;flex:none;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:13px;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex;box-shadow:0 2px 8px #05966959}.xl-btn:hover{filter:brightness(1.06);color:#fff;transform:translateY(-1px)}.tab-tools{justify-content:flex-end;margin:0 0 8px;display:flex}@media (width<=640px){.tab-tools{justify-content:stretch}.tab-tools .xl-btn{justify-content:center;width:100%;height:38px}.grid-wrap>.toolbar .xl-btn{flex-basis:100%;justify-content:center;height:38px}}.tbl-filterbar{background:linear-gradient(#f8fbff 0%,#eff6ff 100%);border:1px solid #bfdbfe;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 8px;padding:8px 12px;display:flex}.tbl-filterbar input:not([type=checkbox]),.tbl-filterbar select{height:32px}.tbl-filterbar input:not([type=checkbox]){width:200px}.tbl-filter-title{letter-spacing:.4px;text-transform:uppercase;color:#1d4ed8;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.tbl-count{color:var(--muted);margin-left:auto;font-size:12.5px;font-weight:600}.tbl-clear{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:4px;height:30px;padding:0 10px;font-size:12.5px;font-weight:650;display:inline-flex}.grid-wrap>.tbl-filterbar{max-width:calc(100vw - 80px);position:sticky;left:10px}@media (width<=640px){.tbl-filterbar input:not([type=checkbox]),.tbl-filterbar select{flex:100%;width:100%;height:40px}.tbl-count{margin-left:0}.grid-wrap>.tbl-filterbar{max-width:none;position:static}}.tbl-sort{height:32px}.tbl-sort.on{color:#3730a3;background:#eef2ff;border-color:#6366f1;font-weight:650}.tbl-readonly{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:8px 12px;font-size:13px;display:flex}.tbl-readonly>span{flex:1;min-width:200px}.tbl-edit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#60a5fa,#2563eb);border:0;border-radius:10px;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #2563eb59}.tbl-edit:hover{filter:brightness(1.06);transform:translateY(-1px)}.tbl-sorted-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tbl-sorted-table th.sortable:hover{color:var(--accent)}.tbl-sorted-table th.sorted{color:#4338ca;background:#eef2ff}.tbl-sorted-table th svg{vertical-align:-2px;margin-left:3px}.tbl-sorted-table tbody tr{cursor:pointer}.tbl-sorted-table tbody tr:hover td{background:#f3f7ff}.tbl-status{color:var(--st);background:color-mix(in srgb, var(--st) 12%, #fff);border:1px solid color-mix(in srgb, var(--st) 30%, #fff);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:650;display:inline-block}.tbl-cards>button.tbl-card{text-align:left;width:100%;font:inherit;color:inherit}.grid-wrap.sheet{--xl:#217346;--xl-soft:#e6f2ea;--xl-line:#d4d4d4;--xl-head:#f3f3f3;font-family:Calibri,Segoe UI,Arial,sans-serif}.grid-wrap.sheet .grid-edit-actions{background:linear-gradient(#f7fbf8 0%,#e9f4ec 100%);border-color:#a7d3b5}.grid-wrap.sheet .gea-title{background:linear-gradient(135deg, #33a165, var(--xl));box-shadow:0 2px 6px #21734659}.grid-wrap.sheet .tbl-filterbar{background:linear-gradient(#f7fbf8 0%,#edf6f0 100%);border-color:#a7d3b5}.grid-wrap.sheet .tbl-filter-title{color:var(--xl)}.sheet-fx{background:#fff;border:1px solid #c6c6c6;align-items:stretch;max-width:calc(100vw - 80px);height:28px;margin:0 0 6px;font-size:13px;display:flex;position:sticky;left:10px}.sheet-fx .fx-ref{color:#333;border-right:1px solid #c6c6c6;flex:none;justify-content:center;align-items:center;width:70px;font-weight:600;display:flex}.sheet-fx .fx-ico{color:#555;border-right:1px solid #c6c6c6;flex:none;justify-content:center;align-items:center;width:34px;font-family:Times New Roman,serif;font-size:14px;display:flex}.sheet-fx .fx-val{text-align:left;min-width:0;font:inherit;color:#222;cursor:text;white-space:nowrap;text-overflow:ellipsis;box-shadow:none;background:#fff;border:0;border-radius:0;flex:1;align-items:center;padding:0 8px;display:flex;overflow:hidden}.sheet-fx .fx-val:hover{background:#fafafa}.grid-wrap.sheet table.grid{border-collapse:collapse;border-left:1px solid var(--xl-line);font-size:13px}.grid-wrap.sheet table.grid th,.grid-wrap.sheet table.grid td{border:1px solid var(--xl-line);height:24px;padding:0 5px}.grid-wrap.sheet table.grid th{background:var(--xl-head);color:#333;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600}.grid-wrap.sheet table.grid th .th-help,.grid-wrap.sheet table.grid th .th-ico-label svg{display:none}.grid-wrap.sheet table.grid tr.sheet-letters th{text-align:center;color:#555;z-index:2;height:20px;font-size:12px;font-weight:400;top:-14px}.grid-wrap.sheet table.grid tr.sheet-letters th.on{color:var(--xl);border-bottom:2px solid var(--xl);background:#d3e7da;font-weight:700}.grid-wrap.sheet table.grid thead tr:not(.sheet-letters) th{top:7px}.grid-wrap.sheet table.grid td{background:#fff}.grid-wrap.sheet table.grid td.id,.grid-wrap.sheet table.grid td.sel,.grid-wrap.sheet table.grid td.acts{background:var(--xl-head);color:#444;text-align:center;font-family:inherit}.grid-wrap.sheet table.grid tr.active>td.id{color:var(--xl);background:#d3e7da;font-weight:700}.grid-wrap.sheet table.grid tr.summary td{color:#111;background:#fff;font-weight:700}.grid-wrap.sheet table.grid tr.active:not(.selected):not(.to-delete):not(.conflict):not(.related)>td{background:#fff}.grid-wrap.sheet table.grid tr.active>td,.grid-wrap.sheet table.grid tr.active>td:first-child{box-shadow:none}.grid-wrap.sheet table.grid tr.active>td.id{box-shadow:inset 3px 0 0 var(--xl)}.grid-wrap.sheet table.grid tr.selected td{background:#e6f2ea}.grid-wrap.sheet table.grid tr.selected td.id{background:var(--xl);color:#fff}.grid-wrap.sheet table.grid td:focus-within{outline:2px solid var(--xl);outline-offset:-2px;z-index:1;position:relative}.grid-wrap.sheet table.grid input,.grid-wrap.sheet table.grid select{box-shadow:none;background:0 0;border:0;font-family:inherit;font-size:13px}.grid-wrap.sheet table.grid input:focus,.grid-wrap.sheet table.grid select:focus{box-shadow:none;background:0 0;outline:none}.grid-wrap.sheet table.grid td.name .guide{width:14px}.grid-wrap.sheet table.grid td.name .guide:before,.grid-wrap.sheet table.grid td.name .guide:after,.grid-wrap.sheet table.grid td.name .name-icons{display:none}.grid-wrap.sheet table.grid .chip{color:#222;background:0 0;border-radius:0;height:auto;padding:0;font-size:13px;font-weight:400}.grid-wrap.sheet table.grid .chip:not(:last-of-type):after{content:","}.grid-wrap.sheet table.grid .chip .chip-x{display:none}.grid-wrap.sheet table.grid tr:hover .chip .chip-x,.grid-wrap.sheet table.grid tr.active .chip .chip-x{display:inline-flex}.grid-wrap.sheet table.grid .chip.warn{color:#b45309;font-style:italic}.grid-wrap.sheet table.grid .chip-add{opacity:0}.grid-wrap.sheet table.grid tr:hover .chip-add,.grid-wrap.sheet table.grid tr.active .chip-add{opacity:1}.grid-wrap.sheet table.grid select.status{color:#222;background:0 0;border-radius:0;padding:0 2px;font-weight:400}.grid-wrap.sheet table.grid .calc{color:#222;font-family:inherit}.grid-wrap.sheet table.grid td.pct .pct-fill{opacity:.5}
