.so-page{display:flex;flex-direction:column;gap:20px}.so-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.so-header-left{display:flex;align-items:center;gap:14px}.so-header-icon{width:44px;height:44px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.so-title{font-size:22px;font-weight:800;color:var(--text-primary)}.so-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.so-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.so-sync-status{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.so-sync-status.live{color:var(--accent-success)}.so-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 1200px){.so-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.so-stats-grid{grid-template-columns:repeat(2,1fr)}}.so-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all var(--transition);position:relative;overflow:hidden}.so-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.so-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.so-stat-body{flex:1}.so-stat-value{font-size:24px;font-weight:800;line-height:1;color:var(--text-primary)}.so-stat-label{font-size:11px;color:var(--text-secondary);margin-top:3px;font-weight:500}.so-stat-draft .so-stat-icon{background:#f59e0b26;color:#f59e0b}.so-stat-draft:hover{border-color:#f59e0b}.so-stat-confirmed .so-stat-icon{background:#8b5cf626;color:#8b5cf6}.so-stat-confirmed:hover{border-color:#8b5cf6}.so-stat-processing .so-stat-icon{background:#3b82f626;color:#3b82f6}.so-stat-processing:hover{border-color:#3b82f6}.so-stat-partial .so-stat-icon{background:#22c55e26;color:#22c55e}.so-stat-partial:hover{border-color:#22c55e}.so-stat-shipped .so-stat-icon{background:#4f8ef726;color:#4f8ef7}.so-stat-shipped:hover{border-color:#4f8ef7}.so-stat-completed .so-stat-icon{background:#10b98126;color:#10b981}.so-stat-completed:hover{border-color:#10b981}.so-stat-total .so-stat-icon{background:#6b718026;color:#6b7180}.so-stat-total:hover{border-color:#6b7180}.so-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.so-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.so-toolbar-right{display:flex;align-items:center;gap:8px}.so-search{position:relative;display:flex;align-items:center}.so-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.so-filter-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:var(--accent-danger);border-radius:99px}.so-result-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.so-view-toggle{display:flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.so-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition)}.so-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.so-view-btn.active{background:var(--accent-primary);color:#fff}.so-filter-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;animation:slideDown .2s ease}.so-filter-row{display:flex;gap:12px;flex-wrap:wrap}.so-filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.so-filter-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.so-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.so-table{width:100%;border-collapse:collapse;font-size:13px}.so-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:11px 14px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.so-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.so-th-sortable:hover{color:var(--text-primary)}.so-table td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.so-table tbody tr{transition:background var(--transition)}.so-table tbody tr:last-child td{border-bottom:none}.so-table tbody tr:hover{background:var(--bg-hover)}.so-sort-icon{display:inline-flex;flex-direction:column;margin-left:4px;vertical-align:middle}.so-sort-icon.inactive{opacity:.3}.so-sort-icon.active{color:var(--accent-primary)}.so-so-number{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#10b981;background:var(--bg-tertiary);padding:2px 7px;border-radius:4px;white-space:nowrap}.so-client-name{font-weight:600;color:var(--text-primary);cursor:pointer;transition:color var(--transition)}.so-client-name:hover{color:var(--accent-primary)}.so-status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.so-status-dot{width:6px;height:6px;border-radius:99px;flex-shrink:0}.so-actions{display:flex;align-items:center;gap:4px}.so-action-btn{width:28px;height:28px;border-radius:7px;border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.so-action-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.so-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.so-empty-state-icon{font-size:40px;margin-bottom:16px;opacity:.4}.so-empty-state-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.so-empty-state-desc{font-size:13px;color:var(--text-secondary)}@media (max-width: 768px){.so-header{flex-direction:column;align-items:flex-start}.so-header-right{width:100%}.so-toolbar{flex-direction:column;align-items:stretch}.so-toolbar-left,.so-toolbar-right{flex-direction:column;width:100%}.so-search{width:100%}.so-table{font-size:12px}.so-table th,.so-table td{padding:9px 10px}}.checklist-hover-card{transition:all .25s cubic-bezier(.4,0,.2,1)}.checklist-hover-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important;border-color:#3b82f6!important}.checklist-hover-card:active{transform:translateY(0)}.so-kanban{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:start}@media (max-width: 1400px){.so-kanban{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.so-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.so-kanban{grid-template-columns:1fr}}.so-kanban-col{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.so-kanban-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);border-top:3px solid transparent}.so-kanban-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.so-kanban-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}.so-kanban-cards{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.so-kanban-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px 0}.so-kanban-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all var(--transition)}.so-kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.so-kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.so-kanban-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:6px}.so-kanban-card-meta{display:flex;gap:4px;flex-wrap:wrap}.so-kanban-actions{display:flex;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.so-calendar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.so-cal-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-color)}.so-cal-month{font-size:16px;font-weight:700;flex:1;text-align:center}.so-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.so-cal-day-headers{border-bottom:1px solid var(--border-color)}.so-cal-day-header{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.so-cal-cell{min-height:100px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:6px;transition:background var(--transition)}.so-cal-cell:nth-child(7n){border-right:none}.so-cal-empty{background:var(--bg-secondary);opacity:.4}.so-cal-past{opacity:.6}.so-cal-today{background:#4f8ef70f}.so-cal-day-num{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.so-cal-today-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent-primary);color:#fff;border-radius:99px;font-size:11px}.so-cal-task-list{display:flex;flex-direction:column;gap:2px}.so-cal-task-chip{border-left:3px solid;background:var(--bg-tertiary);border-radius:3px;padding:2px 5px;cursor:pointer;transition:all var(--transition)}.so-cal-task-chip:hover{background:var(--bg-hover)}.so-cal-task-name{font-size:10px;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-cal-task-more{font-size:10px;color:var(--text-muted);padding:1px 5px}.so-cal-legend{display:flex;gap:14px;padding:12px 16px;border-top:1px solid var(--border-color);flex-wrap:wrap}.so-cal-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.so-cal-legend-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.pr-page{display:flex;flex-direction:column;gap:20px}.pr-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pr-header-left{display:flex;align-items:center;gap:14px}.pr-header-icon{width:44px;height:44px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.pr-title{font-size:22px;font-weight:800;color:var(--text-primary)}.pr-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.pr-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pr-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1200px){.pr-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.pr-stats-grid{grid-template-columns:repeat(2,1fr)}}.pr-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all var(--transition);position:relative;overflow:hidden}.pr-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.pr-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pr-stat-body{flex:1}.pr-stat-value{font-size:24px;font-weight:800;line-height:1;color:var(--text-primary)}.pr-stat-label{font-size:11px;color:var(--text-secondary);margin-top:3px;font-weight:500}.pr-stat-draft .pr-stat-icon{background:#6b728026;color:#6b7280}.pr-stat-draft:hover{border-color:#6b7280}.pr-stat-submitted .pr-stat-icon{background:#f59e0b26;color:#f97316}.pr-stat-submitted:hover{border-color:#f97316}.pr-stat-processing .pr-stat-icon{background:#3b82f626;color:#3b82f6}.pr-stat-processing:hover{border-color:#3b82f6}.pr-stat-fulfilled .pr-stat-icon{background:#10b98126;color:#10b981}.pr-stat-fulfilled:hover{border-color:#10b981}.pr-stat-total .pr-stat-icon{background:#8b5cf626;color:#8b5cf6}.pr-stat-total:hover{border-color:#8b5cf6}.pr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pr-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pr-toolbar-right{display:flex;align-items:center;gap:8px}.pr-search{position:relative;display:flex;align-items:center}.pr-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.pr-filter-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:var(--accent-danger);border-radius:99px}.pr-result-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.pr-filter-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;animation:prSlideDown .2s ease}@keyframes prSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pr-filter-row{display:flex;gap:12px;flex-wrap:wrap}.pr-filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.pr-filter-label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.pr-view-toggle{display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.pr-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition)}.pr-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.pr-view-btn.active{background:var(--accent-primary);color:#fff}.pr-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pr-th-sortable:hover{color:var(--text-primary)}.pr-sort-icon{display:inline-flex;flex-direction:column;margin-left:4px;vertical-align:middle}.pr-sort-icon.inactive{opacity:.3}.pr-sort-icon.active{color:var(--accent-primary)}.pr-kanban{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:start}@media (max-width: 1600px){.pr-kanban{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1100px){.pr-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.pr-kanban{grid-template-columns:1fr}}.pr-kanban-col{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.pr-kanban-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color);border-top:3px solid transparent}.pr-kanban-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pr-kanban-count{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px}.pr-kanban-cards{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.pr-kanban-empty{font-size:11px;color:var(--text-muted);text-align:center;padding:20px 0}.pr-kanban-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all var(--transition)}.pr-kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.pr-kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pr-kanban-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:6px}.pr-kanban-card-meta{display:flex;gap:4px;flex-wrap:wrap}.pr-kanban-actions{display:flex;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.pr-calendar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.pr-cal-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-color)}.pr-cal-month{font-size:16px;font-weight:700;flex:1;text-align:center}.pr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.pr-cal-day-headers{border-bottom:1px solid var(--border-color)}.pr-cal-day-header{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.pr-cal-cell{min-height:100px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:6px;transition:background var(--transition)}.pr-cal-cell:nth-child(7n){border-right:none}.pr-cal-empty{background:var(--bg-secondary);opacity:.4}.pr-cal-past{opacity:.6}.pr-cal-today{background:#4f8ef70f}.pr-cal-day-num{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.pr-cal-today-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent-primary);color:#fff;border-radius:99px;font-size:11px}.pr-cal-task-list{display:flex;flex-direction:column;gap:2px}.pr-cal-task-chip{border-left:3px solid;background:var(--bg-tertiary);border-radius:3px;padding:2px 5px;cursor:pointer;transition:all var(--transition)}.pr-cal-task-chip:hover{background:var(--bg-hover)}.pr-cal-task-name{font-size:10px;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-cal-task-more{font-size:10px;color:var(--text-muted);padding:1px 5px}.pr-cal-legend{display:flex;gap:14px;padding:12px 16px;border-top:1px solid var(--border-color);flex-wrap:wrap}.pr-cal-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.pr-cal-legend-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.po-page{display:flex;flex-direction:column;gap:20px}.po-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.po-header-left{display:flex;align-items:center;gap:14px}.po-header-icon{width:44px;height:44px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.po-title{font-size:22px;font-weight:800;color:var(--text-primary)}.po-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.po-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.po-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1200px){.po-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.po-stats-grid{grid-template-columns:repeat(2,1fr)}}.po-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all var(--transition);position:relative;overflow:hidden}.po-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.po-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.po-stat-body{flex:1}.po-stat-value{font-size:24px;font-weight:800;line-height:1;color:var(--text-primary)}.po-stat-label{font-size:11px;color:var(--text-secondary);margin-top:3px;font-weight:500}.po-stat-draft .po-stat-icon{background:#6b728026;color:#6b7280}.po-stat-draft:hover{border-color:#6b7280}.po-stat-approved .po-stat-icon{background:#f59e0b26;color:#f59e0b}.po-stat-approved:hover{border-color:#f59e0b}.po-stat-sent .po-stat-icon{background:#8b5cf626;color:#8b5cf6}.po-stat-sent:hover{border-color:#8b5cf6}.po-stat-completed .po-stat-icon{background:#10b98126;color:#10b981}.po-stat-completed:hover{border-color:#10b981}.po-stat-total .po-stat-icon{background:#4f8ef726;color:#4f8ef7}.po-stat-total:hover{border-color:#4f8ef7}.po-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.po-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.po-toolbar-right{display:flex;align-items:center;gap:8px}.po-search{position:relative;display:flex;align-items:center}.po-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.po-filter-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:var(--accent-danger);border-radius:99px}.po-result-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.po-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.po-th-sortable:hover{color:var(--text-primary)}.po-sort-icon{display:inline-flex;flex-direction:column;margin-left:4px;vertical-align:middle}.po-sort-icon.inactive{opacity:.3}.po-sort-icon.active{color:var(--accent-primary)}.po-filter-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;animation:poSlideDown .2s ease}@keyframes poSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.po-filter-row{display:flex;gap:12px;flex-wrap:wrap}.po-filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.po-filter-label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.po-view-toggle{display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.po-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition)}.po-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.po-view-btn.active{background:var(--accent-primary);color:#fff}.po-kanban{display:grid;grid-template-columns:repeat(9,1fr);gap:12px;align-items:start;overflow-x:auto;padding-bottom:12px}@media (max-width: 1800px){.po-kanban{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1200px){.po-kanban{grid-template-columns:repeat(3,1fr)}}@media (max-width: 800px){.po-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.po-kanban{grid-template-columns:1fr}}.po-kanban-col{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;min-width:250px}.po-kanban-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color);border-top:3px solid transparent}.po-kanban-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.po-kanban-count{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px}.po-kanban-cards{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.po-kanban-empty{font-size:11px;color:var(--text-muted);text-align:center;padding:20px 0}.po-kanban-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all var(--transition)}.po-kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.po-kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.po-kanban-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:6px}.po-calendar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.po-cal-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-color)}.po-cal-month{font-size:16px;font-weight:700;flex:1;text-align:center}.po-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.po-cal-day-headers{border-bottom:1px solid var(--border-color)}.po-cal-day-header{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.po-cal-cell{min-height:100px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:6px;transition:background var(--transition)}.po-cal-cell:nth-child(7n){border-right:none}.po-cal-empty{background:var(--bg-secondary);opacity:.4}.po-cal-past{opacity:.6}.po-cal-today{background:#4f8ef70f}.po-cal-day-num{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.po-cal-today-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent-primary);color:#fff;border-radius:99px;font-size:11px}.po-cal-task-list{display:flex;flex-direction:column;gap:2px}.po-cal-task-chip{border-left:3px solid;background:var(--bg-tertiary);border-radius:3px;padding:2px 5px;cursor:pointer;transition:all var(--transition)}.po-cal-task-chip:hover{background:var(--bg-hover)}.po-cal-task-name{font-size:10px;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-cal-task-more{font-size:10px;color:var(--text-muted);padding:1px 5px}.po-cal-legend{display:flex;gap:14px;padding:12px 16px;border-top:1px solid var(--border-color);flex-wrap:wrap}.po-cal-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.po-cal-legend-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.tm-page{display:flex;flex-direction:column;gap:20px}.tm-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tm-header-left{display:flex;align-items:center;gap:14px}.tm-header-icon{width:44px;height:44px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.tm-title{font-size:22px;font-weight:800;color:var(--text-primary)}.tm-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.tm-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tm-notif-btn{position:relative;width:36px;height:36px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.tm-notif-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tm-notif-badge{position:absolute;top:-4px;right:-4px;background:var(--accent-danger);color:#fff;font-size:9px;font-weight:700;border-radius:99px;padding:1px 5px;min-width:16px;text-align:center;border:2px solid var(--bg-primary)}.tm-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 1200px){.tm-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.tm-stats-grid{grid-template-columns:repeat(2,1fr)}}.tm-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;display:flex;align-items:center;gap:12;transition:all var(--transition);position:relative;overflow:hidden}.tm-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tm-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tm-stat-body{flex:1}.tm-stat-value{font-size:24px;font-weight:800;line-height:1;color:var(--text-primary)}.tm-stat-label{font-size:11px;color:var(--text-secondary);margin-top:3px;font-weight:500}.tm-stat-total .tm-stat-icon{background:#4f8ef726;color:#4f8ef7}.tm-stat-total:hover{border-color:#4f8ef7}.tm-stat-pending .tm-stat-icon{background:#f59e0b26;color:#f59e0b}.tm-stat-pending:hover{border-color:#f59e0b}.tm-stat-inprogress .tm-stat-icon{background:#3b82f626;color:#3b82f6}.tm-stat-inprogress:hover{border-color:#3b82f6}.tm-stat-waiting .tm-stat-icon{background:#8b5cf626;color:#8b5cf6}.tm-stat-waiting:hover{border-color:#8b5cf6}.tm-stat-completed .tm-stat-icon{background:#10b98126;color:#10b981}.tm-stat-completed:hover{border-color:#10b981}.tm-stat-overdue .tm-stat-icon{background:#ef444426;color:#ef4444}.tm-stat-overdue:hover{border-color:#ef4444}.tm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tm-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tm-toolbar-right{display:flex;align-items:center;gap:8px}.tm-search{position:relative;display:flex;align-items:center}.tm-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.tm-filter-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:var(--accent-danger);border-radius:99px}.tm-result-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.tm-view-toggle{display:flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.tm-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition)}.tm-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tm-view-btn.active{background:var(--accent-primary);color:#fff}.tm-filter-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tm-filter-row{display:flex;gap:12px;flex-wrap:wrap}.tm-filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1}.tm-filter-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.form-select-sm{padding:6px 10px;font-size:12px}.tm-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.tm-table{width:100%;border-collapse:collapse;font-size:13px}.tm-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:11px 14px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.tm-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tm-th-sortable:hover{color:var(--text-primary)}.tm-table td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.tm-table tbody tr{transition:background var(--transition)}.tm-table tbody tr:last-child td{border-bottom:none}.tm-table tbody tr:hover{background:var(--bg-hover)}.tm-table-row.tm-row-overdue{border-left:3px solid #ef4444}.tm-sort-icon{display:inline-flex;flex-direction:column;margin-left:4px;vertical-align:middle}.tm-sort-icon.inactive{opacity:.3}.tm-sort-icon.active{color:var(--accent-primary)}.tm-task-id{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 7px;border-radius:4px;white-space:nowrap}.tm-task-name{font-weight:600;color:var(--text-primary);cursor:pointer;transition:color var(--transition);line-height:1.4}.tm-task-name:hover{color:var(--accent-primary)}.tm-related-docs{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.tm-doc-chip{font-size:10px;padding:1px 6px;border-radius:4px;background:#4f8ef71a;color:var(--accent-primary);border:1px solid rgba(79,142,247,.2);font-weight:500}.tm-category-chip{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);font-weight:500;white-space:nowrap}.tm-priority-badge{font-size:12px;font-weight:600;white-space:nowrap}.tm-assigned-user{display:flex;align-items:center;gap:8px}.tm-user-avatar{width:28px;height:28px;border-radius:8px;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.tm-deadline{font-size:12px;font-weight:500}.tm-deadline-overdue{color:var(--accent-danger)}.tm-deadline-soon{color:var(--accent-warning)}.tm-days-left{display:block;font-size:10px;color:var(--text-muted);margin-top:2px}.tm-status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.tm-status-dot{width:6px;height:6px;border-radius:99px;flex-shrink:0}.tm-progress-wrap{display:flex;align-items:center;gap:8px}.tm-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden}.tm-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.tm-progress-pct{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:28px}.tm-actions{display:flex;align-items:center;gap:4px}.tm-action-btn{width:28px;height:28px;border-radius:7px;border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.tm-action-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tm-action-start:hover{background:#3b82f626;color:#3b82f6;border-color:#3b82f640}.tm-action-complete:hover,.tm-action-approve:hover{background:#10b98126;color:#10b981;border-color:#10b98140}.tm-action-reject:hover{background:#ef444426;color:#ef4444;border-color:#ef444440}.tm-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.tm-page-info{font-size:12px;color:var(--text-muted)}.tm-kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start}@media (max-width: 1100px){.tm-kanban{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.tm-kanban{grid-template-columns:1fr 1fr}}.tm-kanban-col{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.tm-kanban-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);border-top:3px solid transparent}.tm-kanban-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tm-kanban-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}.tm-kanban-cards{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.tm-kanban-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px 0}.tm-kanban-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:all var(--transition)}.tm-kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.tm-card-overdue{border-left:3px solid #ef4444}.tm-kanban-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tm-kanban-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:6px}.tm-kanban-card-meta{display:flex;gap:4px;flex-wrap:wrap}.tm-kanban-actions{display:flex;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.tm-calendar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.tm-cal-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-color)}.tm-cal-month{font-size:16px;font-weight:700;flex:1;text-align:center}.tm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.tm-cal-day-headers{border-bottom:1px solid var(--border-color)}.tm-cal-day-header{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tm-cal-cell{min-height:100px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:6px;transition:background var(--transition)}.tm-cal-cell:nth-child(7n){border-right:none}.tm-cal-empty{background:var(--bg-secondary);opacity:.4}.tm-cal-past{opacity:.6}.tm-cal-today{background:#4f8ef70f}.tm-cal-day-num{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.tm-cal-today-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent-primary);color:#fff;border-radius:99px;font-size:11px}.tm-cal-task-list{display:flex;flex-direction:column;gap:2px}.tm-cal-task-chip{border-left:3px solid;background:var(--bg-tertiary);border-radius:3px;padding:2px 5px;cursor:pointer;transition:all var(--transition)}.tm-cal-task-chip:hover{background:var(--bg-hover)}.tm-cal-task-name{font-size:10px;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-cal-task-more{font-size:10px;color:var(--text-muted);padding:1px 5px}.tm-cal-legend{display:flex;gap:14px;padding:12px 16px;border-top:1px solid var(--border-color);flex-wrap:wrap}.tm-cal-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.tm-cal-legend-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.tm-detail-modal{max-width:780px}.tm-detail-header{display:flex;align-items:flex-start;gap:12px}.tm-detail-actions{display:flex;gap:8px;padding:10px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-wrap:wrap}.tm-detail-progress{padding:14px 24px;border-bottom:1px solid var(--border-color)}.tm-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);overflow-x:auto}.tm-detail-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--transition)}.tm-detail-tab:hover{color:var(--text-primary)}.tm-detail-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.tm-tab-count{background:var(--bg-tertiary);font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px;color:var(--text-secondary)}.tm-detail-body{padding:20px 24px;max-height:380px;overflow-y:auto}.tm-detail-tab-content{display:flex;flex-direction:column;gap:16px}.tm-detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tm-meta-item{display:flex;flex-direction:column;gap:5px}.tm-meta-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.tm-meta-value{font-size:13px;color:var(--text-primary);font-weight:500}.tm-detail-desc{padding:14px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.tm-doc-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#4f8ef71a;color:var(--accent-primary);border:1px solid rgba(79,142,247,.25);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}.tm-doc-link:hover{background:#4f8ef733}.tm-checklist-progress{margin-bottom:14px}.tm-checklist-list{display:flex;flex-direction:column;gap:8px}.tm-checklist-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition)}.tm-checklist-item:hover{background:var(--bg-hover)}.tm-checklist-item.done .tm-check-text{text-decoration:line-through;color:var(--text-muted)}.tm-check-box{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.tm-check-box.checked{background:var(--accent-success);border-color:var(--accent-success);color:#fff}.tm-check-text{font-size:13px;flex:1}.tm-comments-tab{display:flex;flex-direction:column;gap:12px}.tm-comment-list{display:flex;flex-direction:column;gap:10px}.tm-comment-item{display:flex;gap:10px}.tm-comment-body{flex:1;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:10px 12px;border:1px solid var(--border-subtle)}.tm-comment-input{display:flex;gap:10px;align-items:flex-start;padding-top:8px;border-top:1px solid var(--border-subtle);margin-top:4px}.tm-attachments-tab{display:flex;flex-direction:column;gap:8px}.tm-attachment-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.tm-timeline{display:flex;flex-direction:column;gap:0;position:relative}.tm-timeline-item{display:flex;gap:12px;position:relative;padding-bottom:16px}.tm-timeline-dot{width:10px;height:10px;border-radius:99px;background:var(--accent-primary);flex-shrink:0;margin-top:4px}.tm-timeline-line{position:absolute;left:4px;top:14px;bottom:0;width:2px;background:var(--border-color)}.tm-timeline-content{flex:1}.spin{animation:spin .8s linear infinite}.form-select{width:100%;padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-select:focus{border-color:var(--accent-primary)}.tm-sync-live{color:var(--accent-success);display:flex;align-items:center;gap:4px}.tm-sync-offline{color:var(--text-muted);display:flex;align-items:center;gap:4px}.tm-scope-tabs{display:inline-flex;background:var(--bg-tertiary);padding:3px;border-radius:var(--radius-lg);border:1px solid var(--border-color);align-items:center}.tm-scope-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;border:none;background:none;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.tm-scope-tab:hover{color:var(--text-primary)}.tm-scope-tab.active{background:var(--bg-card);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.simulator-container{display:flex;flex:1;align-items:center;justify-content:center;background:var(--bg-primary);padding:24px;overflow:auto;position:relative;transition:all var(--transition-slow);width:100%;height:100%}.orientation-toggle-btn{position:absolute;right:20px;bottom:20px;width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),0 0 15px #4f8ef766;z-index:1100;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.orientation-toggle-btn:hover{transform:scale(1.1) rotate(90deg);box-shadow:var(--shadow-lg),0 0 25px #4f8ef799}.device-frame{background:#1e293b;box-shadow:var(--shadow-lg),0 25px 60px -15px #0009;position:relative;transition:all var(--transition-slow);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.12);align-self:center}[data-theme=light] .device-frame{background:#f1f5f9;border-color:#0000001a;box-shadow:var(--shadow-lg),0 20px 40px -10px #00000026}.simulator-container.mode-tablet .device-frame{border-radius:28px}.simulator-container.mode-tablet.orientation-portrait .device-frame{width:768px;height:980px;max-width:100%;max-height:100%;border:14px solid #0f172a}[data-theme=light] .simulator-container.mode-tablet.orientation-portrait .device-frame{border:14px solid #cbd5e1}.simulator-container.mode-tablet.orientation-landscape .device-frame{width:1024px;height:740px;max-width:100%;max-height:100%;border:14px solid #0f172a}[data-theme=light] .simulator-container.mode-tablet.orientation-landscape .device-frame{border:14px solid #cbd5e1}.simulator-container.mode-mobile .device-frame{border-radius:40px}.simulator-container.mode-mobile.orientation-portrait .device-frame{width:395px;height:800px;max-width:100%;max-height:100%;border:12px solid #0f172a}[data-theme=light] .simulator-container.mode-mobile.orientation-portrait .device-frame{border:12px solid #cbd5e1}.simulator-container.mode-mobile.orientation-landscape .device-frame{width:800px;height:395px;max-width:100%;max-height:100%;border:12px solid #0f172a}[data-theme=light] .simulator-container.mode-mobile.orientation-landscape .device-frame{border:12px solid #cbd5e1}.device-screen{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.simulator-container.mode-mobile .device-screen{border-radius:28px}.simulator-container.mode-tablet .device-screen{border-radius:16px}.sim-status-bar{height:30px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:600;color:var(--text-secondary);-webkit-user-select:none;user-select:none;z-index:1050;flex-shrink:0}.sim-status-bar-left{display:flex;align-items:center}.sim-status-bar-right{display:flex;align-items:center;gap:8px}.sim-dynamic-island{position:absolute;top:5px;left:50%;transform:translate(-50%);width:100px;height:18px;background:#000;border-radius:20px;z-index:1100;pointer-events:none;transition:all var(--transition)}.simulator-container.orientation-landscape .sim-dynamic-island{display:none}.bottom-nav{height:60px;background:#1a2030d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-around;padding:0 10px;position:absolute;bottom:0;left:0;right:0;z-index:950;transition:transform var(--transition-slow)}[data-theme=light] .bottom-nav{background:#ffffffd9}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;background:none;border:none;cursor:pointer;color:var(--text-secondary);text-decoration:none;transition:all var(--transition);font-family:var(--font-family)}.bottom-nav-item span{font-size:10px;font-weight:600}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--accent-primary)}.bottom-nav-item.active svg{transform:translateY(-2px);filter:drop-shadow(0 2px 8px rgba(79,142,247,.3))}.bottom-nav-item svg{transition:transform var(--transition)}.mobile-hamburger-btn{display:none;background:none;border:none;color:var(--text-primary);width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);border-radius:6px}.mobile-hamburger-btn:hover{background:var(--bg-hover)}.layout-mode-mobile .sidebar,.layout-mode-tablet .sidebar{position:absolute;left:0;top:0;bottom:0;height:100%;width:250px!important;transform:translate(-100%);z-index:1000;box-shadow:var(--shadow-lg);transition:transform var(--transition-slow)!important}.layout-mode-mobile .sidebar.mobile-open,.layout-mode-tablet .sidebar.mobile-open{transform:translate(0)}.sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999}.sidebar-close-btn-wrap{display:none;justify-content:flex-end;padding:8px 12px}.layout-mode-mobile .sidebar-close-btn-wrap,.layout-mode-tablet .sidebar-close-btn-wrap{display:flex}.sidebar-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.sidebar-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.layout-mobile .app-content{padding-bottom:80px!important}.layout-mode-mobile .app-content{padding:14px!important}@media (max-width: 1024px){.mobile-hamburger-btn{display:flex!important}}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg-primary: #0f1117;--bg-secondary: #161b27;--bg-tertiary: #1e2535;--bg-card: #1a2030;--bg-hover: #232b3e;--bg-active: #263045;--border-color: #2a3347;--border-subtle: #1f2a3c;--text-primary: #e8eaf0;--text-secondary: #8b95aa;--text-muted: #5a6478;--text-accent: #4f8ef7;--accent-primary: #4f8ef7;--accent-secondary: #7c6af7;--accent-success: #34d399;--accent-warning: #fbbf24;--accent-danger: #f87171;--accent-info: #38bdf8;--gradient-primary: linear-gradient(135deg, #4f8ef7 0%, #7c6af7 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #059669 100%);--gradient-danger: linear-gradient(135deg, #f87171 0%, #dc2626 100%);--gradient-card: linear-gradient(135deg, #1a2030 0%, #1e2535 100%);--gradient-sidebar: linear-gradient(180deg, #0f1117 0%, #141925 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 8px 30px rgba(0,0,0,.6);--shadow-glow: 0 0 20px rgba(79,142,247,.2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--titlebar-height: 40px;--transition: .2s ease;--transition-slow: .35s ease}[data-theme=light]{--bg-primary: #f0f2f5;--bg-secondary: #ffffff;--bg-tertiary: #f8fafc;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-active: #e8effe;--border-color: #e2e8f0;--border-subtle: #edf2f7;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #a0aec0;--text-accent: #3b6fd4;--accent-primary: #3b6fd4;--accent-secondary: #6c5dd3;--gradient-card: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);--gradient-sidebar: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 30px rgba(0,0,0,.12);--shadow-glow: 0 0 20px rgba(59,111,212,.15)}.print-only{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-main{display:flex;flex:1;overflow:hidden}.app-content{flex:1;overflow-y:auto;background:var(--bg-primary);padding:24px;transition:margin-left var(--transition-slow)}.titlebar{height:var(--titlebar-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;-webkit-app-region:drag;flex-shrink:0;z-index:1000}.titlebar-brand{display:flex;align-items:center;gap:8px;padding:0 16px;-webkit-app-region:no-drag}.titlebar-logo{width:22px;height:22px;border-radius:6px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff}.titlebar-title{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.3px}.titlebar-drag{flex:1}.titlebar-controls{display:flex;-webkit-app-region:no-drag}.titlebar-btn{width:45px;height:var(--titlebar-height);display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:background var(--transition),color var(--transition)}.titlebar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.titlebar-btn.close:hover{background:#dc2626;color:#fff}.sidebar{width:var(--sidebar-width);background:var(--gradient-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width var(--transition-slow);z-index:100}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:16px 12px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:10px}.sidebar-avatar{width:36px;height:36px;border-radius:10px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{overflow:hidden;flex:1}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;overflow-y:auto;padding:8px}.sidebar-section-label{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;padding:12px 8px 4px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;margin-bottom:2px;white-space:nowrap;overflow:hidden}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--bg-active);color:var(--accent-primary);box-shadow:inset 3px 0 0 var(--accent-primary)}.sidebar-item-icon{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border-subtle)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:22px;font-weight:700;color:var(--text-primary)}.page-subtitle{font-size:13px;color:var(--text-secondary);margin-top:2px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.card-glass{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.stats-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--transition);cursor:default}.stats-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.stats-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stats-value{font-size:26px;font-weight:800;color:var(--text-primary);line-height:1}.stats-label{font-size:12px;color:var(--text-secondary);margin-top:3px}.stats-change{font-size:12px;margin-top:4px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all var(--transition);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #4f8ef74d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #4f8ef780;transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--gradient-danger);color:#fff}.btn-success{background:var(--gradient-success);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}.btn-icon{padding:7px;border-radius:var(--radius-md)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-family:var(--font-family);transition:all var(--transition);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #4f8ef71f}.form-input::placeholder{color:var(--text-muted)}.form-select{cursor:pointer}.form-select option{background:var(--bg-secondary)}.form-textarea{resize:vertical;min-height:80px}.table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:capitalize}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s ease}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color)}.search-bar{position:relative;display:flex;align-items:center}.search-bar-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.search-bar input{padding-left:34px;width:260px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.text-success{color:var(--accent-success)}.text-danger{color:var(--accent-danger)}.text-warning{color:var(--accent-warning)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.pagination{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:16px}.page-btn{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);transition:all var(--transition)}.page-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.page-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);gap:12px}.empty-state-icon{opacity:.3}.empty-state-title{font-size:15px;font-weight:600;color:var(--text-secondary)}.empty-state-desc{font-size:13px;text-align:center}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .6s linear infinite}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:inherit;z-index:10}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 30%,rgba(79,142,247,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 70%,rgba(124,106,247,.08) 0%,transparent 60%)}.login-card{width:420px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.login-logo{width:52px;height:52px;border-radius:14px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:var(--shadow-glow)}.login-title{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:4px}.login-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:28px}.demo-accounts{margin-top:24px;padding:14px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.demo-accounts-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.demo-account-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background var(--transition);font-size:12px}.demo-account-item:hover{background:var(--bg-hover)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:20px;gap:4px}.tab-item{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition);margin-bottom:-1px}.tab-item:hover{color:var(--text-primary)}.tab-item.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.chart-container{padding:16px 0 0}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-item{position:relative;padding-bottom:20px}.timeline-dot{position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--bg-primary)}.timeline-content{font-size:13px;color:var(--text-primary)}.timeline-time{font-size:11px;color:var(--text-muted);margin-top:2px}.divider{height:1px;background:var(--border-color);margin:16px 0}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-secondary);font-weight:500}.info-value{color:var(--text-primary);text-align:right}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #34d39980}50%{opacity:.9;transform:scale(1.15);box-shadow:0 0 0 4px #34d39900}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.spin{animation:spin .6s linear infinite}.hover-bg:hover{background:var(--bg-hover)!important}@media print{.sidebar,.titlebar,.no-print,.toolbar,.btn,.modal-footer,.search-bar,.page-header button{display:none!important}.app-shell,.app-main,.app-content{display:block;height:auto;overflow:visible;padding:0;margin:0}body,html,#root{background:#fff!important;color:#000!important;height:auto;overflow:visible}.modal-overlay{position:absolute;top:0;left:0;right:0;background:#fff!important;padding:0;display:block;min-height:100vh;z-index:99999}.modal{box-shadow:none!important;border:none!important;max-width:100%!important;margin:0;max-height:none!important;overflow:visible!important;background:#fff!important}.modal-body{overflow:visible!important;max-height:none!important;padding:20px 0!important}.card,.table-wrapper{box-shadow:none!important;border-color:#000!important}table{page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}.data-table th,.data-table td{color:#000!important;border-color:#ccc!important}.print-only{display:block!important}.print-letterhead{display:flex;justify-content:flex-end;align-items:center;margin-bottom:24px;width:100%;padding-top:10px}.pl-logo{max-height:35px;object-fit:contain}.pl-title{margin:0;font-size:24px;color:#1a56db!important}.print-footer{position:fixed;bottom:0;right:0;text-align:right;font-family:Inter,sans-serif;color:#111;z-index:1000;width:100%;padding-right:32px;padding-bottom:20px;background:#fff}.pl-company-name{font-weight:800;font-size:12px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.pl-address{font-size:10px;line-height:1.4;margin-bottom:5px;color:#444;font-weight:400}.pl-contact{font-size:10px;font-weight:400;color:#111;letter-spacing:.2px}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.sidebar-item-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}.sidebar-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-success);box-shadow:0 0 6px var(--accent-success);flex-shrink:0;animation:live-pulse 2s ease-in-out infinite;margin-left:auto}.notif-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:0;line-height:1;flex-shrink:0}.notif-badge--pill{min-width:18px;height:18px;padding:0 5px;border-radius:99px;font-size:10px;margin-left:auto;border:1.5px solid transparent}.notif-badge--dot{position:absolute;top:-4px;right:-4px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bg-secondary)}.notif-badge--danger{background:#f871712e;color:var(--accent-danger);border-color:#f8717166}.notif-badge--dot.notif-badge--danger{background:var(--accent-danger)}.notif-badge--warning{background:#fbbf2426;color:var(--accent-warning);border-color:#fbbf2466}.notif-badge--dot.notif-badge--warning{background:var(--accent-warning)}.notif-badge--info{background:#38bdf826;color:var(--accent-info);border-color:#38bdf866}.notif-badge--dot.notif-badge--info{background:var(--accent-info)}.notif-badge--pulse{animation:notif-pulse 2.5s ease-in-out infinite}@keyframes notif-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 4px var(--accent-success)}50%{opacity:.5;box-shadow:0 0 10px var(--accent-success)}}.notif-bell-btn{position:relative;-webkit-app-region:no-drag}.notif-bell-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 3px;border-radius:99px;font-size:9px;font-weight:800;line-height:16px;background:var(--accent-danger);color:#fff;text-align:center;animation:notif-pulse 2s ease-in-out infinite;border:1.5px solid var(--bg-secondary);pointer-events:none}.notif-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:min(340px,calc(100vw - 16px));max-height:calc(100vh - 60px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-bottom:1px solid var(--border-subtle);font-size:13px;font-weight:600;color:var(--text-primary);flex-shrink:0}.notif-last-updated{display:flex;align-items:center;gap:6px;padding:4px 14px;font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notif-muted-indicator{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:1px 6px;border-radius:99px;font-size:9px;font-weight:600;background:#f871711f;color:var(--accent-danger);border:1px solid rgba(248,113,113,.25)}.notif-live-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:99px;font-size:9px;font-weight:700;letter-spacing:.6px;background:#34d39926;color:var(--accent-success);border:1px solid rgba(52,211,153,.3);animation:live-pulse 2s ease-in-out infinite}.notif-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.notif-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.notif-action-btn:disabled{opacity:.4;cursor:not-allowed}.notif-action-btn--active{color:var(--accent-warning)!important;background:#fbbf241f!important}.notif-action-btn--danger:hover:not(:disabled){background:#f871711f!important;color:var(--accent-danger)!important}.notif-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notif-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;font-size:11px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition);margin-bottom:-1px}.notif-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.notif-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.notif-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;font-size:9px;font-weight:700;background:var(--accent-danger);color:#fff}.notif-tab-count--muted{background:var(--bg-tertiary);color:var(--text-muted)}.notif-dropdown-list{flex:1;max-height:340px;overflow-y:auto}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 20px;color:var(--text-muted);font-size:12px}@keyframes notifSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border-subtle);position:relative}.notif-item--enter{animation:notifSlideIn .2s ease}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-hover)}.notif-item:hover .notif-dismiss-btn{opacity:1}.notif-item--read{opacity:.5}.notif-item--danger{border-left:2px solid var(--accent-danger);background:#f871710a}.notif-item--danger:hover{background:#f8717114}.notif-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.notif-item-body{flex:1;min-width:0}.notif-item-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.notif-item-label{font-size:12px;font-weight:600;color:var(--text-primary)}.notif-item-variant-tag{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;opacity:.8;flex-shrink:0}.notif-item-message{font-size:11px;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-footer{display:flex;align-items:center;gap:8px;margin-top:3px}.notif-item-time{font-size:10px;color:var(--text-muted)}.notif-item-pin-label{font-size:9px;color:var(--accent-danger);font-weight:600;opacity:.7}.notif-item-actions{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.notif-item-unread-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);flex-shrink:0}.notif-dismiss-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition),background var(--transition),color var(--transition)}.notif-dismiss-btn:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=light] .notif-badge--danger{background:#dc26261a;border-color:#dc26264d}[data-theme=light] .notif-badge--warning{background:#d977061a;border-color:#d977064d}[data-theme=light] .notif-badge--info{background:#0284c71a;border-color:#0284c74d}.notif-skeleton-list{display:flex;flex-direction:column}.notif-skeleton-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.notif-skeleton-item:last-child{border-bottom:none}.notif-skeleton-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.notif-skeleton-body{flex:1;display:flex;flex-direction:column;gap:6px}.notif-skeleton-line{border-radius:var(--radius-sm);height:10px}.notif-skeleton-line--title{width:55%;height:11px}.notif-skeleton-line--msg{width:80%}.notif-skeleton-line--time{width:30%;height:8px;opacity:.6}@keyframes loadingBarShimmer{0%{background-position:200% center}to{background-position:-200% center}}.doc-task-panel{border:1px solid rgba(79,142,247,.25);border-radius:var(--radius-lg);background:#4f8ef70a;margin-bottom:20px;overflow:hidden}.doc-task-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(79,142,247,.15);background:#4f8ef70f;gap:10px}.doc-task-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-task-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.doc-task-title{font-size:12px;font-weight:700;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.4px}.doc-task-count{background:var(--accent-primary);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px}.doc-task-overdue-badge{background:#ef444426;color:#ef4444;font-size:10px;font-weight:700;padding:1px 7px;border-radius:99px;border:1px solid rgba(239,68,68,.3)}.doc-task-active-badge{background:#3b82f626;color:#3b82f6;font-size:10px;font-weight:600;padding:1px 7px;border-radius:99px;border:1px solid rgba(59,130,246,.25)}.doc-task-list{display:flex;flex-direction:column;gap:0}.doc-task-item{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid rgba(79,142,247,.1);gap:12px;transition:background var(--transition)}.doc-task-item:last-child{border-bottom:none}.doc-task-item:hover{background:#4f8ef70d}.doc-task-item--overdue{border-left:3px solid #ef4444;background:#ef444408}.doc-task-item-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.doc-task-item-id{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:1px}.doc-task-item-body{flex:1;min-width:0}.doc-task-item-name{font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:color var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-task-item-name:hover{color:var(--accent-primary)}.doc-task-item-meta{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap}.doc-task-deadline{font-size:10px;color:var(--text-muted)}.doc-task-deadline.overdue{color:#ef4444;font-weight:600}.doc-task-deadline.soon{color:#f59e0b;font-weight:600}.doc-task-progress{display:flex;align-items:center;gap:6px;margin-top:5px}.doc-task-progress-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden;max-width:120px}.doc-task-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.doc-task-progress-pct{font-size:10px;font-weight:600;color:var(--text-muted)}.doc-task-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.doc-task-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:600;white-space:nowrap}.doc-task-actions{display:flex;gap:4px}.doc-task-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:600;border:1px solid;cursor:pointer;transition:all var(--transition);white-space:nowrap}.doc-task-btn--start{color:#3b82f6;background:#3b82f61a;border-color:#3b82f64d}.doc-task-btn--start:hover{background:#3b82f633}.doc-task-btn--complete{color:#10b981;background:#10b9811a;border-color:#10b9814d}.doc-task-btn--complete:hover{background:#10b98133}.doc-task-btn--approve{color:#10b981;background:#10b9811a;border-color:#10b9814d}.doc-task-btn--approve:hover{background:#10b98133}.doc-task-btn--reject{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.doc-task-btn--reject:hover{background:#ef444433}.layout-mode-tablet .grid-4,.layout-mode-tablet .grid-3{grid-template-columns:repeat(2,1fr)!important}.layout-mode-mobile .grid-4,.layout-mode-mobile .grid-3,.layout-mode-mobile .grid-2{grid-template-columns:1fr!important}.layout-mode-mobile .stats-card{padding:14px!important;gap:10px!important}.layout-mode-mobile .stats-value{font-size:20px!important}.layout-mode-mobile .stats-icon{width:38px!important;height:38px!important}.layout-mode-mobile .table-wrapper,.layout-mode-tablet .table-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%}.layout-mode-mobile .data-table,.layout-mode-tablet .data-table{min-width:600px}.layout-mode-mobile .toolbar{flex-direction:column;align-items:flex-start;gap:8px}.layout-mode-mobile .toolbar-right{margin-left:0;width:100%;justify-content:space-between}.layout-mode-mobile .search-bar input{width:100%!important}.layout-mode-mobile .page-header{flex-direction:column;align-items:flex-start;gap:12px}.layout-mode-mobile .page-title{font-size:18px!important}.layout-mode-mobile .modal{width:95%!important;max-height:85vh!important;margin:10px auto;border-radius:var(--radius-lg)!important}.layout-mode-mobile .modal-header,.layout-mode-mobile .modal-body,.layout-mode-mobile .modal-footer{padding:14px 16px!important}
