.technicians{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;flex:1}.technicians__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.technicians__title{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.technicians__subtitle{margin-top:.25rem;font-size:.8125rem;color:#94a3b8}.technicians__actions{display:flex;align-items:center;gap:.625rem}.technicians__export{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:.625rem;background:#fff;font-size:.8125rem;font-weight:600;color:#0f172a;cursor:pointer}.technicians__export:hover{background:#f6f8fc}.technicians__add{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:.625rem;background:#2563eb;font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer}.technicians__add:hover{background:#1a5ce0}.technicians__add-icon{width:.875rem;height:.875rem}.technicians__message{padding:.625rem .875rem;border:1px solid #fecaca;border-radius:.625rem;background:#fef2f2;font-size:.8125rem;color:#dc2626}.technicians__notice{padding:.625rem .875rem;border:1px solid #bbf7d0;border-radius:.625rem;background:#f0fdf4;font-size:.8125rem;color:#15803d}.technicians__tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.technicians__tile{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.875rem;border:1px solid #eef2f7;border-radius:.75rem;background:#fff;font:inherit;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s}.technicians__tile:hover{border-color:#bfdbfe;box-shadow:0 1px 3px rgba(15,23,42,.08)}.technicians__tile:focus-visible .technicians__tile-value,.technicians__tile:hover .technicians__tile-value{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}.technicians__tile--active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.technicians__tile-value{font-size:1.25rem;font-weight:700;color:#0f172a}.technicians__tile-value--green{color:#16a34a}.technicians__tile-value--red{color:#dc2626}.technicians__tile-value--blue{color:#2563eb}.technicians__tile-value--amber{color:#d97706}.technicians__tile-value--gray{color:#94a3b8}.technicians__tile-label{font-size:.6875rem;color:#64748b}.technicians__table-wrap{overflow-x:auto;max-height:60vh;overflow-y:auto;border:1px solid #eef2f7;border-radius:.875rem;background:#fff}.technicians__table{width:100%;border-collapse:collapse;font-size:.8125rem}.technicians__table th{background:#f8fafc;font-size:.6875rem;font-weight:600;color:#64748b;text-align:left;position:sticky;top:0;z-index:1}.technicians__table td,.technicians__table th{padding:.75rem 1rem;border-bottom:1px solid #eef2f7;white-space:nowrap}.technicians__table td{color:#0f172a;vertical-align:middle}.technicians__table tr:last-child td{border-bottom:none}.technicians__table tbody tr:hover td{background:#fafcff}.technicians__state{padding:2rem 1rem;text-align:center;color:#64748b}.technicians__uid{font-family:var(--font-geist-mono),monospace;font-size:.6875rem;color:#64748b}.technicians__person{display:flex;align-items:center;gap:.625rem}.technicians__avatar{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-size:.6875rem;font-weight:700;flex-shrink:0}.technicians__name{font-weight:600;max-width:9rem;white-space:normal}.technicians__count{color:#64748b}.technicians__progress{display:inline-flex;align-items:center;gap:.5rem;color:#64748b}.technicians__bar{width:3.5rem;height:.375rem;border-radius:999px;background:#eef2f7;overflow:hidden}.technicians__bar-fill{display:block;height:100%;border-radius:999px}.technicians__bar-fill--blue{background:#2563eb}.technicians__bar-fill--orange{background:#f97316}.technicians__progress-empty{color:#cbd5e1}.technicians__score strong{font-weight:700}.technicians__activity{color:#64748b}.technicians__pill{padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:600;white-space:nowrap}.technicians__pill--passed{background:#dcfce7;color:#16a34a}.technicians__pill--progress{background:#dbeafe;color:#2563eb}.technicians__pill--failed{background:#fee2e2;color:#dc2626}.technicians__pill--review{background:#fef3c7;color:#d97706}.technicians__pill--notstarted{background:#f1f5f9;color:#94a3b8}.technicians__pill--green{background:#dcfce7;color:#16a34a}.technicians__pill--red{background:#fee2e2;color:#dc2626}.technicians__pill--orange{background:#ffedd5;color:#ea580c}.technicians__pill--blue{background:#dbeafe;color:#2563eb}.technicians__pill--amber{background:#fef3c7;color:#d97706}.technicians__pill--gray{background:#f1f5f9;color:#94a3b8}.technicians__person-copy{display:inline-flex;flex-direction:column;line-height:1.2}.technicians__role{font-size:.6875rem;color:#64748b}.technicians__proc-chip{padding:.3rem .625rem;border:1px solid #dbeafe;border-radius:.5rem;background:#eff6ff;color:#2563eb;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.technicians__proc-chip:hover{background:#dbeafe}.technicians__ratio{font-weight:700;color:#0f172a}.technicians__ratio--full{color:#16a34a}.technicians__row--recent td{background:#eff6ff}.technicians__row--recent td:first-child{box-shadow:inset 3px 0 0 #2563eb}.technicians__row--inactive td{opacity:.55}.technicians__row-actions{display:inline-flex;align-items:center;gap:.375rem}.technicians__icon-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:rgba(0,0,0,0);color:#2563eb;cursor:pointer}.technicians__icon-btn:hover{background:#eff6ff;color:#1d4ed8}.technicians__icon-btn--danger{color:#dc2626}.technicians__icon-btn--danger:hover{background:#fef2f2;color:#b91c1c}.technicians__icon{width:.875rem;height:.875rem}.technicians__view{border:none;background:rgba(0,0,0,0);font-size:.75rem;font-weight:600;color:#2563eb;cursor:pointer}.technicians__view:hover{text-decoration:underline}@media(max-width:1100px){.technicians__tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.technicians{padding:1rem}.technicians__tiles{grid-template-columns:repeat(2,1fr)}}.tech-add{width:min(640px,100%);max-height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(15,23,42,.25)}.tech-add__overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(15,23,42,.45)}.tech-add__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem 1rem;border-bottom:1px solid #eef2f7}.tech-add__title{margin:0;font-size:1.125rem;font-weight:700;color:#0f172a}.tech-add__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:#64748b}.tech-add__close{border:none;background:rgba(0,0,0,0);font-size:1rem;line-height:1;color:#94a3b8;cursor:pointer;padding:.25rem}.tech-add__close:hover{color:#0f172a}.tech-add__body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.75rem 1.5rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.tech-add__field input.tech-add__readonly{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;cursor:not-allowed}.tech-add__field input.tech-add__readonly:focus{border-color:#e2e8f0;box-shadow:none}.tech-add__field-error{font-size:.6875rem;font-weight:600;color:#dc2626}.tech-add__error{margin:0;padding:.625rem .875rem;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.8125rem}.tech-add__error--top{flex:none;margin:0 1.75rem}.tech-add--assign{width:min(460px,100%)}.tech-add__assign-list{display:flex;flex-direction:column;gap:.25rem;max-height:40vh;overflow-y:auto;padding:.375rem;border:1px solid #eef2f7;border-radius:10px}.tech-add__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tech-add__field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.tech-add__field input,.tech-add__field select{height:2.5rem;padding:0 .75rem;border:1px solid #d8dee9;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;outline:none}.tech-add__field input:focus,.tech-add__field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}.tech-add__label{font-size:.8125rem;font-weight:600;color:#334155}.tech-add__required{color:#dc2626}.tech-add__procedures{margin:0;padding:.75rem 1rem 1rem;border:1px solid #e2e8f0;border-radius:10px}.tech-add__procedures-empty{margin:.5rem 0 0;font-size:.8125rem;color:#94a3b8}.tech-add__procedure-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin-top:.5rem}.tech-add__check{display:flex;align-items:center;gap:.5rem;font-size:.8438rem;color:#334155;cursor:pointer}.tech-add__check input{width:1rem;height:1rem;accent-color:#2563eb}.tech-add__check--locked{color:#94a3b8;cursor:not-allowed}.tech-add__check--locked input{cursor:not-allowed}.tech-add__check-note{margin-left:auto;padding:.125rem .4rem;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.625rem;font-weight:600;white-space:nowrap}.tech-add__assign-hint{margin-top:.5rem;font-size:.6875rem;color:#64748b;line-height:1.4}.tech-add__generate{font-weight:600}.tech-add__info{display:flex;gap:.5rem;margin:0;padding:.75rem .875rem;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.8125rem;line-height:1.45}.tech-add__info-icon{flex:none;font-size:.9375rem}.tech-add__footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid #eef2f7}.tech-add__cancel{height:2.5rem;padding:0 1.25rem;border:1px solid #d8dee9;border-radius:8px;background:#fff;font-size:.875rem;font-weight:600;color:#334155;cursor:pointer}.tech-add__cancel:hover{background:#f8fafc}.tech-add__submit{height:2.5rem;padding:0 1.25rem;border:none;border-radius:8px;background:#216cf3;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer}.tech-add__submit:hover{background:#1a55d4}.tech-add__submit:disabled{opacity:.6;cursor:default}@media(max-width:640px){.tech-add__grid,.tech-add__procedure-list{grid-template-columns:1fr}}.tech-add__password{position:relative;display:flex;align-items:center}.tech-add__password input{width:100%;padding-right:4rem}.tech-add__input--invalid{border-color:#dc2626!important}.tech-add__input--invalid:focus{box-shadow:0 0 0 3px rgba(220,38,38,.15)!important}.tech-add__status{position:absolute;right:2.5rem;width:1.125rem;height:1.125rem;pointer-events:none}.tech-add__status--ok{color:#16a34a}.tech-add__status--bad{color:#dc2626}.tech-add__eye{position:absolute;right:.625rem;display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);padding:.25rem;color:#94a3b8;cursor:pointer}.tech-add__eye:hover{color:#334155}.tech-add__eye-icon{width:1.125rem;height:1.125rem}.tech-add__criteria{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.tech-add__criteria-title{margin:0 0 .375rem;font-size:.8125rem;font-weight:600;color:#334155}.tech-add__criteria-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.tech-add__criteria-item{font-size:.8125rem}.tech-add__criteria-item--unmet{color:#dc2626}.tech-add__criteria-item--met{color:#16a34a}.tech-add__match-note{margin:0;padding:.625rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:.8125rem;color:#334155}.tech-add__dropdown{position:relative;display:block}.tech-add__dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;height:2.5rem;padding:0 .75rem;border:1px solid #d8dee9;border-radius:8px;background:#fff;font-size:.875rem;color:#0f172a;cursor:pointer;text-align:left}.tech-add__dropdown-trigger:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}.tech-add__dropdown-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tech-add__dropdown-text--placeholder{color:#94a3b8}.tech-add__dropdown-caret{flex:none;font-size:.625rem;color:#64748b}.tech-add__dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:12rem;overflow-y:auto;padding:.5rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.18);display:flex;flex-direction:column;gap:.25rem}.tech-add__dropdown-panel .tech-add__procedures-empty{margin:0;padding:.25rem .5rem}.tech-add__dropdown-item{padding:.375rem .5rem;border-radius:6px}.tech-add__dropdown-item:hover{background:#f1f5f9}.technicians__mode-sessions{display:block;margin-top:.25rem;font-size:.6563rem;color:#94a3b8}