@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.dashboard-studio{width:100%;display:flex;flex-direction:column;height:calc(100vh - (var(--space-6) * 2));min-height:0;gap:12px;overflow:hidden;color:var(--text-primary);--motion-duration: .42s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}.dashboard-animated-item{opacity:0;transform:translateY(18px) scale(.985);animation:dashboard-enter var(--motion-duration) var(--motion-ease) forwards;animation-delay:calc(var(--item-index, 0) * 70ms)}@keyframes dashboard-enter{to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-workspace{display:block;flex:1;min-height:0;overflow:hidden}.dashboard-filter-tab:focus-visible,.dashboard-toolbar-link:focus-visible,.dashboard-search-clear:focus-visible,.dashboard-reset-tools:focus-visible,.hr-member-detail-link:focus-visible,.department-header-stat:focus-visible,.department-segment-add:focus-visible,.dispatch-card-icon-action:focus-visible,.planning-modal-close:focus-visible,.planning-secondary-button:focus-visible,.planning-primary-button:focus-visible{outline:3px solid rgba(59,130,246,.24);outline-offset:2px}.dashboard-surface{height:100%;min-height:0;display:flex;flex-direction:column;padding:12px;border-radius:26px;border:1px solid rgba(226,232,240,.95);background:linear-gradient(180deg,#fffffffa,#f9fafcfa),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px);background-size:auto,30px 30px,30px 30px;box-shadow:0 22px 44px #0f172a12;overflow:hidden}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;position:static;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#ffffffeb,#fffc);border:1px solid rgba(226,232,240,.9);border-radius:18px;flex:0 0 auto}.dashboard-toolbar-top{padding:8px 10px}.dashboard-toolbar-primary{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}.dashboard-filter-tabs{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;padding-bottom:2px}.dashboard-filter-tab{min-width:84px;height:36px;padding:0 12px;border:1px solid rgba(30,41,59,.12);border-radius:999px;background:#ffffffeb;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;flex:0 0 auto}.dashboard-filter-tab:hover{transform:translateY(-1px);box-shadow:0 12px 20px #0f172a0f}.dashboard-filter-tab.active{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed859;color:#fff;box-shadow:0 10px 20px #2563eb2e}.dashboard-toolbar-info{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dashboard-toolbar-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#ffffffe0;color:var(--text-primary);font-size:11px;font-weight:700;white-space:nowrap}.dashboard-toolbar-pill.muted{color:var(--text-secondary)}.dashboard-date-panel{min-width:0;display:inline-flex;align-items:center;gap:8px;padding:0 10px;min-height:32px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#ffffffe6;white-space:nowrap}.dashboard-date-panel span,.dashboard-date-panel strong,.dashboard-date-panel small{display:inline;margin:0;font-size:11px;font-weight:700;letter-spacing:0}.dashboard-date-panel span{color:var(--text-muted)}.dashboard-date-panel strong{color:var(--text-primary)}.dashboard-date-panel small{color:var(--text-secondary)}.dashboard-toolbar-secondary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;min-width:0}.dashboard-search-field{min-width:min(100%,220px);display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffeb;box-shadow:0 8px 14px #0f172a0a}.dashboard-search-field:focus-within{border-color:#2563eb47;box-shadow:0 0 0 4px #3b82f614}.dashboard-search-icon{color:var(--text-muted);font-size:14px}.dashboard-search-field input{width:100%;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:13px}.dashboard-search-field input::placeholder{color:var(--text-muted)}.dashboard-search-clear{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#e2e8f0e6;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.dashboard-search-clear:hover{background:#3b82f61f;color:#1d4ed8;transform:scale(1.04)}.dashboard-toolbar-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(30,41,59,.12);background:#fff;color:var(--text-primary);text-decoration:none;font-size:13px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;flex:0 0 auto}.dashboard-toolbar-link:hover{transform:translateY(-1px);border-color:#3b82f63d;box-shadow:0 14px 22px #0f172a0d}.dashboard-toolbar-link.secondary{background:#f8fafceb}.dashboard-reset-tools{min-height:36px;padding:0 12px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffeb;color:var(--text-primary);font-size:12px;font-weight:700;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;flex:0 0 auto}.dashboard-reset-tools:hover{transform:translateY(-1px);border-color:#2563eb3d;box-shadow:0 10px 18px #0f172a0d}.dashboard-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);flex:1;min-height:0;overflow:hidden;align-items:stretch}.department-panel,.hr-panel{display:flex;flex-direction:column;min-height:0;height:100%;padding:16px;border-radius:22px;border:1px solid rgba(148,163,184,.22);background:#ffffffdb;box-shadow:0 16px 34px #0f172a0f;transition:transform .28s var(--motion-ease),box-shadow .28s var(--motion-ease),border-color .28s var(--motion-ease);overflow:hidden}.department-panel:hover,.hr-panel:hover{transform:translateY(-2px);box-shadow:0 22px 38px #0f172a14}.department-panel-technical{background:radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 36%),linear-gradient(180deg,#f8fcfffa,#fffffffa)}.department-panel-sales{background:radial-gradient(circle at top right,rgba(251,146,60,.12),transparent 36%),linear-gradient(180deg,#fffbf5fa,#fffffffa)}.hr-panel{background:radial-gradient(circle at top right,rgba(16,185,129,.12),transparent 34%),linear-gradient(180deg,#f6fffbfa,#fffffffa)}.department-panel-header,.hr-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:10px}.department-panel-header-main{display:flex;align-items:center;gap:10px;min-width:0}.department-panel-header h2,.hr-panel-header h2{margin:0;font-size:clamp(22px,1.7vw,28px);line-height:1;letter-spacing:-.05em}.department-header-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.department-header-stat{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#ffffffd6;color:var(--text-secondary);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.department-header-stat:hover{transform:translateY(-1px);border-color:#3b82f633}.department-header-stat.active{color:#1d4ed8;background:#eff6fff2;border-color:#3b82f63d}.department-count{min-width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:#ffffffe0;font-size:16px;font-weight:800}.department-status-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.department-status-pill{min-width:100px;padding:8px 10px;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#ffffffd6}.department-status-pill span,.department-status-pill strong{display:block}.department-status-pill span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.department-status-pill strong{margin-top:4px;font-size:15px;font-weight:800;letter-spacing:-.03em}.department-status-pill.accent{background:#eff6ffeb}.department-status-pill.warning{background:#fff7edeb}.department-status-pill.danger{background:#fef2f2eb}.department-status-pill.neutral{background:#ecfdf5eb}.department-status-pills-hr .department-status-pill{min-width:110px}.department-alert-card{padding:18px;border-radius:22px;border:1px solid rgba(148,163,184,.22);background:#ffffffe0}.department-alert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.department-alert-header span{display:block;font-size:clamp(16px,1.5vw,22px);font-weight:700;letter-spacing:-.04em}.department-alert-header p{margin-top:4px;font-size:var(--font-size-xs);line-height:1.4;color:var(--text-secondary)}.department-alert-header strong{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:#ef44441f;color:#b91c1c;font-size:18px;font-weight:800}.department-alert-list{display:flex;flex-direction:column;gap:10px;margin-top:16px;min-height:0;overflow-y:auto;padding-right:4px}.department-alert-item{padding:14px 16px;border-radius:18px;background:#f8fafce6;border:1px dashed rgba(248,113,113,.35);transition:transform .24s var(--motion-ease),border-color .24s var(--motion-ease),background .24s var(--motion-ease)}.department-alert-item:hover{transform:translate(3px);background:#fffffffa;border-color:#ef444466}.department-alert-item strong,.department-alert-item span{display:block}.department-alert-item strong{font-size:var(--font-size-sm)}.department-alert-item span{margin-top:6px;font-size:var(--font-size-xs);color:var(--text-secondary)}.department-alert-empty,.department-segment-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:92px;padding:18px;border-radius:20px;border:1px dashed rgba(148,163,184,.32);color:var(--text-secondary);text-align:center;line-height:1.6}.department-columns{display:grid;grid-template-columns:1fr;gap:var(--space-3);align-items:stretch;flex:1;min-height:0;overflow:hidden;align-content:stretch}.department-columns-3,.department-columns-4{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.department-column,.department-segment-block,.hr-column{display:flex;flex-direction:column;min-width:0;min-height:0}.department-alert-card,.hr-list-shell{height:100%}.department-column,.department-segment-block{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.department-alert-card{margin-bottom:0;display:flex;flex-direction:column;min-height:0}.hr-columns{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:var(--space-3);flex:1;min-height:0;overflow:hidden;align-content:stretch}.hr-column{overflow:hidden}.hr-column-list{grid-column:auto;min-height:0}.department-segment-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:10px;flex:0 0 auto}.department-segment-header h3{font-size:clamp(18px,1.6vw,24px);line-height:1.05;letter-spacing:-.04em}.department-segment-header span{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#ffffffd1;border:1px solid rgba(148,163,184,.18);font-weight:700}.department-segment-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.department-segment-add{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(37,99,235,.22);border-radius:14px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:22px;line-height:1;font-weight:800;cursor:pointer;box-shadow:0 10px 18px #2563eb29;transition:transform .2s ease,box-shadow .2s ease}.department-segment-add:hover{transform:translateY(-1px);box-shadow:0 14px 24px #2563eb33}.dispatch-card-list{display:flex;flex-direction:column;flex:1 1 auto;gap:10px;min-height:0;overflow-y:auto;padding-right:4px}.department-columns::-webkit-scrollbar,.hr-columns::-webkit-scrollbar,.dispatch-card-list::-webkit-scrollbar,.department-alert-list::-webkit-scrollbar,.hr-table-scroll::-webkit-scrollbar{width:10px;height:10px}.department-columns::-webkit-scrollbar-thumb,.hr-columns::-webkit-scrollbar-thumb,.dispatch-card-list::-webkit-scrollbar-thumb,.department-alert-list::-webkit-scrollbar-thumb,.hr-table-scroll::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background:#94a3b85c;background-clip:padding-box}.department-columns::-webkit-scrollbar-track,.hr-columns::-webkit-scrollbar-track,.dispatch-card-list::-webkit-scrollbar-track,.department-alert-list::-webkit-scrollbar-track,.hr-table-scroll::-webkit-scrollbar-track{background:transparent}.dispatch-card{position:relative;padding:12px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#fffffff0;box-shadow:0 12px 22px #0f172a0a;transition:transform .26s var(--motion-ease),box-shadow .26s var(--motion-ease),border-color .26s var(--motion-ease)}.dispatch-card-actions{position:absolute;top:10px;right:10px;z-index:4;display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.dispatch-card:hover .dispatch-card-actions,.dispatch-card:focus-within .dispatch-card-actions{opacity:1;transform:translateY(0);pointer-events:auto}.dispatch-card-icon-action{position:relative;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fffffff5;color:var(--text-secondary);box-shadow:0 10px 18px #0f172a1a;cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease}.dispatch-card-icon-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dispatch-card-icon-action:hover{transform:translateY(-1px)}.dispatch-card-icon-action.cancel:hover{border-color:#f59e0b61;background:#fffbebfa;color:#b45309}.dispatch-card-icon-action.archive:hover{border-color:#64748b52;background:#f8fafcfa;color:#334155}.dispatch-card-icon-action:disabled{cursor:not-allowed;opacity:.58}.dispatch-card-icon-action:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);min-width:max-content;padding:6px 8px;border-radius:8px;background:#0f172af5;color:#fff;font-size:11px;font-weight:700;line-height:1;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.dispatch-card-icon-action:hover:after,.dispatch-card-icon-action:focus-visible:after{opacity:1;transform:translateY(0)}.dispatch-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px #0f172a14;border-color:#3b82f62e}.dispatch-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.dispatch-card-actionable .dispatch-card-title{padding-right:70px}.dispatch-card-title strong{font-size:13px;line-height:1.4}.dispatch-card-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(120px,.9fr);gap:12px;align-items:center}.split-card-main,.split-card-side{min-width:0}.split-card-title{margin-bottom:6px}.split-card-meta{display:flex;flex-direction:column;gap:6px}.split-card-meta span,.split-card-side span,.split-card-side strong{display:block;font-size:var(--font-size-xs);line-height:1.35}.split-card-meta span{color:var(--text-secondary)}.split-card-side{display:flex;flex-direction:column;justify-content:center;gap:6px;padding-left:12px;border-left:1px dashed rgba(148,163,184,.35)}.split-card-side span{color:var(--text-secondary)}.split-card-side strong{font-weight:700}.dispatch-card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:10px;background:#f8fafc;border:1px solid rgba(226,232,240,.95)}.dispatch-card-row+.dispatch-card-row{margin-top:6px}.dispatch-card-row span{font-size:var(--font-size-xs);color:var(--text-secondary)}.dispatch-card-row strong{font-size:var(--font-size-xs);text-align:right}.dispatch-flag{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.dispatch-flag.neutral{color:#0f766e;background:#14b8a61f}.dispatch-flag.warning{color:#b45309;background:#f59e0b24}.dispatch-flag.accent{color:#1d4ed8;background:#3b82f61f}.dispatch-flag.danger{color:#b91c1c;background:#ef444424}.department-columns-4 .department-segment-block,.department-columns-3 .department-segment-block{padding:12px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:#ffffffb8;box-shadow:inset 0 1px #ffffff80}.department-footer{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(148,163,184,.35)}.department-footer a{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);text-decoration:none;font-weight:700}.department-footer a:hover{color:#2563eb}.planning-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.planning-modal{width:min(720px,100%);max-height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(226,232,240,.94);background:#fffffffa;box-shadow:0 28px 70px #0f172a47;overflow:hidden}.planning-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid rgba(226,232,240,.9)}.planning-modal-header h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.03em}.planning-modal-header p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.planning-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#f8fafcf0;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer}.planning-form{display:flex;flex-direction:column;gap:14px;padding:18px 22px 22px;overflow-y:auto}.planning-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-field{display:flex;flex-direction:column;gap:7px;min-width:0}.planning-field-full{width:100%}.planning-field span{color:var(--text-primary);font-size:12px;font-weight:800}.planning-field input,.planning-field select,.planning-field textarea{width:100%;min-height:42px;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:#fff;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.planning-field input,.planning-field select{padding:0 12px}.planning-field textarea{min-height:96px;padding:11px 12px;resize:vertical}.planning-field input:focus,.planning-field select:focus,.planning-field textarea:focus{border-color:#2563eb5c;box-shadow:0 0 0 4px #3b82f614}.planning-error{padding:10px 12px;border-radius:12px;border:1px solid rgba(239,68,68,.24);background:#fef2f2f0;color:#b91c1c;font-size:13px;font-weight:700}.planning-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.planning-secondary-button,.planning-primary-button{min-height:40px;padding:0 16px;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer}.planning-secondary-button{border:1px solid rgba(148,163,184,.28);background:#f8fafcf5;color:var(--text-primary)}.planning-primary-button{border:1px solid rgba(37,99,235,.22);background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;box-shadow:0 12px 20px #2563eb29}.planning-primary-button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none}.hr-list-shell{flex:1;min-height:0;padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#ffffffe6;box-shadow:0 12px 22px #0f172a0a;overflow:visible}.hr-member-list{display:flex;flex-direction:column;gap:10px;min-height:0}.hr-member-row{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,.9fr);gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid rgba(226,232,240,.96);background:#fffffff5;transition:background .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease}.hr-member-row:hover{background:#f8fafcf5;border-color:#3b82f62e;box-shadow:0 14px 24px #0f172a0d;z-index:2}.hr-member-row.is-overtime{background:linear-gradient(135deg,#eff6ffeb,#fffffff5)}.hr-member-row.is-overtime:hover{background:linear-gradient(135deg,#dbeafef5,#fffffffa)}.hr-member-row.is-pending-overtime{background:linear-gradient(135deg,#e0f2fefa,#fffffffa);border-color:#0ea5e947}.hr-member-row.is-pending-overtime:hover,.hr-member-row.is-pending-overtime:focus-within{background:linear-gradient(135deg,#bae6fdfa,#fff);border-color:#0284c757}.hr-member-row.is-missing-hours{background:linear-gradient(135deg,#fef2f2f5,#fffffffa)}.hr-member-row.is-missing-hours:hover{background:linear-gradient(135deg,#fee2e2fa,#fff)}.hr-member-main,.hr-member-side{min-width:0}.hr-member-main{display:flex;flex-direction:column;gap:10px}.hr-member-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.hr-member-title strong{min-width:0;font-size:14px;line-height:1.35;color:#0f172a}.hr-member-role{flex-shrink:0;color:var(--text-secondary);font-size:12px;font-weight:600}.hr-member-metrics{display:flex;flex-wrap:wrap;gap:8px}.hr-metric-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.hr-ot-hover-shell{position:relative;display:inline-flex}.hr-ot-pill-button{gap:8px;border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.hr-ot-pill-button:hover,.hr-ot-pill-button:focus-visible{transform:translateY(-1px);box-shadow:0 10px 18px #0ea5e92e}.hr-ot-pill-button:focus-visible{outline:2px solid rgba(2,132,199,.32);outline-offset:2px}.hr-ot-pill-pending{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;color:#0f172a;background:#ffffffeb}.hr-ot-hover-card{position:absolute;top:calc(100% + 10px);left:0;width:min(340px,calc(100vw - 56px));padding:14px;border-radius:16px;border:1px solid rgba(125,211,252,.55);background:#fffffffa;box-shadow:0 22px 38px #0ea5e929;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;z-index:4}.hr-ot-hover-shell:hover .hr-ot-hover-card,.hr-ot-hover-shell:focus-within .hr-ot-hover-card{opacity:1;pointer-events:auto;transform:translateY(0)}.hr-ot-hover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.hr-ot-hover-header strong{color:#0f172a;font-size:13px}.hr-ot-hover-header span,.hr-ot-hover-note{color:#475569;font-size:11px;line-height:1.5}.hr-ot-hover-list{display:flex;flex-direction:column;gap:8px}.hr-ot-hover-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px;border:none;border-radius:12px;background:#f0f9ffe6;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease}.hr-ot-hover-item:hover:not(:disabled),.hr-ot-hover-item:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 20px #0284c71f}.hr-ot-hover-item:focus-visible{outline:2px solid rgba(14,165,233,.24);outline-offset:2px}.hr-ot-hover-item:disabled{cursor:wait;opacity:.76}.hr-ot-hover-item.is-undo{background:#e2e8f0e0}.hr-ot-hover-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.hr-ot-hover-copy strong{color:#0f172a;font-size:12px;line-height:1.35}.hr-ot-hover-copy span{color:#475569;font-size:11px;line-height:1.45;white-space:normal}.hr-action-status-text{color:#0369a1;font-weight:700}.hr-ot-confirm-button{flex-shrink:0;min-height:32px;padding:0 12px;border:none;border-radius:10px;background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#f8fafc;font-size:11px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.hr-ot-confirm-button:hover:not(:disabled),.hr-ot-confirm-button:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 24px #0284c73d}.hr-ot-confirm-button:focus-visible{outline:2px solid rgba(14,165,233,.3);outline-offset:2px}.hr-ot-confirm-button:disabled{cursor:wait;opacity:.7}.hr-ot-confirm-button.is-undo{background:linear-gradient(135deg,#475569,#64748b)}.hr-ot-confirm-button.is-undo:hover:not(:disabled),.hr-ot-confirm-button.is-undo:focus-visible:not(:disabled){box-shadow:0 14px 24px #4755693d}.hr-ot-hover-note{margin-top:10px}.hr-inline-action-label{flex-shrink:0;color:#0369a1;font-size:11px;font-weight:800;white-space:nowrap}.hr-inline-action-label.is-undo{color:#334155}.hr-warning-hover-shell{position:relative;display:inline-flex}.hr-warning-pill-button{border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.hr-warning-pill-button:hover,.hr-warning-pill-button:focus-visible{transform:translateY(-1px)}.hr-warning-pill-button.warning:hover,.hr-warning-pill-button.warning:focus-visible{box-shadow:0 10px 18px #f59e0b2e}.hr-warning-pill-button.danger:hover,.hr-warning-pill-button.danger:focus-visible{box-shadow:0 10px 18px #ef44442e}.hr-warning-pill-button:focus-visible{outline-offset:2px}.hr-warning-pill-button.warning:focus-visible{outline:2px solid rgba(245,158,11,.3)}.hr-warning-pill-button.danger:focus-visible{outline:2px solid rgba(239,68,68,.24)}.hr-warning-pill-button:disabled{cursor:wait;opacity:.76}.hr-warning-pill-button.is-undo{color:#e2e8f0;background:linear-gradient(135deg,#475569,#64748b)}.hr-warning-pill-button.is-undo:hover,.hr-warning-pill-button.is-undo:focus-visible{box-shadow:0 10px 18px #4755692e}.hr-warning-hover-card{position:absolute;top:calc(100% + 10px);left:0;width:min(280px,calc(100vw - 56px));padding:14px;border-radius:16px;border:1px solid rgba(251,191,36,.45);background:#fffbebfa;box-shadow:0 22px 38px #f59e0b24;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;z-index:4}.hr-warning-hover-card.danger{border-color:#f871716b;background:#fef2f2fa;box-shadow:0 22px 38px #ef444424}.hr-warning-hover-shell:hover .hr-warning-hover-card,.hr-warning-hover-shell:focus-within .hr-warning-hover-card{opacity:1;pointer-events:auto;transform:translateY(0)}.hr-warning-hover-header{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.hr-warning-hover-header strong{color:#0f172a;font-size:13px}.hr-warning-hover-header span{color:#7c2d12;font-size:11px;line-height:1.45}.hr-warning-hover-card.danger .hr-warning-hover-header span{color:#991b1b}.hr-warning-confirm-button{width:100%;min-height:34px;border:none;border-radius:10px;color:#fff7ed;font-size:11px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.hr-warning-confirm-button.warning{background:linear-gradient(135deg,#d97706,#f59e0b)}.hr-warning-confirm-button.danger{background:linear-gradient(135deg,#dc2626,#ef4444)}.hr-warning-confirm-button:hover:not(:disabled),.hr-warning-confirm-button:focus-visible:not(:disabled){transform:translateY(-1px)}.hr-warning-confirm-button.warning:hover:not(:disabled),.hr-warning-confirm-button.warning:focus-visible:not(:disabled){box-shadow:0 14px 24px #f59e0b33}.hr-warning-confirm-button.danger:hover:not(:disabled),.hr-warning-confirm-button.danger:focus-visible:not(:disabled){box-shadow:0 14px 24px #ef444433}.hr-warning-confirm-button:focus-visible{outline-offset:2px}.hr-warning-confirm-button.warning:focus-visible{outline:2px solid rgba(245,158,11,.28)}.hr-warning-confirm-button.danger:focus-visible{outline:2px solid rgba(239,68,68,.24)}.hr-warning-confirm-button:disabled{cursor:wait;opacity:.7}.hr-warning-confirm-button.is-undo{background:linear-gradient(135deg,#475569,#64748b)}.hr-warning-confirm-button.is-undo:hover:not(:disabled),.hr-warning-confirm-button.is-undo:focus-visible:not(:disabled){box-shadow:0 14px 24px #47556938}.hr-warning-hover-note{color:#7c2d12;font-size:11px;line-height:1.45}.hr-warning-hover-card.danger .hr-warning-hover-note{color:#991b1b}.hr-metric-pill.neutral{color:#0369a1;background:#0ea5e91f}.hr-metric-pill.warning{color:#b45309;background:#f59e0b29}.hr-metric-pill.danger{color:#b91c1c;background:#ef444424}.hr-metric-pill.critical{color:#991b1b;background:#f871712e}.hr-member-side{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:12px;border-left:1px dashed rgba(148,163,184,.35)}.hr-member-progress{display:flex;flex-direction:column;gap:4px}.hr-member-progress span{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hr-member-progress strong{color:#0f172a;font-size:13px;line-height:1.4}.hr-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.hr-table-scroll{flex:1;min-height:0;overflow:auto}.hr-table-col-name{width:220px}.hr-table-col-role{width:150px}.hr-table-col-ot,.hr-table-col-r1,.hr-table-col-r2{width:96px}.hr-table-col-link{width:110px}.hr-table-head th{position:sticky;top:0;z-index:1;padding:0 10px 10px;border-bottom:1px solid rgba(226,232,240,.95);background:#fffffff5;color:var(--text-secondary);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:nowrap}.hr-table-row{transition:background .2s ease,transform .2s ease}.hr-table-row:hover{background:#f8fafceb}.hr-table-row.is-overtime{background:#eff6ffe6}.hr-table-row.is-overtime:hover{background:#dbeafef5}.hr-table-row.is-missing-hours{background:#fef2f2f0}.hr-table-row.is-missing-hours:hover{background:#fee2e2fa}.hr-table-cell,.hr-table-name{padding:12px 10px;border-bottom:1px solid rgba(226,232,240,.9);font-size:var(--font-size-xs);color:var(--text-primary);text-align:left;vertical-align:middle;white-space:nowrap}.hr-member-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#f8fafceb;color:var(--text-primary);text-decoration:none;font-size:var(--font-size-xs);font-weight:700;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.hr-member-detail-link:hover{color:#2563eb;border-color:#2563eb3d;box-shadow:0 10px 18px #0f172a0d;transform:translateY(-1px)}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:420px;color:var(--text-secondary);font-size:var(--font-size-base);position:relative}.dashboard-loading:after{content:"";width:56px;height:56px;margin-left:16px;border-radius:50%;border:3px solid rgba(148,163,184,.22);border-top-color:#2563ebe6;animation:dashboard-spin .9s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.dashboard-studio{--motion-duration: 1ms}.dashboard-animated-item,.department-panel,.hr-panel,.dispatch-card,.department-alert-item,.hr-member-row,.dashboard-filter-tab,.dashboard-toolbar-link,.dashboard-search-clear,.dashboard-reset-tools,.hr-table-row{animation:none;transition:none;transform:none;opacity:1}.dashboard-loading:after{animation:none}}@media (max-width: 1560px){.department-columns-4{grid-template-columns:1fr}}@media (max-width: 1320px){.dashboard-workspace{display:block}}@media (max-width: 1080px){.dashboard-studio{height:auto;min-height:0;overflow:visible}.dashboard-toolbar{position:static;flex-direction:column;align-items:stretch}.dashboard-toolbar-primary,.dashboard-toolbar-secondary{width:100%}.dashboard-toolbar-primary{flex-wrap:wrap}.dashboard-toolbar-info{width:100%;flex-wrap:wrap}.dashboard-toolbar-secondary{justify-content:flex-start;flex-wrap:wrap}.dashboard-search-field{min-width:0;width:100%}.dashboard-board{grid-template-columns:1fr;overflow:visible}.dashboard-workspace,.dashboard-surface,.department-panel,.hr-panel{min-height:auto;height:auto;overflow:visible}.department-columns-3,.department-columns-4,.hr-columns{grid-template-columns:1fr;overflow:visible}}@media (max-width: 820px){.dashboard-date-panel{min-width:0;width:auto}.department-status-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hr-member-row{grid-template-columns:1fr}.hr-member-title,.hr-member-side{align-items:flex-start}.hr-member-title,.hr-member-side{flex-direction:column}.hr-member-side{padding-left:0;padding-top:10px;border-left:none;border-top:1px dashed rgba(148,163,184,.35)}.hr-ot-hover-card{left:50%;transform:translate(-50%,8px)}.hr-ot-hover-shell:hover .hr-ot-hover-card,.hr-ot-hover-shell:focus-within .hr-ot-hover-card{transform:translate(-50%)}.hr-warning-hover-card{left:50%;transform:translate(-50%,8px)}.hr-warning-hover-shell:hover .hr-warning-hover-card,.hr-warning-hover-shell:focus-within .hr-warning-hover-card{transform:translate(-50%)}}@media (max-width: 640px){.dashboard-studio{gap:var(--space-5)}.dashboard-surface,.department-panel,.hr-panel{padding:16px}.dashboard-toolbar{padding:8px}.dashboard-filter-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-filter-tab{min-width:0;width:100%}.dashboard-toolbar-info,.department-panel-header-main,.department-panel-header,.hr-panel-header,.department-alert-header,.dispatch-card-title,.dispatch-card-row,.department-status-pills{flex-direction:column;align-items:flex-start}.department-count{align-self:flex-start}.dispatch-card-row strong{text-align:left}.department-header-meta{width:100%}.department-status-pills{width:100%;display:flex}.planning-modal-overlay{align-items:flex-end;padding:10px}.planning-modal{max-height:calc(100vh - 20px);border-radius:18px}.planning-modal-header,.planning-form{padding-left:16px;padding-right:16px}.planning-form-row{grid-template-columns:1fr}.planning-modal-actions{flex-direction:column-reverse}.planning-secondary-button,.planning-primary-button{width:100%}.dispatch-card-split{grid-template-columns:1fr}.split-card-side{padding-left:0;border-left:none;border-top:1px dashed rgba(148,163,184,.35);padding-top:8px}.hr-ot-hover-item{align-items:flex-start;flex-direction:column}.hr-ot-confirm-button{width:100%;justify-content:center}}.schedules-page{padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-header-main{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.page-header h1{margin:0;font-size:28px;font-weight:700;color:#1e3a5f}.page-subtitle{margin:6px 0 0;color:#64748b;font-size:14px;max-width:720px}.page-header-actions{display:flex;align-items:center;gap:12px}.view-toggle-compact{display:flex;border:1px solid #dbe4f0;border-radius:10px;overflow:hidden;background:#f8fafc}.view-toggle-btn{padding:8px 12px;border:none;background:transparent;cursor:pointer;border-right:1px solid #dbe4f0;color:#334155}.view-toggle-btn:last-child{border-right:none}.view-toggle-btn.active{background:#1e3a5f;color:#fff}.view-icon{font-size:12px;font-weight:700}.btn-primary,.btn{padding:9px 16px;border-radius:10px;border:none;cursor:pointer;font-size:14px;font-weight:600}.btn-primary,.btn.btn-primary,.cal-today-btn{background:#1e3a5f;color:#fff}.btn-primary:hover,.cal-today-btn:hover{background:#23486f}.filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:flex-end}.filters input,.filters select{padding:9px 12px;border:1px solid #dbe4f0;border-radius:10px;font-size:14px;background:#fff}.filter-date-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:12px;color:#64748b;font-weight:600}.quick-filter-group{display:flex;gap:8px;flex-wrap:wrap}.btn-filter-chip{padding:9px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;font-size:13px;font-weight:600}.btn-filter-chip:hover{background:#f8fafc}.btn-clear-filter{padding:9px 14px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600}.schedule-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.summary-card{background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid #dbe4f0;border-radius:14px;padding:14px 16px}.summary-label{display:block;color:#64748b;font-size:12px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.schedule-form{background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 8px 24px #0f172a0a}.form-row{display:flex;gap:16px;flex-wrap:wrap}.form-group{flex:1;min-width:220px;margin-bottom:16px}.form-label,.form-group label{display:block;margin-bottom:6px;color:#334155;font-size:14px;font-weight:600}.form-input,.form-textarea,.form-select{width:100%;padding:10px 12px;border:1px solid #dbe4f0;border-radius:10px;font-size:14px;box-sizing:border-box}.form-textarea{min-height:88px;resize:vertical}.week-view-container,.calendar-view-container{background:#fff;border:1px solid #dbe4f0;border-radius:16px;overflow:hidden}.week-toolbar,.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-bottom:1px solid #dbe4f0;flex-wrap:wrap}.week-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.week-label,.calendar-month-label{margin:0;color:#1e3a5f;font-size:18px;font-weight:700}.cal-nav-btn{padding:8px 12px;background:#fff;border:1px solid #dbe4f0;border-radius:10px;cursor:pointer}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:0;overflow-x:auto}.week-day-column{min-height:360px;border-right:1px solid #edf2f7;background:#fff}.week-day-column:last-child{border-right:none}.week-day-column.today{background:#f7fbff}.week-day-header{padding:14px 12px;border-bottom:1px solid #edf2f7;display:flex;flex-direction:column;gap:4px}.week-day-name{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.week-day-body{padding:12px;display:flex;flex-direction:column;gap:10px}.week-empty{color:#94a3b8;font-size:13px;padding:12px;border:1px dashed #dbe4f0;border-radius:12px;text-align:center}.week-task-card{text-align:left;border:1px solid #dbe4f0;background:#fff;border-left:4px solid #3b82f6;border-radius:12px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:#0f172a}.week-task-card.pending{border-left-color:#f59e0b}.week-task-card.confirmed{border-left-color:#3b82f6}.week-task-card.in_progress{border-left-color:#8b5cf6}.week-task-card.completed{border-left-color:#10b981}.week-task-card.cancelled{border-left-color:#ef4444}.week-task-time{color:#64748b;font-size:12px;font-weight:700}.kanban-container{overflow-x:auto;padding-bottom:16px}.kanban-helper-text{margin-bottom:10px;font-size:13px;color:#475569}.kanban-board{display:flex;gap:12px;min-width:max-content;align-items:flex-start}.kanban-column{width:280px;flex-shrink:0;background:#f8fafc;border-radius:14px;border:1px solid #dbe4f0;overflow:hidden;transition:border-color .2s,box-shadow .2s,background .2s}.kanban-column.drag-over{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61f}.kanban-column-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#fff;border-bottom:1px solid #dbe4f0}.kanban-status-dot{width:10px;height:10px;border-radius:50%}.kanban-status-label{flex:1;font-size:13px;font-weight:700}.kanban-count{background:#e2e8f0;color:#475569;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.kanban-cards{padding:10px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 280px);overflow-y:auto;transition:background .2s}.kanban-cards.drag-over{background:#3b82f60a}.kanban-empty{text-align:center;padding:20px;color:#94a3b8;font-size:13px}.kanban-card,.schedule-card{background:#fff;border:1px solid #dbe4f0;border-radius:12px;padding:14px;cursor:pointer}.schedule-card{border-left:4px solid #3b82f6}.kanban-card-draggable{cursor:grab}.kanban-card-draggable:active{cursor:grabbing}.kanban-card.dragging{opacity:.45;transform:rotate(1deg);box-shadow:0 10px 24px #1e3a5f29}.kanban-card.is-updating{opacity:.7;pointer-events:none}.kanban-card-header,.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.kanban-card-title,.schedule-header h3{margin:0;color:#1e3a5f;font-size:15px;font-weight:700}.kanban-card-date,.kanban-card-time,.kanban-card-location,.kanban-card-assignee,.schedule-details,.detail-value{color:#64748b;font-size:13px}.kanban-card-badge,.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge-warning,.kanban-card-badge.pending,.cal-event-pill.pending{background:#fef3c7;color:#b45309}.badge-info,.kanban-card-badge.confirmed,.cal-event-pill.confirmed{background:#dbeafe;color:#1d4ed8}.badge-primary,.kanban-card-badge.in_progress,.cal-event-pill.in_progress{background:#ede9fe;color:#6d28d9}.badge-success,.kanban-card-badge.completed,.cal-event-pill.completed{background:#d1fae5;color:#059669}.badge-error,.kanban-card-badge.cancelled,.cal-event-pill.cancelled{background:#fee2e2;color:#dc2626}.badge-ghost{background:#f1f5f9;color:#64748b}.kanban-card-actions{margin-top:10px;padding-top:10px;border-top:1px solid #edf2f7}.kanban-status-select{width:100%;padding:6px 10px;border:1px solid #dbe4f0;border-radius:8px;font-size:12px;cursor:pointer;background:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header-cell{padding:10px 8px;text-align:center;font-size:12px;font-weight:700;color:#64748b;background:#f8fafc;border-bottom:1px solid #dbe4f0}.calendar-day-cell{min-height:110px;border-right:1px solid #edf2f7;border-bottom:1px solid #edf2f7;padding:8px}.calendar-day-cell.empty{background:#fafafa}.cal-day-number{font-size:13px;font-weight:700;margin-bottom:4px}.cal-day-events{display:flex;flex-direction:column;gap:4px}.cal-event-pill{padding:4px 6px;border-radius:6px;font-size:11px;cursor:pointer;display:flex;gap:4px;overflow:hidden}.cal-event-time{font-weight:700}.cal-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedules-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.schedule-details p{margin:6px 0;display:flex;gap:6px}.schedule-details strong,.detail-label{color:#334155;font-weight:700;min-width:90px}.schedule-actions{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#94a3b8;background:#fff;border:1px dashed #dbe4f0;border-radius:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:16px;width:min(92vw,560px);max-height:90vh;overflow-y:auto;padding:22px}.schedule-detail-modal{max-width:560px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;border-bottom:1px solid #e2e8f0;padding-bottom:12px}.modal-header h2{margin:0;color:#1e3a5f;font-size:20px}.modal-close-btn{width:34px;height:34px;border:none;border-radius:10px;background:#f1f5f9;cursor:pointer;font-size:20px}.schedule-detail-body{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;align-items:flex-start;gap:12px}.page-loading{display:flex;justify-content:center;padding:80px 20px;color:#64748b}@media (max-width: 1100px){.week-grid{grid-template-columns:repeat(7,220px)}}@media (max-width: 768px){.page-header,.page-header-actions,.week-toolbar,.week-nav,.filters,.form-row,.detail-row{flex-direction:column;align-items:stretch}.view-toggle-compact,.quick-filter-group{width:100%}.quick-filter-group>*{flex:1}.schedules-list{grid-template-columns:1fr}.calendar-grid{font-size:12px}.form-row{flex-direction:column}.filters{flex-direction:column;align-items:stretch}.filter-date-group{width:100%}}.customers-page{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-header-main,.page-header-actions{display:flex;align-items:center;gap:12px}.page-header h1{margin:0;font-size:24px}.filters{display:flex;gap:10px;margin-bottom:20px}.filters input,.filters select{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.filters input{flex:1;max-width:300px}.customers-content{display:grid;grid-template-columns:350px 1fr;gap:20px}.customers-list{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 250px);overflow-y:auto}.customer-card{padding:15px;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.customer-card:hover{background:#f5f5f5}.customer-card.selected{border-color:#1976d2;background:#e3f2fd}.customer-card h3{margin:0 0 8px;font-size:16px}.customer-card p{margin:4px 0;font-size:14px;color:#666}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;text-transform:capitalize}.status-badge.active{background:#4caf50;color:#fff}.status-badge.potential{background:#ff9800;color:#fff}.status-badge.inactive{background:#9e9e9e;color:#fff}.status-badge.maintenance{background:#ff9800;color:#fff}.customer-detail{padding:20px;border:1px solid #ddd;border-radius:8px;min-height:400px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.detail-header h2{margin:0}.detail-actions{display:flex;gap:10px}.detail-actions button{padding:6px 12px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:#fff}.detail-actions .btn-danger{color:#f44336;border-color:#f44336}.detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.detail-info p{margin:0;font-size:14px}.machines-section{margin-top:20px}.contacts-section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h3{margin:0}.section-header button{padding:6px 12px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer}.contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.contact-card{border:1px solid #e5e7eb;border-radius:8px;padding:14px;background:#fff}.contact-main,.contact-meta{display:flex;flex-direction:column;gap:6px}.contact-main strong{color:#111827}.contact-main span,.contact-meta span:first-child{color:#6b7280;font-size:14px}.contact-meta{margin-top:10px}.contact-department{display:inline-flex;width:fit-content;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.contact-department.sale{background:#dbeafe;color:#1d4ed8}.contact-department.technical{background:#dcfce7;color:#166534}.machines-table{width:100%;border-collapse:collapse}.machines-table th,.machines-table td{padding:10px;text-align:left;border-bottom:1px solid #eee}.machines-table th{background:#f5f5f5;font-weight:500}.btn-primary{padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-primary:hover{background:#1565c0}.btn-secondary{padding:8px 16px;background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.btn-secondary:hover{background:#f8fafc}.loading,.empty,.empty-detail{display:flex;align-items:center;justify-content:center;padding:40px;color:#999}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 20px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.form-group textarea{min-height:80px;resize:vertical}.modal-actions button{padding:8px 16px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:#fff}.modal-actions .btn-primary{background:#1976d2;color:#fff;border:none}.hr-page{padding:24px;min-height:100vh;background:radial-gradient(circle at top right,rgba(6,182,212,.08),transparent 26%),linear-gradient(180deg,#f8fbff,#f8fafc 42%,#eef5fb)}.detail-hero{display:flex;justify-content:space-between;gap:20px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#0f172a,#1e3a5f 48%,#2563eb);color:#fff;box-shadow:0 22px 48px #0f172a29;margin-bottom:18px}.detail-hero-copy{max-width:720px}.detail-back-button{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1a;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.detail-back-button:hover{transform:translateY(-1px);background:#ffffff29;border-color:#ffffff47}.detail-eyebrow{display:inline-flex;padding:6px 12px;margin-bottom:12px;border-radius:999px;background:#ffffff1f;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.detail-hero h1{margin:0;font-size:30px;color:#fff}.detail-subtitle{margin-top:12px;font-size:15px;line-height:1.7;color:#ffffffdb}.detail-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.detail-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffff24;font-size:12px;font-weight:700}.detail-chip.warning{background:#f9731633}.detail-hero-tools{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px}.detail-period-pill{padding:10px 14px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600}.detail-tool-button{padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff1f;color:#fff;font-weight:600;cursor:pointer}.detail-tool-button:hover{background:#ffffff2e}.filter-date{display:flex;gap:10px}.filter-date select{padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff1a;color:#fff}.filter-date option{color:#1e293b}.detail-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.detail-summary-card{padding:16px 18px;border-radius:16px;background:#ffffffeb;border:1px solid #E2E8F0;box-shadow:0 12px 26px #94a3b814;display:flex;flex-direction:column;gap:4px}.detail-summary-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.detail-summary-card strong{font-size:24px;color:#0f172a}.my-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat-card{background:#ffffffeb;padding:20px;border-radius:16px;border:1px solid #E2E8F0;text-align:center;box-shadow:0 12px 24px #94a3b814}.stat-label{font-size:13px;color:#64748b;margin-bottom:8px;font-weight:600}.stat-value{font-size:24px;font-weight:700}.stat-value.warning{display:flex;justify-content:center;gap:10px}.warning-yellow{color:#d97706;font-weight:700}.warning-red{color:#dc2626;font-weight:700}.detail-quick-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.quick-nav-btn{padding:10px 16px;border:1px solid #D7E3F1;border-radius:999px;background:#ffffffe6;color:#1e293b;font-weight:600;transition:transform .2s,border-color .2s,box-shadow .2s}.quick-nav-btn:hover,.quick-nav-btn.active{transform:translateY(-1px);border-color:#3b82f647;box-shadow:0 10px 22px #3b82f61a}.quick-nav-btn.active{background:linear-gradient(135deg,#dbeafe,#eff6ff);color:#1d4ed8}.tabs{display:flex;gap:8px;padding:8px;background:#ffffffc7;border:1px solid #E2E8F0;border-radius:16px;margin-bottom:20px;overflow-x:auto}.tabs button{padding:12px 18px;border:none;border-radius:12px;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:#64748b;white-space:nowrap}.tabs button.active{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#eff6ff);box-shadow:inset 0 0 0 1px #3b82f61f}.tab-content{background:#fffffff5;padding:22px;border-radius:18px;border:1px solid #E2E8F0;box-shadow:0 14px 30px #94a3b814}.tab-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.tab-header h2{margin:0;font-size:18px;color:#0f172a}.detail-filter-banner{margin-top:8px;color:#1d4ed8;font-size:14px;font-weight:500}.btn-primary{padding:10px 16px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;box-shadow:0 10px 22px #3b82f638}.btn-danger{color:#f44336!important}.btn-compact{padding:8px 12px;box-shadow:none}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.table-shell{overflow:auto;border:1px solid #E2E8F0;border-radius:14px}.staff-filter-bar{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(180px,1fr));gap:12px;margin-bottom:18px}.staff-filter-bar input,.staff-filter-bar select{width:100%;padding:11px 13px;border:1px solid #DDE6F0;border-radius:10px;box-sizing:border-box;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #EEF2F7;vertical-align:middle}.data-table th{position:sticky;top:0;background:#f8fafc;font-weight:700;color:#64748b;z-index:1}.data-table tbody tr:hover{background:#f8fbff}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.pending{background:#fff3e0;color:#ff9800}.status-badge.approved{background:#e8f5e9;color:#4caf50}.status-badge.rejected{background:#ffebee;color:#f44336}.status-badge.yellow{background:#fff3e0;color:#ff9800}.status-badge.red{background:#ffebee;color:#f44336}.staff-primary-cell{display:flex;flex-direction:column;gap:4px}.staff-primary-cell strong{color:#0f172a}.staff-primary-cell span{color:#64748b;font-size:13px}.warning-summary{margin-bottom:20px}.warning-status{padding:16px 18px;border-radius:12px;font-size:14px;font-weight:500}.warning-status.normal{background:#e8f5e9;color:#15803d}.warning-status.yellow{background:#fff3e0;color:#d97706}.warning-status.red{background:#ffebee;color:#dc2626}.missing-hours-cell{color:#c62828;font-weight:700}.loading,.empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#94a3b8}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #DDE6F0;border-radius:10px;box-sizing:border-box}.staff-modal{max-width:560px}.form-group textarea{min-height:90px;resize:vertical}.modal-actions button{padding:10px 16px;border:1px solid #DDE6F0;border-radius:10px;cursor:pointer;background:#fff}.modal-actions .btn-primary{border:none;color:#fff}@media (max-width: 1100px){.detail-hero{flex-direction:column}.detail-hero-tools{align-items:flex-start}.detail-summary-grid,.my-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-filter-bar{grid-template-columns:1fr}}@media (max-width: 720px){.hr-page{padding:16px}.detail-summary-grid,.my-stats{grid-template-columns:1fr}.tab-header{flex-direction:column;align-items:flex-start}.filter-date{flex-direction:column;width:100%}.filter-date select,.detail-tool-button{width:100%}}.hr-dashboard{--hr-bg: #eff4f5;--hr-surface: rgba(255, 255, 255, .94);--hr-surface-strong: #ffffff;--hr-border: rgba(148, 163, 184, .18);--hr-border-strong: rgba(148, 163, 184, .28);--hr-text: #172536;--hr-muted: #536579;--hr-soft: #7c8da1;--hr-navy: #17324d;--hr-teal: #0f766e;--hr-cyan: #0284c7;--hr-emerald: #10b981;--hr-amber: #f59e0b;--hr-rose: #ef4444;min-height:100vh;padding:28px;color:var(--hr-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 32%),linear-gradient(180deg,#f8fbfc 0%,var(--hr-bg) 100%)}.hr-dashboard-loading{display:flex;align-items:center;justify-content:center;gap:14px;min-height:360px;color:var(--hr-muted);font-size:15px}.spinner{width:36px;height:36px;border:3px solid rgba(148,163,184,.26);border-top-color:var(--hr-cyan);border-radius:999px;animation:hr-spin .8s linear infinite}@keyframes hr-spin{to{transform:rotate(360deg)}}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.92fr);gap:24px;padding:28px;margin-bottom:18px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 32%),linear-gradient(135deg,#102538,#17324d 52%,#24556c);box-shadow:0 24px 40px #10253824;color:#fff}.dashboard-hero.personal{background:radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 34%),linear-gradient(135deg,#11362c,#165b53 55%,#1f5f82)}.dashboard-hero-main,.dashboard-hero-side{display:flex;flex-direction:column}.dashboard-hero-main{gap:16px}.dashboard-hero-side{gap:14px;justify-content:space-between}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:8px 14px;border-radius:999px;background:#ffffff1a;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-eyebrow svg,.hero-tag svg,.summary-card-icon svg,.btn-details svg,.quick-action-icon svg,.quick-action-arrow svg{width:18px;height:18px;flex-shrink:0}.dashboard-hero h1{margin:0;max-width:680px;font-size:36px;line-height:1.05;letter-spacing:-.03em}.hero-subtitle{margin:0;max-width:700px;font-size:15px;line-height:1.65;color:#ffffffd6}.hero-tags,.hero-highlight-meta,.dashboard-header-actions,.filter-date,.table-controls,.table-summary{display:flex;flex-wrap:wrap;gap:10px}.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#ffffff14;color:#ffffffe0;font-size:12px;font-weight:700}.dashboard-header-actions,.filter-date{justify-content:flex-end}.btn-details,.filter-date select,.search-input,.sort-select{min-height:44px;padding:0 15px;border-radius:14px;font-family:inherit;font-size:14px}.btn-details{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;font-weight:700;transition:background .18s ease,border-color .18s ease,transform .18s ease}.btn-details:hover{transform:translateY(-1px);background:#ffffff24;border-color:#ffffff47}.btn-details.btn-secondary{background:#10b9812e}.btn-details.btn-secondary:hover{background:#10b98142}.filter-date select,.search-input,.sort-select{border:1px solid var(--hr-border);background:var(--hr-surface-strong);color:var(--hr-text)}.dashboard-hero .filter-date select{border-color:#ffffff29;background:#ffffff1a;color:#fff}.filter-date option{color:var(--hr-text)}.filter-date select:focus,.search-input:focus,.sort-select:focus{outline:none;border-color:#0284c76b;box-shadow:0 0 0 4px #0284c71f}.hero-highlight-card,.summary-card,.dashboard-panel,.table-section{background:var(--hr-surface);border:1px solid var(--hr-border);border-radius:22px;box-shadow:0 10px 24px #0f172a0d}.dashboard-hero .hero-highlight-card{background:#ffffff14;border-color:#ffffff1f;color:#fff;box-shadow:none}.hero-highlight-card{padding:18px 18px 16px}.hero-focus-label,.section-kicker,.summary-card-label,.snapshot-label,.breakdown-label,.summary-pill{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-focus-label{display:block;margin-bottom:8px;color:#ffffffb8}.hero-highlight-card strong{display:block;margin-bottom:8px;font-size:24px;line-height:1.1}.hero-highlight-card p{margin:0;font-size:13px;line-height:1.6;color:#ffffffd6}.hero-highlight-meta{margin-top:14px}.hero-highlight-meta span{padding:8px 10px;border-radius:999px;background:#ffffff14;font-size:12px;font-weight:700}.summary-grid,.dashboard-main-grid,.dashboard-secondary-grid{display:grid;gap:16px;margin-bottom:18px}.summary-grid,.personal-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.92fr)}.personal-main-grid,.dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{display:flex;align-items:flex-start;gap:14px;width:100%;padding:18px;text-align:left}.summary-card.primary{background:linear-gradient(135deg,#17324d,#214b67);border-color:transparent;color:#fff}.summary-card.danger{background:linear-gradient(180deg,#fff5f5,#fff);border-color:#ef444429}.summary-card-action{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.summary-card-action:hover{transform:translateY(-2px);border-color:#0284c742;box-shadow:0 14px 28px #0f172a14}.summary-card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#0284c71a;color:var(--hr-cyan);flex-shrink:0}.summary-card.primary .summary-card-icon{background:#ffffff24;color:#fff}.summary-card.danger .summary-card-icon{background:#ef44441a;color:var(--hr-rose)}.summary-card-content{display:flex;flex:1;flex-direction:column;gap:6px}.summary-card-label{color:var(--hr-soft)}.summary-card.primary .summary-card-label{color:#ffffffad}.summary-card-value{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.03em}.summary-card-note{font-size:12px;color:var(--hr-muted)}.summary-card.primary .summary-card-note{color:#ffffffd1}.dashboard-panel{padding:22px}.panel-heading,.table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-heading{margin-bottom:16px}.section-kicker{display:inline-block;margin-bottom:6px;color:#617386}.panel-heading h3,.table-header h3{margin:0;font-size:20px;line-height:1.2}.panel-note{padding:8px 12px;border-radius:999px;background:#0284c71a;color:#0c5f86;font-size:12px;font-weight:700}.panel-intro,.panel-empty,.safe-message,.table-empty{margin:0;font-size:14px;line-height:1.65}.panel-intro{margin-bottom:16px;color:var(--hr-muted)}.panel-empty,.table-empty{padding:22px;text-align:center;color:var(--hr-soft)}.safe-message{padding:18px;border-radius:16px;background:#10b98114;color:#047857}.action-list,.priority-list,.leaderboard-list,.snapshot-list,.personal-breakdown{display:flex;flex-direction:column;gap:12px}.quick-action-tile,.priority-item,.leaderboard-item{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border-radius:18px;border:1px solid rgba(148,163,184,.14);background:#fff;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.quick-action-tile:hover,.priority-item:hover,.leaderboard-item:hover{transform:translateY(-1px);border-color:#0284c73d;box-shadow:0 10px 20px #0f172a0f}.quick-action-icon,.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;flex-shrink:0}.quick-action-icon{background:#0284c71a;color:var(--hr-cyan)}.quick-action-content,.priority-main,.leaderboard-main,.snapshot-copy,.breakdown-copy{display:flex;flex:1;flex-direction:column}.quick-action-content strong,.priority-name,.leaderboard-name,.staff-name{font-size:14px;font-weight:700;color:var(--hr-text)}.quick-action-content span,.priority-role,.leaderboard-role,.snapshot-note,.breakdown-note,.staff-role,.progress-text{font-size:12px;color:var(--hr-muted)}.quick-action-content span{margin-top:4px;line-height:1.55}.quick-action-arrow{display:inline-flex;align-items:center;justify-content:center;color:#64809a}.priority-item{justify-content:space-between;background:linear-gradient(180deg,#fff8f8,#fffefe);border-left:4px solid rgba(239,68,68,.34)}.priority-main{gap:3px}.priority-name{color:#8f1827}.priority-role{color:#9a6b1f}.priority-badges,.warning-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.badge,.warn-badge,.status-tag,.summary-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800}.badge{padding:6px 10px;font-size:11px}.badge-r,.warn-r{background:#fee2e2;color:#dc2626}.badge-y,.warn-y{background:#fef3c7;color:#d97706}.badge-w{background:#dbeafe;color:#1d4ed8}.leaderboard-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center}.leaderboard-rank{background:#f59e0b1f;color:#a16207;font-size:12px;font-weight:800}.leaderboard-main{gap:3px}.leaderboard-meta{display:flex;flex-direction:column;gap:4px;min-width:120px}.leaderboard-meta span{font-size:12px;color:var(--hr-muted)}.snapshot-row,.breakdown-item{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:16px;align-items:center;padding:16px;border-radius:18px;background:#f8fafce6;border:1px solid rgba(148,163,184,.14)}.snapshot-copy,.breakdown-copy{gap:5px}.snapshot-label,.breakdown-label{color:var(--hr-soft)}.snapshot-value,.breakdown-value{font-size:24px;font-weight:800;line-height:1.05;letter-spacing:-.02em}.performance-score{display:flex;flex-direction:column;gap:4px;min-width:86px}.score-value{font-size:24px;font-weight:800;line-height:1}.score-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.mini-bar-chart,.progress-bar-container{width:100%;height:8px;border-radius:999px;background:#94a3b82e;overflow:hidden}.mini-bar-fill,.progress-bar-fill{height:100%;border-radius:inherit}.table-section{overflow:hidden}.table-header{padding:22px 24px 14px}.search-input{width:240px}.table-summary{padding:0 24px 18px}.summary-pill{padding:8px 12px;background:#0284c714;color:#0c5f86}.performance-table{overflow-x:auto}.table-head,.table-row{display:grid;grid-template-columns:54px 1.55fr 118px 1.45fr 120px 100px 130px;gap:12px;align-items:center;min-width:860px;padding-left:24px;padding-right:24px}.table-head{padding-top:12px;padding-bottom:12px;border-top:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12);background:#f7fafc;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hr-soft)}.table-row{padding-top:16px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.1);transition:background .15s ease}.table-row:hover{background:#f8fbfd}.table-row:last-child{border-bottom:none}.col-rank{font-weight:800;color:var(--hr-soft)}.col-name,.ot-display,.warning-badges{display:flex;flex-direction:column;gap:5px}.col-score{display:flex;justify-content:center}.work-progress{width:100%}.ot-hours{font-size:14px;font-weight:700}.warn-badge{min-width:28px;height:24px;font-size:11px}.status-tag{padding:7px 11px;font-size:11px;white-space:nowrap}.status-excellent{background:#10b9811f;color:#15803d}.status-good{background:#2563eb1f;color:#1d4ed8}.status-average{background:#f59e0b24;color:#b45309}.status-poor{background:#ef444424;color:#b91c1c}@media (max-width: 1360px){.summary-grid,.personal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid,.dashboard-secondary-grid,.personal-main-grid{grid-template-columns:1fr}}@media (max-width: 1080px){.dashboard-hero{grid-template-columns:1fr}.dashboard-header-actions,.filter-date{justify-content:flex-start}.leaderboard-item{grid-template-columns:44px minmax(0,1fr) auto;row-gap:10px}.leaderboard-meta{grid-column:2 / 4;flex-direction:row;flex-wrap:wrap;min-width:0}}@media (max-width: 860px){.hr-dashboard{padding:16px}.dashboard-hero,.dashboard-panel{padding:20px}.dashboard-hero h1{font-size:30px}.summary-grid,.personal-summary-grid{grid-template-columns:1fr}.table-header{flex-direction:column;align-items:stretch}.table-controls{flex-direction:column}.search-input{width:100%}}@media (max-width: 640px){.dashboard-hero{padding:18px;border-radius:24px}.dashboard-header-actions,.filter-date,.hero-tags,.table-summary{flex-direction:column}.btn-details,.filter-date select,.hero-tag{width:100%}.summary-card,.quick-action-tile,.priority-item{flex-direction:column;align-items:flex-start}.priority-badges,.warning-badges{justify-content:flex-start}.leaderboard-item{grid-template-columns:1fr}.leaderboard-meta{grid-column:auto}.snapshot-row,.breakdown-item{grid-template-columns:1fr}}.expenses-page{padding:20px;display:flex;flex-direction:column;gap:18px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-header h1{margin:0;font-size:28px;color:#0f172a}.page-subtitle{margin:6px 0 0;color:#64748b;max-width:720px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.stats-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.stats-period{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stats-period span,.stats-hint{color:#475569;font-size:14px}.stats-period-controls{display:flex;gap:10px;flex-wrap:wrap}.stats-period-controls select{padding:9px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.stat-card{background:#fff;padding:18px;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 12px 24px #0f172a0d}.stat-label{font-size:13px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:24px;font-weight:700;color:#0f766e}.filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(150px,1fr)) repeat(2,minmax(150px,.9fr)) auto auto;gap:10px;align-items:center}.filters select,.filters input[type=date],.filter-search{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-sizing:border-box}.filter-search{min-width:220px}.linked-checkbox{display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:14px;white-space:nowrap}.filter-reset-btn{white-space:nowrap}.list-summary-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.list-summary-bar strong{color:#0f172a}.expenses-list{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:auto}.data-table{width:100%;min-width:1180px;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}.data-table th{background:#f8fafc;font-weight:700;color:#475569;position:sticky;top:0;z-index:1}.expense-link-cell{display:flex;flex-direction:column;gap:4px}.expense-meta-text,.muted-text{color:#64748b;font-size:12px}.amount{font-weight:700;color:#15803d}.status-badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.pending{background:#fff7ed;color:#ea580c}.status-badge.approved{background:#ecfdf5;color:#15803d}.status-badge.rejected{background:#fef2f2;color:#dc2626}.btn-primary,.btn-secondary,.table-actions button{padding:9px 14px;border-radius:10px;cursor:pointer;font-weight:600;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.btn-secondary{background:#fff;color:#1f2937;border-color:#cbd5e1}.btn-secondary:hover,.table-actions button:hover{background:#f8fafc}.btn-danger{color:#dc2626!important}.inline-link-button{border:none;background:transparent;color:#0f766e;padding:0;cursor:pointer;font-weight:700;text-align:left}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.table-actions button{background:#fff;border-color:#cbd5e1;padding:7px 12px}.loading,.empty{display:flex;align-items:center;justify-content:center;padding:48px;color:#94a3b8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:460px;box-shadow:0 24px 48px #0f172a2e}.expense-modal{max-width:560px}.modal h2{margin:0 0 20px;color:#0f172a}.approval-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#334155}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #dbe4ef;border-radius:10px;box-sizing:border-box}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-actions button{padding:10px 16px;border:1px solid #dbe4ef;border-radius:10px;cursor:pointer;background:#fff}.modal-actions .btn-primary{border:none}@media (max-width: 1100px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.expenses-page{padding:16px}.page-header{flex-direction:column}.page-actions,.filters,.stats-period-controls{width:100%}.filters{grid-template-columns:1fr}.page-actions button,.filter-reset-btn{width:100%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.work-reports-page{padding:var(--space-6)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header-main{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0}.work-reports-header{align-items:flex-start;padding:var(--space-5);border:1px solid rgba(59,130,246,.08);border-radius:22px;background:radial-gradient(circle at top left,rgba(59,130,246,.1),transparent 30%),linear-gradient(180deg,#fffffff5,#f8fafcf5);box-shadow:0 18px 48px #0f172a0f}.work-reports-header-main{align-items:flex-start}.work-reports-title-block{display:flex;flex-direction:column;gap:6px}.work-reports-back-button{display:inline-flex;align-items:center;align-self:flex-start}.work-reports-header-actions{flex:1;justify-content:space-between;align-items:flex-start}.work-reports-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;flex-wrap:wrap}.work-reports-filter-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 720px;flex-wrap:wrap}.work-reports-filter-toolbar .report-period-tabs{margin-bottom:0;flex-wrap:wrap;justify-content:flex-end}.work-reports-filter-toolbar .report-period-tab{min-height:36px;padding:0 14px;margin:0;border-radius:999px;box-shadow:none}.work-reports-filter-toolbar .report-period-tab strong{min-width:22px;height:22px;font-size:11px}.work-reports-filter-search,.work-reports-filter-date,.work-reports-filter-select,.work-reports-filter-reset{min-height:36px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffeb;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.work-reports-filter-search,.work-reports-filter-date{display:inline-flex;align-items:center;gap:8px;padding:0 12px}.work-reports-filter-search{min-width:min(100%,240px);box-shadow:0 8px 14px #0f172a0a}.work-reports-filter-search:focus-within,.work-reports-filter-date:focus-within,.work-reports-filter-select:focus,.work-reports-filter-reset:hover{border-color:#2563eb47;box-shadow:0 0 0 4px #3b82f614}.work-reports-filter-search-icon{color:var(--text-muted);font-size:14px}.work-reports-filter-search input,.work-reports-filter-date input{border:none;background:transparent;padding:0;font-size:13px;color:var(--text-primary)}.work-reports-filter-search input{width:100%;min-width:0}.work-reports-filter-date input{min-width:120px}.work-reports-filter-search input:focus,.work-reports-filter-date input:focus{outline:none;box-shadow:none}.work-reports-filter-search input::placeholder{color:var(--text-muted)}.work-reports-filter-search-clear{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#e2e8f0e6;color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.work-reports-filter-search-clear:hover{background:#3b82f61f;color:#1d4ed8;transform:scale(1.04)}.work-reports-filter-select{padding:0 34px 0 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:150px;color:var(--text-primary);font-weight:600;background:#ffffffeb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center}.work-reports-filter-select:focus{outline:none}.work-reports-filter-date span{color:var(--text-muted);font-size:12px;font-weight:700;white-space:nowrap}.work-reports-filter-reset{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;cursor:pointer;color:var(--text-primary);font-weight:700}.work-reports-title-block p{margin:0;max-width:640px;color:var(--text-secondary);line-height:1.6}.reports-overview{margin-bottom:var(--space-5);padding:var(--space-5);border:1px solid rgba(226,232,240,.9);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f7fafcf0);box-shadow:0 14px 36px #0f172a0d}.report-period-tabs{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.report-period-tab{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:999px;background:#eef2ff;color:#475569;font-size:13px;font-weight:600;transition:all .2s ease}.report-period-tab strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:#ffffffeb;color:#2563eb;font-size:12px}.report-period-tab:hover{border-color:#3b82f62e;color:#1e3a8a}.report-period-tab.active{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#2563eb29;color:#1d4ed8;box-shadow:inset 0 -2px #2563eb}.report-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}.report-stat-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid rgba(226,232,240,.95);border-radius:18px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.report-stat-icon{width:42px;height:42px;border-radius:14px;flex-shrink:0}.report-stat-content{display:flex;flex-direction:column;gap:4px}.report-stat-content strong{font-size:30px;line-height:1}.report-stat-content span{color:var(--text-secondary);font-size:13px}.report-stat-card.total .report-stat-icon{background:linear-gradient(135deg,#3b82f62e,#60a5fa14)}.report-stat-card.total .report-stat-content strong{color:#2563eb}.report-stat-card.approved .report-stat-icon{background:linear-gradient(135deg,#10b9812e,#bbf7d01f)}.report-stat-card.approved .report-stat-content strong{color:#059669}.report-stat-card.submitted .report-stat-icon{background:linear-gradient(135deg,#f973162e,#fed7aa1f)}.report-stat-card.submitted .report-stat-content strong{color:#ea580c}.report-stat-card.active .report-stat-icon{background:linear-gradient(135deg,#0ea5e92e,#bae6fd1f)}.report-stat-card.active .report-stat-content strong{color:#0284c7}.report-stat-card.rejected .report-stat-icon{background:linear-gradient(135deg,#ef44442e,#fecaca1f)}.report-stat-card.rejected .report-stat-content strong{color:#dc2626}.reports-toolbar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid rgba(226,232,240,.9);border-radius:20px;background:#fffffff0;box-shadow:0 12px 30px #0f172a0a}.reports-toolbar-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.reports-toolbar-row-main>*{flex:0 0 auto}.reports-search-box{display:flex;align-items:center;gap:10px;min-width:300px;max-width:420px;padding:0 16px;border:1px solid var(--border);border-radius:14px;background:#fff}.reports-search-box .filter-search{flex:1;min-width:0;max-width:none;height:46px;padding:0;border:none;background:transparent;box-shadow:none}.reports-search-box .filter-search:focus{box-shadow:none}.reports-search-icon{color:#94a3b8;font-size:17px;line-height:1}.reports-date-group{gap:10px;padding:0 14px;min-height:44px;border:1px solid var(--border);border-radius:14px;background:#fff}.reports-date-group label{font-size:12px;color:var(--text-secondary)}.reports-date-group input{border:none;background:transparent;padding:0;min-width:132px}.reports-date-group input:focus{box-shadow:none}.reports-toolbar .btn-clear-filter{height:44px;padding:0 18px;border-radius:14px}.reports-table-shell{margin-top:var(--space-5);border:1px solid rgba(226,232,240,.9);border-radius:22px;background:#fffffffa;box-shadow:0 16px 40px #0f172a0d;overflow:hidden}.reports-table-scroll{overflow-x:auto}.reports-panel-dock{display:flex;justify-content:flex-end;gap:10px;margin-bottom:var(--space-4);flex-wrap:wrap}.reports-panel-visibility-btn,.reports-panel-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#fffffff0;color:var(--text-primary);font-size:12px;font-weight:700;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.reports-panel-visibility-btn:hover,.reports-panel-toggle-btn:hover{transform:translateY(-1px);border-color:#2563eb3d;box-shadow:0 12px 24px #0f172a0f}.reports-panel-visibility-btn.active{background:linear-gradient(135deg,#dbeafee6,#eff6fff5);color:#1d4ed8;border-color:#3b82f638}.reports-panel-visibility-dot{width:8px;height:8px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px #94a3b824}.reports-panel-visibility-btn.active .reports-panel-visibility-dot{background:#2563eb;box-shadow:0 0 0 4px #3b82f624}.reports-list-layout{display:grid;grid-template-columns:var(--reports-list-layout-columns, minmax(0, 1fr) 320px);gap:var(--space-5);align-items:start;transition:grid-template-columns .28s ease,gap .28s ease}.reports-main-panel,.reports-detail-panel,.reports-collapsed-panel{min-width:0}.reports-surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.reports-surface-header h2{margin:4px 0 0;font-size:18px;line-height:1.2}.reports-surface-eyebrow{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.reports-panel-toggle-icon{font-size:14px;line-height:1}.reports-panel-toggle-text{white-space:nowrap}.reports-collapsed-panel{display:flex;align-items:stretch}.reports-collapsed-panel .reports-panel-toggle-btn{width:100%;min-height:100%;min-width:0;border-radius:22px;padding:18px 10px;flex-direction:column;background:linear-gradient(180deg,#fffffffa,#f8fafcf5),radial-gradient(circle at top center,rgba(59,130,246,.08),transparent 42%);box-shadow:0 16px 38px #0f172a0d}.reports-list-layout .reports-table-shell{margin-top:0}.reports-list.reports-table-shell{transition:opacity .24s ease,transform .24s ease,box-shadow .24s ease}.reports-detail-panel{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid rgba(226,232,240,.9);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f8fafcf5),radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 40%);box-shadow:0 16px 38px #0f172a0d}.reports-detail-panel-header{display:flex;justify-content:flex-end}.reports-detail-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 12px;border-radius:999px;background:#dbeafee6;color:#1d4ed8;font-size:13px;font-weight:800}.reports-detail-panel-list{display:flex;flex-direction:column;gap:10px}.reports-detail-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid rgba(226,232,240,.96);border-radius:16px;background:#fffffff5;box-shadow:0 8px 18px #0f172a0a}.reports-detail-card-value{min-width:76px;display:flex;flex-direction:column;gap:2px;align-items:flex-start}.reports-detail-card-value strong{font-size:24px;line-height:1;font-weight:800}.reports-detail-card-value span{font-size:11px;line-height:1.3;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.reports-detail-card-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.reports-detail-card-copy strong{font-size:13px;color:#0f172a;line-height:1.35}.reports-detail-card-copy span{color:#64748b;font-size:11px;line-height:1.45}.reports-detail-card.total .reports-detail-card-value strong{color:#2563eb}.reports-detail-card.approved .reports-detail-card-value strong{color:#059669}.reports-detail-card.submitted .reports-detail-card-value strong{color:#ea580c}.reports-detail-card.rejected .reports-detail-card-value strong{color:#dc2626}.reports-detail-card.active .reports-detail-card-value strong{color:#0284c7}.reports-detail-card-value.compact{min-width:88px}.reports-detail-card-value.compact strong{font-size:20px;line-height:1.1;word-break:break-word}.reports-operations-table{min-width:1220px}.reports-operations-table th{padding-top:18px;padding-bottom:18px;background:#f8fafc}.reports-operations-table td{vertical-align:top}.report-row td{background:#fff;transition:background .2s ease}.report-row:hover td{background:#f8fbff}.report-row-report-submitted td,.report-row-submitted td{background:linear-gradient(180deg,#fff7edb3,#fffffffa)}.report-row-report-rejected td,.report-row-rejected td{background:linear-gradient(180deg,#fef2f2c7,#fffffffa)}.report-row-report-approved td,.report-row-approved td{background:linear-gradient(180deg,#f0fdf499,#fffffffa)}.report-row-sample td{background:linear-gradient(180deg,#eff6ffb8,#fffffffa)}.report-code-cell,.report-engineer-cell,.report-customer-cell,.report-job-cell,.report-time-cell,.report-status-stack{display:flex;flex-direction:column;gap:6px}.report-code-cell strong,.report-engineer-cell strong,.report-customer-cell strong,.report-time-cell strong{font-size:14px;color:#0f172a}.report-code-cell span,.report-engineer-cell span,.report-customer-cell span,.report-job-cell span:last-child,.report-time-cell span,.status-hint{color:#64748b;font-size:12px;line-height:1.5}.job-badge{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.job-badge.installation{background:#2563eb1a;color:#1d4ed8}.job-badge.maintenance{background:#10b9811f;color:#059669}.job-badge.repair{background:#ef44441f;color:#dc2626}.job-badge.training{background:#f973161f;color:#ea580c}.job-badge.inspection{background:#0ea5e91f;color:#0284c7}.job-badge.other{background:#94a3b829;color:#475569}.status-badge.execution-idle{background:#e2e8f0e6;color:#475569}.status-badge.execution-pending{background:#ffedd5e6;color:#c2410c}.status-badge.execution-active{background:#dbeafee6;color:#1d4ed8}.status-badge.execution-done{background:#dcfce7f2;color:#15803d}.status-badge.execution-rejected{background:#fee2e2f2;color:#b91c1c}.report-action-group{display:flex;flex-wrap:wrap;gap:8px;min-width:180px}.filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;background:transparent;padding:0;border:none}.filter-search-group{flex:1;min-width:240px;max-width:400px}.filter-search-group input{width:100%;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:var(--surface);transition:all .2s ease}.filter-search-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.quick-date-buttons{display:flex;gap:8px}.quick-date-btn{padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:var(--surface);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.quick-date-btn.btn-today{background:var(--primary);border-color:var(--primary);color:#fff}.quick-date-btn.btn-today:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.filter-date-row{display:flex;gap:var(--space-3);align-items:center}.filter-date-group{display:flex;align-items:center;gap:8px}.filter-date-group label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);white-space:nowrap}.filter-date-group input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--surface)}.filter-date-group input:focus{outline:none;border-color:var(--primary)}.filters select{padding:10px 32px 10px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:160px;transition:all .2s ease}.filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.page-header-actions{display:flex;align-items:center;gap:var(--space-4)}.view-toggle-compact{display:flex;background:var(--border-light);border-radius:var(--radius-md);padding:2px;gap:2px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.view-toggle-btn:hover{color:var(--text-primary);background:#fff}.view-toggle-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 2px #0000001a}.view-icon{font-size:14px;line-height:1}.view-btn{padding:6px 12px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px}.view-btn:hover{color:var(--text-secondary);background:var(--border-light)}.view-btn.active{background:var(--primary);color:#fff;box-shadow:0 1px 2px #3b82f64d}.filter-label{display:none}.filters input[type=date],.filters select{height:42px;padding:0 var(--space-4);padding-right:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;transition:all .2s ease;cursor:pointer}.filters input[type=date]:hover,.filters select:hover{border-color:var(--primary-light)}.filters input[type=date]:focus,.filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.filters select option{padding:10px 14px;font-size:14px;color:var(--text-primary);background:#fff}.filters .filter-search{flex:1;min-width:200px;max-width:300px;height:42px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-primary);transition:all .2s ease}.filters .filter-search:hover{border-color:var(--primary-light)}.filters .filter-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.filters .filter-search::placeholder{color:var(--text-muted)}.filters .quick-dates{display:flex;gap:var(--space-2)}.filters .quick-date-btn{height:42px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filters .quick-date-btn:hover{background:var(--primary-10);border-color:var(--primary);color:var(--primary)}.filters .quick-date-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filters .view-toggle{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.filters .view-toggle-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.filters .view-toggle-switch{position:relative;width:100px;height:42px;background:var(--border-light);border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;padding:4px;transition:all .2s ease}.filters .view-toggle-switch.active{background:var(--primary-10);border-color:var(--primary)}.filters .view-toggle-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);transition:all .2s ease}.filters .view-toggle-switch.list-mode .view-toggle-option.list,.filters .view-toggle-switch.kanban-mode .view-toggle-option.kanban{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.filters .view-toggle-icon{font-size:14px}.filters .btn-clear-filter{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filters .btn-clear-filter:hover{background:var(--error-10);border-color:var(--error);color:var(--error)}.quick-date-btns{display:flex;gap:6px;margin-bottom:var(--space-3)}.quick-date-btn{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.quick-date-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-10)}.view-toggle{display:flex;gap:4px;background:var(--border-light);padding:4px;border-radius:var(--radius-md);margin-left:auto}.view-btn{padding:8px 14px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.view-btn:hover{color:var(--text-primary)}.view-btn.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.filter-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.filter-search input{border:none;outline:none;font-size:var(--font-size-sm);color:var(--text-primary);flex:1;min-width:180px}.filter-search input::placeholder{color:var(--text-muted)}.filter-search-icon{color:var(--text-muted);font-size:16px}.kanban-container{margin-top:var(--space-4)}.kanban-board{display:flex;gap:var(--space-3);overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-3);min-height:500px}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-track{background:var(--surface);border-radius:var(--radius-md)}.kanban-board::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-md)}.kanban-board::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.kanban-column{flex:0 0 280px;min-width:280px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;max-height:calc(100vh - 280px)}.kanban-column.draft .kanban-header,.kanban-column.draft .kanban-column-header{background:#eff6ff}.kanban-column.submitted .kanban-header,.kanban-column.submitted .kanban-column-header{background:#fff7ed}.kanban-column.approved .kanban-header,.kanban-column.approved .kanban-column-header{background:#f0fdf4}.kanban-column.rejected .kanban-header,.kanban-column.rejected .kanban-column-header{background:#fef2f2}.kanban-header,.kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kanban-status-dot{width:8px;height:8px;border-radius:50%;margin-right:8px}.kanban-column.draft .kanban-status-dot{background:#3b82f6}.kanban-column.submitted .kanban-status-dot{background:#f97316}.kanban-column.approved .kanban-status-dot{background:#22c55e}.kanban-column.rejected .kanban-status-dot{background:#ef4444}.kanban-status-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;flex:1}.kanban-column.draft .kanban-status-label{color:#3b82f6}.kanban-column.submitted .kanban-status-label{color:#f97316}.kanban-column.approved .kanban-status-label{color:#22c55e}.kanban-column.rejected .kanban-status-label{color:#ef4444}.kanban-header .status-badge{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.kanban-column.draft .status-badge{color:#3b82f6}.kanban-column.submitted .status-badge{color:#f97316}.kanban-column.approved .status-badge{color:#22c55e}.kanban-column.rejected .status-badge{color:#ef4444}.kanban-count{background:#00000014;color:var(--text-secondary);padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.kanban-cards{flex:1;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;background:#fafafa}.kanban-cards::-webkit-scrollbar{width:6px}.kanban-cards::-webkit-scrollbar-track{background:transparent}.kanban-cards::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}.kanban-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:all .2s ease;position:relative}.kanban-card.is-sample{background:linear-gradient(180deg,#eff6ffdb,#fffffffa);cursor:default}.kanban-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.kanban-card.is-sample:hover{border-color:var(--border-light);box-shadow:none;transform:none}.kanban-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.kanban-card-date{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.kanban-card-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.01em;white-space:nowrap}.kanban-card-badge.installation{color:#7c3aed;background:#8b5cf61a}.kanban-card-badge.maintenance{color:#059669;background:#0596691a}.kanban-card-badge.repair{color:#dc2626;background:#dc26261a}.kanban-card-badge.training{color:#d97706;background:#d977061a}.kanban-card-badge.inspection{color:#2563eb;background:#2563eb1a}.kanban-card-badge.other{color:#6b7280;background:#6b72801a}.kanban-card-actions{display:flex;flex-direction:column;gap:4px;opacity:.4;transition:opacity .2s}.kanban-card:hover .kanban-card-actions{opacity:1}.kanban-card-action-icon{font-size:10px;color:var(--text-muted);line-height:1}.kanban-card-customer{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-2);line-height:1.3}.kanban-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}.kanban-card-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:3px 8px;border-radius:var(--radius-sm)}.kanban-column.draft .kanban-card-type{color:#3b82f6;background:#eff6ff}.kanban-column.submitted .kanban-card-type{color:#f97316;background:#fff7ed}.kanban-column.approved .kanban-card-type{color:#22c55e;background:#f0fdf4}.kanban-column.rejected .kanban-card-type{color:#ef4444;background:#fef2f2}.kanban-card-engineer{font-size:var(--font-size-xs);color:var(--text-secondary);display:flex;align-items:center;gap:4px}.kanban-card-engineer:before{content:"👤";font-size:10px}.kanban-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-6)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--border-light)}.data-table th{background:#f8fafc;font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.data-table tr:hover td{background:var(--background)}.data-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500}.status-badge.draft{background:var(--border-light);color:var(--text-secondary)}.status-badge.submitted{background:#f59e0b1a;color:#d97706}.status-badge.approved{background:var(--success-10);color:var(--success)}.status-badge.rejected{background:var(--error-10);color:var(--error)}.data-table .btn{padding:6px 12px;font-size:var(--font-size-xs);margin-right:4px}.data-table .btn:last-child{margin-right:0}.loading,.empty{display:flex;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-muted);font-size:var(--font-size-base)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--surface);border-radius:var(--radius-xl);width:95%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-xl);animation:slideUp .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-4)}.modal-inner{flex:1;overflow-y:auto;scrollbar-width:thin;padding:var(--space-5);padding-right:var(--space-3);margin:0}.modal-inner::-webkit-scrollbar{width:6px}.modal-inner::-webkit-scrollbar-track{background:transparent}.modal-inner::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal-inner::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.modal-close-btn{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;border:none;background:var(--border-light);border-radius:var(--radius-md);font-size:18px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:#fee2e2;color:#dc2626}.form-section{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-light)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2)}.form-group label .required{color:var(--error);margin-left:2px}.form-group input,.form-group select,.form-group textarea{height:42px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-primary);transition:all .2s ease}.form-group textarea{height:auto;min-height:80px;padding:var(--space-3) var(--space-4);resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group.full-width{grid-column:1 / -1}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.work-type-checkboxes{display:flex;gap:var(--space-5);margin-top:var(--space-2)}.work-type-checkboxes label{display:flex;align-items:center;gap:var(--space-2);font-weight:400;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary)}.work-type-checkboxes input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.parts-table{width:100%;border-collapse:collapse;margin-top:var(--space-2)}.parts-table th,.parts-table td{padding:var(--space-3);border:1px solid var(--border);text-align:left}.parts-table th{background:#f8fafc;font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.parts-table input,.parts-table select{height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-sizing:border-box}.parts-table input:focus,.parts-table select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-10)}.expense-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.expense-section-caption{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.btn-expense-add{flex-shrink:0}.expense-row-list{display:flex;flex-direction:column;gap:var(--space-3)}.expense-inline-row{display:grid;grid-template-columns:1.1fr .8fr .9fr 1.6fr auto;gap:var(--space-3);align-items:end;padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:#f8fafc}.expense-row-actions{display:flex;align-items:center;justify-content:flex-end;min-height:42px}.btn-expense-remove{border:1px solid var(--border);background:#fff;color:var(--text-secondary)}.btn-expense-remove:hover{border-color:#dc2626;color:#dc2626}.expense-summary-strip{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0ea5e914,#10b98114);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-light)}.modal-actions button{height:42px;padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;cursor:pointer}.modal-actions button[type=button]{background:#fff;border:1px solid var(--border);color:var(--text-secondary)}.modal-actions button[type=button]:hover{background:var(--border-light);border-color:var(--text-muted)}.modal-actions .btn-primary{background:var(--primary);border:none;color:#fff;box-shadow:0 2px 4px #3b82f633}.modal-actions .btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 8px #3b82f64d}@media (max-width: 768px){.work-reports-page{padding:var(--space-4)}.filters{flex-direction:column}.filters input,.filters select{width:100%}.form-row{grid-template-columns:1fr}.work-type-checkboxes{flex-direction:column;gap:var(--space-3)}.expense-section-header,.expense-summary-strip{flex-direction:column;align-items:flex-start}.expense-inline-row{grid-template-columns:1fr}.expense-row-actions{justify-content:flex-start}.modal{width:100%;max-width:100%;margin:var(--space-3);padding:var(--space-4)}}.confirm-dialog{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-xl);animation:slideUp .3s ease;position:relative;z-index:1001}.confirm-dialog+.modal-overlay,.modal-overlay:has(.confirm-dialog){z-index:1000}.confirm-icon{font-size:48px;margin-bottom:var(--space-4)}.confirm-dialog h3{margin:0 0 var(--space-3);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.confirm-dialog p{margin:0 0 var(--space-5);color:var(--text-secondary);line-height:1.5}.confirm-actions{display:flex;gap:var(--space-3);justify-content:center}.confirm-actions button{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.confirm-actions .btn-cancel{background:var(--border-light);color:var(--text-primary)}.confirm-actions .btn-cancel:hover{background:var(--border)}.confirm-actions .btn-confirm{background:var(--primary);color:#fff}.confirm-actions .btn-confirm:hover{background:var(--primary-dark)}.page-tabs{display:flex;gap:4px;background:var(--border-light);padding:4px;border-radius:var(--radius-md)}.page-tab{padding:8px 16px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.page-tab:hover{color:var(--text-primary);background:#fff}.page-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 2px #00000014}.tab-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.btn-assign{padding:8px 16px;border:1px solid #8b5cf6;border-radius:var(--radius-md);background:#8b5cf614;color:#7c3aed;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-assign:hover{background:#8b5cf626;border-color:#7c3aed}.btn-assign-sm{padding:4px 10px;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary-10);color:var(--primary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-assign-sm:hover{background:var(--primary);color:#fff}.kanban-card-actions{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-light)}.my-tasks-section{margin-top:var(--space-4)}.task-filters{margin-bottom:var(--space-4)}.task-filters select{height:42px;padding:0 var(--space-4);padding-right:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;cursor:pointer}.task-filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.task-list{display:flex;flex-direction:column;gap:var(--space-3)}.task-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);transition:all .2s ease}.task-card:hover{box-shadow:0 4px 12px #0000000f}.task-card.pending{border-left:4px solid #f97316}.task-card.accepted{border-left:4px solid #22c55e}.task-card.rejected{border-left:4px solid #ef4444}.task-card.completed{border-left:4px solid #6b7280}.task-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.task-status-badge{font-size:var(--font-size-sm);font-weight:600}.task-date{font-size:var(--font-size-xs);color:var(--text-muted)}.task-card-body{display:flex;flex-direction:column;gap:var(--space-2)}.task-customer{font-weight:600;font-size:var(--font-size-base);color:var(--text-primary)}.task-engineer,.task-assigned-by{font-size:var(--font-size-sm);color:var(--text-secondary)}.task-note{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-sm);margin-top:var(--space-1)}.task-card-actions{display:flex;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-light)}.btn-accept{padding:8px 16px;border:none;border-radius:var(--radius-md);background:#22c55e;color:#fff;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-accept:hover{background:#16a34a}.btn-reject{padding:8px 16px;border:1px solid #ef4444;border-radius:var(--radius-md);background:transparent;color:#ef4444;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-reject:hover{background:#fef2f2}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;transition:all .2s ease;background:var(--surface)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary);background:var(--primary-10)}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.upload-icon{font-size:32px;margin-bottom:var(--space-2)}.upload-zone-content p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.upload-link{color:var(--primary);font-weight:500;text-decoration:underline;cursor:pointer}.upload-hint{font-size:var(--font-size-xs)!important;color:var(--text-muted)!important}.existing-attachments,.pending-uploads{margin-bottom:var(--space-4)}.attachments-label,.pending-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-3)}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.attachment-item{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-light);background:var(--surface);transition:all .2s ease}.attachment-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.attachment-item.pending{border-style:dashed;border-color:var(--primary);background:var(--primary-10)}.attachment-item.pending:hover{border-color:#7c3aed;box-shadow:0 2px 8px #8b5cf633}.attachment-thumb{width:100%;height:100px;object-fit:cover;display:block;cursor:pointer}.attachment-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4) var(--space-2);font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center;min-height:80px;word-break:break-word;cursor:pointer;text-decoration:none}.attachment-doc:hover{color:var(--primary)}.attachment-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;line-height:1}.attachment-item:hover .attachment-remove{opacity:1}.attachment-remove:hover{background:#ef4444e6}.assign-info{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.assign-info p{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.assign-info p:last-child{margin-bottom:0}.assign-info strong{color:var(--text-primary)}.modal-actions .btn-secondary{background:#fff;border:1px solid var(--border);color:var(--text-secondary)}.modal-actions .btn-secondary:hover{background:var(--border-light);border-color:var(--text-muted)}.btn-danger-sm{background:#dc2626;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-danger-sm:hover{background:#b91c1c}.btn-danger-outline-sm{background:transparent;color:#dc2626;border:1px solid #DC2626;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-danger-outline-sm:hover{background:#fef2f2}.upload-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--primary-10);border:1px solid var(--primary);border-radius:var(--radius-md);color:var(--primary);font-size:var(--font-size-sm);font-weight:500}.upload-loading .spinner{width:16px;height:16px;border:2px solid var(--primary-30);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-error{padding:var(--space-3);background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-md);color:#dc2626;font-size:var(--font-size-sm);margin-top:var(--space-3)}.modal-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-lg);z-index:10}.modal-loading-overlay .spinner-lg{width:32px;height:32px;border:3px solid var(--primary-30);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.modal-loading-overlay span{color:var(--primary);font-size:var(--font-size-sm);font-weight:500}.table-th{text-transform:uppercase;font-size:12px;font-weight:600}.action-group{display:flex;gap:8px}.modal-comment-tabs{max-height:90vh;display:flex;flex-direction:column}.modal-comment-tabs .modal-inner{flex:1;overflow-y:auto;padding:0}.modal-tabs{display:flex;gap:0;padding:0 20px;border-bottom:2px solid #e5e7eb;background:#f9fafb}.modal-tab-btn{padding:10px 20px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.modal-tab-btn:hover{color:#374151}.modal-tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;background:#fff}.comment-section{padding:16px 20px;border-top:1px solid #e5e7eb}.comment-filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.comment-filter-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#374151;cursor:pointer}.comment-filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.comment-list{max-height:400px;overflow-y:auto;margin-bottom:16px}.comment-loading,.comment-empty{text-align:center;color:#9ca3af;padding:32px 0;font-size:14px}.comment-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.comment-item:last-child{border-bottom:none}.comment-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.comment-avatar-sm{width:28px;height:28px;font-size:12px;background:linear-gradient(135deg,#f093fb,#f5576c)}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.comment-author{font-weight:600;font-size:13px;color:#1f2937}.comment-role{font-size:11px;color:#6b7280;background:#f3f4f6;padding:1px 6px;border-radius:4px}.comment-time{font-size:11px;color:#9ca3af;margin-left:auto}.comment-edited{font-size:11px;color:#9ca3af;font-style:italic}.comment-content{font-size:14px;color:#374151;line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;gap:8px;margin-top:6px}.comment-action-btn{background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}.comment-action-btn:hover{color:#2563eb;background:#eff6ff}.comment-action-delete:hover{color:#dc2626;background:#fef2f2}.comment-edit-form{margin-top:6px}.comment-edit-input{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;resize:vertical;font-family:inherit}.comment-edit-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.comment-edit-actions{display:flex;gap:8px;margin-top:6px;justify-content:flex-end}.comment-replies{margin-top:12px;padding-left:16px;border-left:2px solid #e5e7eb}.comment-reply{padding:8px 0;border-bottom:1px solid #f9fafb}.comment-reply:last-child{border-bottom:none}.comment-input-area{border-top:1px solid #e5e7eb;padding-top:12px}.comment-replying-to{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;margin-bottom:8px;background:#f3f4f6;padding:6px 10px;border-radius:6px}.comment-cancel-reply{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;font-size:14px;margin-left:auto}.comment-cancel-reply:hover{color:#dc2626}.comment-input-row{display:flex;gap:8px;align-items:flex-end}.comment-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:none;font-family:inherit;line-height:1.4}.comment-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.comment-send-btn{padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap;height:42px}.comment-send-btn:hover:not(:disabled){background:#1d4ed8}.comment-send-btn:disabled{background:#93c5fd;cursor:not-allowed}.action-log-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.action-log-item:last-child{border-bottom:none}.action-log-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.action-log-body{flex:1;min-width:0}.action-log-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.action-log-header strong{font-size:13px;color:#1f2937}.action-log-time{font-size:11px;color:#9ca3af;margin-left:auto}.action-log-action{font-size:13px;color:#6b7280}.action-log-diff{display:flex;flex-direction:column;gap:4px;margin-top:6px;font-size:12px}.action-log-old{color:#dc2626;text-decoration:line-through;background:#fef2f2;padding:4px 8px;border-radius:4px}.action-log-new{color:#16a34a;background:#f0fdf4;padding:4px 8px;border-radius:4px}@media (max-width: 1280px){.report-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-list-layout{grid-template-columns:minmax(0,1fr)}.reports-detail-panel{position:static}}@media (max-width: 768px){.work-reports-header,.reports-overview,.reports-detail-panel,.reports-collapsed-panel .reports-panel-toggle-btn,.reports-toolbar,.reports-table-shell{border-radius:18px}.reports-panel-dock{width:100%;justify-content:stretch}.reports-panel-visibility-btn{flex:1 1 0}.work-reports-header-main,.work-reports-header-actions,.work-reports-header-controls,.work-reports-filter-toolbar{width:100%}.work-reports-header-actions,.work-reports-header-controls,.work-reports-filter-toolbar,.work-reports-filter-toolbar .report-period-tabs{justify-content:flex-start}.work-reports-title-block h1{font-size:22px}.report-stat-grid{grid-template-columns:1fr}.report-period-tabs,.reports-toolbar-row,.page-header-actions{width:100%}.work-reports-filter-toolbar>*,.work-reports-filter-search,.work-reports-filter-date,.work-reports-filter-select,.work-reports-filter-reset{width:100%;max-width:none}.report-period-tab,.reports-toolbar-row-main>*,.reports-toolbar-row-secondary>*,.reports-search-box,.reports-date-group,.reports-toolbar select,.reports-toolbar .btn-clear-filter{width:100%;max-width:none}.reports-search-box,.reports-date-group,.work-reports-filter-search,.work-reports-filter-date{min-width:0}.reports-surface-header{flex-direction:column;align-items:stretch}.reports-panel-toggle-btn{width:100%}.reports-collapsed-panel .reports-panel-toggle-btn{min-height:84px;padding:14px 10px}.reports-date-group{justify-content:space-between}.work-reports-filter-toolbar .report-period-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.report-action-group{min-width:0}.reports-detail-card{padding:14px}.reports-detail-card-value{min-width:48px;font-size:24px}.modal-comment-tabs{max-height:95vh}.comment-filter-bar{flex-direction:column;gap:8px}.comment-list{max-height:300px}.comment-input-row{flex-direction:column}.comment-send-btn{width:100%}}.technical-dashboard{padding:var(--space-8);max-width:1400px;margin:0 auto}.technical-dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:320px;color:var(--text-secondary)}.technical-hero{display:flex;justify-content:space-between;gap:var(--space-5);align-items:flex-start;margin-bottom:var(--space-6);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid rgba(14,116,144,.12);background:radial-gradient(circle at top left,rgba(34,211,238,.18),transparent 32%),linear-gradient(135deg,#f8fdff,#eef8fb 55%,#f8fafc)}.technical-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#0f766e;margin-bottom:var(--space-2)}.technical-hero h1{margin:0;font-size:30px;line-height:1.1;color:var(--text-primary)}.technical-hero p{margin:var(--space-3) 0 0;max-width:680px;color:var(--text-secondary)}.technical-hero-actions{display:flex;gap:var(--space-3);flex-shrink:0}.technical-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.technical-kpi-card{padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.technical-card-button{width:100%;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}button.technical-card-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit}.technical-card-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.technical-card-button:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.technical-kpi-card strong{display:block;margin-top:var(--space-3);font-size:32px;line-height:1;color:var(--text-primary)}.technical-kpi-card p{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:13px}.technical-kpi-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.technical-kpi-card.accent-blue{border-top:4px solid #0284c7}.technical-kpi-card.accent-amber{border-top:4px solid #d97706}.technical-kpi-card.accent-green{border-top:4px solid #16a34a}.technical-kpi-card.accent-slate{border-top:4px solid #475569}.technical-kpi-card.accent-cyan{border-top:4px solid #0891b2}.technical-kpi-card.accent-rose{border-top:4px solid #e11d48}.technical-kpi-card.accent-violet{border-top:4px solid #7c3aed}.technical-kpi-card.accent-gold{border-top:4px solid #ca8a04}.technical-content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.technical-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);padding:var(--space-5)}.technical-panel-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.technical-panel-header h2{margin:0;font-size:18px;color:var(--text-primary)}.technical-panel-header p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.technical-status-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.technical-status-card{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff}.technical-status-card span{display:block;font-size:13px;color:var(--text-secondary)}.technical-status-card strong{display:block;margin-top:var(--space-2);font-size:24px}.technical-status-card.draft{background:#f8fafc}.technical-status-card.submitted{background:#fff7ed}.technical-status-card.approved{background:#f0fdf4}.technical-status-card.rejected{background:#fef2f2}.technical-jobtype-list{display:flex;flex-direction:column;gap:var(--space-3)}.technical-jobtype-item{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-lg);padding:var(--space-3);background:transparent}.technical-jobtype-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.technical-jobtype-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0891b2,#14b8a6)}.technical-jobtype-meta{display:flex;justify-content:space-between;gap:var(--space-3);font-size:14px;color:var(--text-secondary)}.technical-jobtype-meta strong{color:var(--text-primary)}.technical-expense-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.technical-expense-stat{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-light);background:linear-gradient(180deg,#fff,#f8fafc)}.technical-expense-stat span{display:block;color:var(--text-secondary);font-size:13px}.technical-expense-stat strong{display:block;margin-top:var(--space-2);color:var(--text-primary);font-size:24px}.technical-expense-list{display:flex;flex-direction:column;gap:var(--space-2)}.technical-expense-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;border:1px solid var(--border-light);background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);text-align:left;cursor:pointer;transition:all .2s ease}.technical-expense-item:hover{border-color:#0891b2;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.technical-expense-main,.technical-expense-meta{display:flex;flex-direction:column;gap:6px}.technical-expense-main strong,.technical-expense-meta span:first-child{color:var(--text-primary)}.technical-expense-main span{color:var(--text-secondary);font-size:13px}.technical-report-list{display:flex;flex-direction:column;gap:var(--space-2)}.technical-report-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;border:1px solid var(--border-light);background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);text-align:left;cursor:pointer;transition:all .2s ease}.technical-report-item:hover{border-color:#0891b2;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.technical-report-main,.technical-report-meta{display:flex;flex-direction:column;gap:6px}.technical-report-main strong{color:var(--text-primary);font-size:15px}.technical-report-main span,.technical-report-meta span{color:var(--text-secondary);font-size:13px}.technical-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.technical-status-pill.draft{background:#e2e8f0;color:#334155}.technical-status-pill.submitted{background:#ffedd5;color:#c2410c}.technical-status-pill.approved{background:#dcfce7;color:#166534}.technical-status-pill.rejected{background:#fee2e2;color:#b91c1c}.technical-status-pill.confirmed{background:#dbeafe;color:#1d4ed8}.technical-status-pill.in_progress{background:#ede9fe;color:#6d28d9}.technical-status-pill.pending{background:#ffedd5;color:#c2410c}.technical-status-pill.completed{background:#dcfce7;color:#166534}.technical-status-pill.cancelled{background:#f1f5f9;color:#475569}.technical-link-btn{border:none;background:transparent;color:#0891b2;font-weight:600;cursor:pointer}.technical-empty-state{padding:var(--space-6);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);font-size:14px}.technical-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#0f172a6b}.technical-modal{width:min(820px,100%);max-height:min(82vh,920px);overflow:auto;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-xl);background:#fff;box-shadow:0 24px 60px #0f172a38}.technical-modal-header{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border)}.technical-modal-header h2{margin:0;font-size:20px;color:var(--text-primary)}.technical-modal-header p{margin:6px 0 0;color:var(--text-muted);font-size:14px}.technical-modal-close{width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:#fff;cursor:pointer;font-size:24px;line-height:1;color:var(--text-primary)}.technical-detail-list{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.technical-detail-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;border:1px solid var(--border-light);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:var(--radius-lg);padding:var(--space-4);text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.technical-detail-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:#0891b2}.technical-detail-main,.technical-detail-meta{display:flex;flex-direction:column;gap:6px}.technical-detail-main strong{color:var(--text-primary);font-size:15px}.technical-detail-main span,.technical-detail-meta span:first-child{color:var(--text-secondary);font-size:13px}.technical-reminder-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.technical-reminder-pill.urgent{background:#fee2e2;color:#b91c1c}.technical-reminder-pill.soon{background:#fef3c7;color:#92400e}.technical-reminder-pill.planned{background:#e0f2fe;color:#0369a1}@media (max-width: 1100px){.technical-content-grid,.technical-expense-overview{grid-template-columns:1fr}}@media (max-width: 768px){.technical-dashboard{padding:var(--space-5)}.technical-hero{flex-direction:column}.technical-hero-actions{width:100%;flex-direction:column}.technical-kpi-grid,.technical-status-list{grid-template-columns:1fr}.technical-report-item,.technical-expense-item,.technical-detail-item,.technical-modal-header{flex-direction:column;align-items:flex-start}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s ease;z-index:100}.sidebar-header{padding:var(--space-5);border-bottom:1px solid var(--border)}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:700;color:#fff;box-shadow:0 2px 8px #3b82f64d}.logo-text{display:flex;flex-direction:column}.logo-text-main{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.logo-text-sub{font-size:var(--font-size-xs);color:var(--text-muted)}.role-switcher{display:flex;margin:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border-light);padding:3px;gap:2px}.role-btn{flex:1;padding:var(--space-2);font-size:var(--font-size-xs);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;background:transparent;color:var(--text-secondary)}.role-btn.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000001a}.role-btn:hover:not(.active){background:#3b82f61a;color:var(--primary)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar.collapsed .nav-group-label,.sidebar.collapsed .nav-text,.sidebar.collapsed .logo-text,.sidebar.collapsed .user-details,.sidebar.collapsed .digifact-credit{display:none}.sidebar.collapsed .sidebar-header{padding:var(--space-4) var(--space-3);justify-content:center}.sidebar.collapsed .logo{justify-content:center;min-height:40px}.sidebar.collapsed .nav-link{justify-content:center;padding:var(--space-3)}.sidebar.collapsed .nav-icon{margin:0}.sidebar.collapsed .sidebar-footer{padding:var(--space-3) var(--space-2)}.sidebar.collapsed .user-card{justify-content:center;padding:var(--space-2)}.sidebar.collapsed .sidebar-nav{display:flex;flex-direction:column;align-items:center;padding:var(--space-2)}.sidebar.collapsed .logout-btn,.sidebar.collapsed .user-card,.sidebar.collapsed .user-card-collapsed{display:none}.collapse-toggle{position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;box-shadow:var(--shadow-sm);font-size:12px;color:var(--text-secondary)}.collapse-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.sidebar-nav{flex:1;padding:var(--space-2) var(--space-3);overflow-y:auto}.sidebar-nav.collapsed{padding:var(--space-2)}.nav-group-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--space-4) var(--space-3) var(--space-2);white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-group-label{display:none}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);color:var(--text-secondary);border-radius:var(--radius-md);margin-bottom:2px;transition:all .15s ease;font-size:var(--font-size-sm);font-weight:500;text-decoration:none}.nav-link:hover{background:var(--border-light);color:var(--text-primary)}.nav-link.active{background:var(--primary-10);color:var(--primary);font-weight:600}.nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.nav-text{font-size:var(--font-size-sm);font-weight:500}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.user-card{display:flex;align-items:center;gap:var(--space-3);padding:14px 16px;border-radius:12px;background:beige;transition:all .15s ease;cursor:pointer;border:none}.user-card:hover{background:#ebead4;box-shadow:0 2px 8px #00000014}.user-avatar{width:40px;height:40px;background:#b8d4e3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#1e3a5f;font-size:16px;flex-shrink:0}.user-details{flex:1;min-width:0;display:flex;flex-direction:column}.user-name{font-size:14px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:#64748b;text-transform:none;margin-top:2px}.logout-btn{background:transparent;border:none;color:var(--text-secondary);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.logout-btn:hover{background:var(--error-10);color:var(--error)}.user-card-collapsed{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:12px;background:beige;cursor:pointer;transition:all .15s ease}.user-card-collapsed:hover{background:#ebead4;box-shadow:0 2px 8px #00000014}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.collapse-toggle{display:none}}.sale-dashboard{padding:var(--space-8);max-width:1400px;margin:0 auto}.sale-dashboard .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.sale-dashboard .page-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.page-subtitle{font-size:13px;color:var(--text-muted);margin:4px 0 0;font-weight:400}.header-actions{display:flex;gap:var(--space-3)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-bottom:var(--space-6)}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-4);transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.kpi-card-button{width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.kpi-card:hover{box-shadow:var(--shadow-md);border-color:transparent}.kpi-card-button:hover{cursor:pointer}.kpi-icon{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon svg{width:20px;height:20px}.kpi-primary .kpi-icon{background:#3b82f61a;color:var(--primary)}.kpi-primary:before{background:var(--primary)}.kpi-success .kpi-icon{background:#10b9811a;color:var(--success)}.kpi-success:before{background:var(--success)}.kpi-warning .kpi-icon{background:#f973161a;color:var(--warning)}.kpi-warning:before{background:var(--warning)}.kpi-info .kpi-icon{background:#06b6d41a;color:var(--info)}.kpi-info:before{background:var(--info)}.kpi-content{flex:1;min-width:0}.kpi-value{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.15;letter-spacing:-.5px}.kpi-label{font-size:11px;color:var(--text-muted);margin-top:5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.kpi-meta{margin-top:var(--space-2);font-size:12px;color:var(--text-secondary);line-height:1.5}.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6)}.card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-5);display:flex;align-items:center;gap:var(--space-2)}.card-title svg{width:15px;height:15px;color:var(--text-muted)}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.card-header-row .card-title{margin:0}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:transparent;cursor:pointer;transition:all .2s;color:var(--text-primary)}.quick-action-btn:hover{background:var(--primary-10);border-color:var(--primary-light);color:var(--primary)}.qa-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--border-light);transition:background .2s}.qa-icon svg{width:18px;height:18px}.quick-action-btn:hover .qa-icon{background:var(--primary-10)}.qa-label{font-size:12px;font-weight:500;text-align:center}.recent-list{display:flex;flex-direction:column;gap:2px}.recent-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background .15s;border:1px solid transparent;width:100%;background:transparent;text-align:left}.recent-item:hover{background:var(--border-light);border-color:var(--border)}.recent-item-icon{width:32px;height:32px;border-radius:var(--radius);background:var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.recent-item-icon svg{width:16px;height:16px;color:var(--text-muted)}.recent-item-main{flex:1;min-width:0}.recent-item-title{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item-sub{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.recent-item-value{font-size:12px;font-weight:600;color:var(--text-secondary)}.empty-state-small{padding:var(--space-8);text-align:center;color:var(--text-muted);font-size:13px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.2px}.badge-new{background:var(--border-light);color:#64748b}.badge-contacted{background:#3b82f61a;color:var(--primary)}.badge-qualified,.badge-decision-maker-met{background:#7c3aed1a;color:#7c3aed}.badge-proposal,.badge-trial{background:#f973161a;color:var(--warning)}.badge-won{background:#10b9811a;color:var(--success)}.badge-lost{background:#ef44441a;color:var(--error)}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-row{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sale-dashboard{padding:var(--space-5)}.sale-dashboard .page-header{flex-direction:column;gap:var(--space-4);align-items:flex-start}.kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.kpi-card{padding:var(--space-4);gap:var(--space-3)}.kpi-value{font-size:20px}.quick-actions{grid-template-columns:1fr}}.leads-page{max-width:1100px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.page-subtitle{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}.lead-storyline{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--font-size-xs)}.page-header-main{display:flex;align-items:center;gap:var(--space-3)}.page-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.lead-form{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.lead-form input,.lead-form textarea{width:100%}.lead-form textarea{min-height:80px;margin-bottom:var(--space-4)}.lead-form .btn-primary{margin-top:var(--space-2)}.lead-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.lead-status-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.lead-filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-full);background:#fff;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.lead-filter-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-primary)}.lead-filter-chip.active{border-color:var(--primary);background:var(--primary-10);color:var(--primary)}.lead-toolbar-actions{display:flex;gap:var(--space-3)}.leads-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.lead-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-4);transition:all .2s ease}.lead-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-25);transform:translateY(-2px)}.lead-card-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end}.lead-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.lead-header h3{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.lead-details{margin-bottom:var(--space-3)}.lead-details p{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-1)}.lead-details strong{color:var(--text-primary);font-weight:500}.lead-notes{font-size:var(--font-size-xs);color:var(--text-secondary);padding-top:var(--space-3);border-top:1px solid var(--border-light);font-style:italic}.status{display:inline-flex;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.status-blue{background:var(--primary-10);color:var(--primary)}.status-yellow{background:#f59e0b1a;color:#d97706}.status-purple{background:#8b5cf61a;color:#7c3aed}.status-orange{background:var(--warning-10);color:var(--warning)}.status-green{background:var(--success-10);color:var(--success)}.status-red{background:var(--error-10);color:var(--error)}.status-gray{background:var(--border-light);color:var(--text-secondary)}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--space-12);color:var(--text-muted);font-size:var(--font-size-sm)}.page-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}@media (max-width: 1280px){.leads-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.leads-list,.form-row{grid-template-columns:1fr}.lead-toolbar,.lead-toolbar-actions{flex-direction:column;align-items:stretch}.page-header-main{width:100%;flex-direction:column;align-items:flex-start}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}.interactions-page{padding:var(--space-8);max-width:1200px;margin:0 auto}.interactions-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.interactions-page .page-header-main{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.interactions-page .page-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.interactions-page .header-actions{display:flex;gap:var(--space-3);align-items:center}.interaction-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.interaction-filters .form-select{min-width:180px}.interaction-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.interaction-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-4)}.interaction-form .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.interaction-form .form-group.full{grid-column:1 / -1}.interaction-form .form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.interaction-form .form-input,.interaction-form .form-select,.interaction-form .form-textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;font-family:var(--font-family);color:var(--text-primary);background:var(--surface);transition:border-color .2s,box-shadow .2s}.interaction-form .form-input::placeholder,.interaction-form .form-textarea::placeholder{color:var(--text-muted)}.interaction-form .form-input:focus,.interaction-form .form-select:focus,.interaction-form .form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.interaction-form .form-textarea{resize:vertical;min-height:88px}.interactions-list{display:flex;flex-direction:column;gap:var(--space-3)}.interaction-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow .2s,border-color .2s}.interaction-card:hover{box-shadow:var(--shadow-sm);border-color:#3b82f633}.interaction-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);background:var(--border-light)}.interaction-type{display:flex;align-items:center;gap:var(--space-3)}.type-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--primary)}.type-icon svg{width:16px;height:16px}.type-label{font-size:13px;font-weight:600;color:var(--text-primary)}.interaction-meta{display:flex;align-items:center;gap:var(--space-3)}.interaction-date{font-size:12px;color:var(--text-muted)}.interaction-body{padding:var(--space-5)}.interaction-subject{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);line-height:1.4}.interaction-contacts{display:flex;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap}.interaction-contact{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.interaction-contact svg{width:13px;height:13px}.interaction-content{font-size:13px;color:var(--text-secondary);line-height:1.6;background:var(--border-light);padding:var(--space-4);border-radius:var(--radius-md);border-left:3px solid var(--border);margin-bottom:var(--space-3)}.interaction-outcome,.interaction-next{font-size:13px;color:var(--text-secondary);margin-bottom:var(--space-2);display:flex;align-items:flex-start;gap:var(--space-2)}.interaction-outcome strong,.interaction-next strong{color:var(--text-primary);font-weight:600;flex-shrink:0;min-width:60px}.interaction-next span{color:var(--text-muted);font-size:12px;margin-left:var(--space-1)}.interaction-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.badge-success{background:#10b9811a;color:var(--success);padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-warning{background:#f973161a;color:var(--warning);padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-danger{background:#ef44441a;color:var(--error);padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:var(--space-4);opacity:.3}.empty-state p{font-size:14px}@media (max-width: 768px){.interactions-page{padding:var(--space-5)}.interactions-page .page-header{flex-direction:column;gap:var(--space-4);align-items:flex-start}.interactions-page .page-header-main{width:100%}.interaction-filters{flex-direction:column}.interaction-form .form-row{grid-template-columns:1fr}.interaction-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}:root{--primary: #3B82F6;--primary-dark: #2563EB;--primary-light: #60A5FA;--primary-10: rgba(59, 130, 246, .1);--primary-25: rgba(59, 130, 246, .25);--secondary: #64748B;--accent: #F59E0B;--success: #10B981;--success-10: rgba(16, 185, 129, .1);--warning: #F97316;--warning-10: rgba(249, 115, 22, .1);--error: #EF4444;--error-10: rgba(239, 68, 68, .1);--info: #06B6D4;--info-10: rgba(6, 182, 212, .1);--background: #F8FAFC;--surface: #FFFFFF;--surface-elevated: #FFFFFF;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--border: #E2E8F0;--border-light: #F1F5F9;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--radius-sm: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow: 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .12);--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 56px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--background);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:var(--font-size-2xl);font-weight:700}h2{font-size:var(--font-size-xl);font-weight:600}h3{font-size:var(--font-size-lg);font-weight:600}a{color:var(--primary-light);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--space-6);transition:margin-left .3s ease;background:var(--background)}.main-content.collapsed{margin-left:var(--sidebar-collapsed)}.card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-5);border:1px solid var(--border-light);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-25)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;border:none;transition:all .2s ease;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 2px 8px #3b82f64d}.btn-secondary{background:#fff;color:var(--primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--primary-10);border-color:var(--primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--border-light);color:var(--text-primary)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:0 2px 8px #ef44444d}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:transparent;color:var(--primary);border:none;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .2s}.btn-link:hover{color:var(--primary-dark)}.btn-link svg{width:14px;height:14px}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-sm svg{width:14px;height:14px}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.form-input{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;transition:all .2s ease;font-size:var(--font-size-sm)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;min-height:100px;resize:vertical;font-size:var(--font-size-sm);transition:all .2s ease}.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-10)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border)}.table th{background:#f1f5f9;font-weight:600;color:var(--text-primary)}.table tr:hover td{background:var(--background)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.02em}.badge-primary{background:var(--primary-10);color:var(--primary)}.badge-success{background:var(--success-10);color:var(--success)}.badge-warning{background:var(--warning-10);color:var(--warning)}.badge-error,.badge-danger{background:var(--error-10);color:var(--error)}.badge-info{background:var(--info-10);color:var(--info)}.badge-purple{background:#8b5cf61a;color:#7c3aed}.badge-pending{background:#f59e0b1a;color:#d97706}.badge-in_progress{background:var(--primary-10);color:var(--primary)}.badge-completed{background:var(--success-10);color:var(--success)}.badge-cancelled{background:var(--error-10);color:var(--error)}.badge-new{background:#6366f11a;color:#6366f1}.badge-contacted{background:#f59e0b1a;color:#d97706}.badge-qualified,.badge-decision-maker-met{background:var(--primary-10);color:var(--primary)}.badge-proposal,.badge-trial{background:#ec48991a;color:#ec4899}.badge-won{background:var(--success-10);color:var(--success)}.badge-lost{background:var(--error-10);color:var(--error)}.badge-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.badge-ghost{background:var(--border-light);color:var(--text-secondary)}.stat-card{background:#fff;padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .2s ease}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-25);transform:translateY(-2px)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);line-height:1.2}.stat-value-primary{color:var(--primary)}.stat-value-success{color:var(--success)}.stat-value-warning{color:var(--warning)}.stat-value-error{color:var(--error)}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-1)}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.avatar-primary{background:var(--primary-10);color:var(--primary)}.avatar-success{background:var(--success-10);color:var(--success)}.avatar-warning{background:var(--warning-10);color:var(--warning)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-lg)}.avatar-xl{width:56px;height:56px;font-size:var(--font-size-xl)}.grid{display:grid;gap:var(--space-4)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stats-grid-3,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.auth-container{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-8);overflow:hidden;background:radial-gradient(circle at top left,rgba(14,165,233,.22),transparent 34%),radial-gradient(circle at bottom right,rgba(245,158,11,.14),transparent 28%),linear-gradient(135deg,#0f172a,#102542 44%,#1d4ed8)}.auth-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-backdrop-grid{opacity:.28;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 92%);mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 92%)}.auth-backdrop-orb{border-radius:50%;filter:blur(8px)}.auth-backdrop-orb-primary{inset:auto auto -180px -120px;width:420px;height:420px;background:radial-gradient(circle,#60a5fa6b,#3b82f600 72%)}.auth-backdrop-orb-accent{inset:-140px -80px auto auto;width:360px;height:360px;background:radial-gradient(circle,#fbbf2442,#f59e0b00 70%)}.auth-shell{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);gap:var(--space-8);align-items:stretch}.auth-showcase{display:flex;flex-direction:column;justify-content:space-between;min-height:620px;padding:clamp(24px,4vw,48px);border-radius:28px;background:linear-gradient(160deg,#ffffff1f,#ffffff0a),#0f172a2e;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 60px #02061747;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff}.auth-badge{display:inline-flex;align-self:flex-start;padding:8px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#dbeafe;background:#94a3b82e;border:1px solid rgba(255,255,255,.18)}.auth-showcase-copy{max-width:540px}.auth-showcase-logo{width:clamp(180px,30vw,260px);height:auto;margin-bottom:var(--space-8);filter:drop-shadow(0 18px 24px rgba(15,23,42,.24))}.auth-showcase h1{margin-bottom:var(--space-4);font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.04em}.auth-showcase p{max-width:500px;font-size:17px;line-height:1.7;color:#e2e8f0e6}.auth-showcase-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.auth-showcase-panel{padding:18px 20px;border-radius:22px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff14}.auth-panel-label{display:inline-block;margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfeeb}.auth-showcase-panel strong{display:block;font-size:16px;line-height:1.5;color:#f8fafc}.auth-card{background:#fffffff2;padding:clamp(28px,3vw,36px);border-radius:28px;box-shadow:0 24px 50px #0f172a38;width:100%;max-width:420px;border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-logo{text-align:center;margin-bottom:var(--space-6)}.auth-logo-image{width:min(190px,70%);height:auto;margin-bottom:14px}.auth-company-name{margin-bottom:6px;font-size:16px;font-weight:700;color:#0f172a}.auth-company-subtitle{font-size:13px;color:var(--text-secondary)}.auth-card .form-group{margin-bottom:18px}.auth-card .form-label{margin-bottom:10px;font-weight:600;color:#334155}.auth-card .form-input{height:46px;border-color:#cbd5e1;background:#f8fafcf2}.auth-card .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61f}.auth-submit-btn{width:100%;min-height:48px;font-size:15px;font-weight:700;border-radius:14px;background:linear-gradient(135deg,#2563eb,#0ea5e9);box-shadow:0 16px 28px #2563eb3d}.auth-submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#0284c7)}.auth-footer{margin-top:24px;padding-top:18px;border-top:1px solid #e2e8f0;text-align:center;font-size:11px;color:var(--text-secondary)}.auth-footer-title{margin-bottom:8px;color:var(--text-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.auth-footer-contact{margin-bottom:6px}.auth-footer-brand{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:var(--text-muted);font-size:10px}.auth-footer-brand-logo{height:14px;width:auto}.stat-card{background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-1)}@media (max-width: 1280px){.stats-grid,.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3,.stats-grid,.stats-grid-3{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr;max-width:760px}.auth-showcase{min-height:auto;gap:var(--space-8)}}@media (max-width: 768px){.main-content{margin-left:0;padding:var(--space-4)}.grid-cols-4,.grid-cols-3,.grid-cols-2,.stats-grid,.stats-grid-3,.card-grid,.card-grid-2{grid-template-columns:1fr}.page-title{font-size:var(--font-size-xl)}.auth-container{padding:20px}.auth-shell{gap:20px}.auth-showcase{padding:24px;border-radius:24px}.auth-showcase h1{font-size:32px}.auth-showcase p{font-size:15px}.auth-showcase-panels{grid-template-columns:1fr}.auth-card{padding:24px 20px;border-radius:24px}}@media (max-width: 560px){.auth-container{padding:16px}.auth-showcase{padding:20px}.auth-badge{font-size:10px}.auth-showcase-logo{width:160px;margin-bottom:24px}.auth-showcase h1{font-size:28px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .3s ease}.animate-slideIn{animation:slideIn .3s ease}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--font-size-sm);max-width:400px;margin:0 auto}
