@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-family:DM Sans,sans-serif;overflow:hidden}:root{--tf-nav-bg:#0a1f28;--tf-nav-border:#ffffff0f;--tf-nav-item:#ffffff73;--tf-nav-hover-bg:#ffffff0a;--tf-nav-hover-text:#ffffffb8;--tf-nav-active-bg:#2c788f21;--tf-bg:#f2f4f6;--tf-surface:#fff;--tf-surface-2:#f8f9fa;--tf-overlay:#0f2b35;--tf-border:#e0e4e8;--tf-border-2:#f0f2f4;--tf-border-3:#f8f9fa;--tf-text-1:#0f1c20;--tf-text-2:#6b7580;--tf-text-3:#8a9299;--tf-text-4:#aab0b8;--tf-text-5:#c0c8cf;--tf-teal:#2c788f;--tf-teal-hover:#256b80;--tf-teal-muted:#5dcaa5;--tf-teal-bg:#e1f5ee;--tf-teal-text:#0f6e56;--tf-clock-bg:#0f2b35;--tf-red:#a32d2d;--tf-red-hover:#8a2424;--tf-red-bg:#fcebeb;--tf-amber:#854f0b;--tf-amber-accent:#d4912d;--tf-amber-bg:#faeeda;--tf-green:#1a7a3a;--tf-green-text:#1a6b3a;--tf-green-bg:#e8f5ee;--tf-blue:#185fa5;--tf-blue-bg:#e6f1fb;--ff-display:"DM Serif Display", serif;--ff-body:"DM Sans", sans-serif;--ff-mono:"IBM Plex Mono", monospace;--tf-radius:12px;--tf-radius-sm:7px;--tf-radius-xs:6px;--tf-shadow:0 8px 28px #0000001a;--tf-shadow-lg:0 20px 60px #00000024}.tf-shell{background:var(--tf-bg);height:100vh;display:flex;overflow:hidden}.tf-nav{background:var(--tf-nav-bg);border-right:.5px solid var(--tf-nav-border);flex-direction:column;flex-shrink:0;width:228px;transition:width .2s;display:flex;overflow:hidden}.tf-nav.collapsed{width:44px}.tf-nav-logo{border-bottom:.5px solid var(--tf-nav-border);flex-shrink:0;align-items:center;gap:9px;min-height:62px;padding:20px 18px 18px;display:flex}.tf-nav.collapsed .tf-nav-logo{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:70px;padding:14px 0}.tf-nav-logo-icon{border:2px solid var(--tf-teal);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tf-nav-wordmark{font-family:var(--ff-mono);color:#fff;letter-spacing:1.5px;white-space:nowrap;font-size:12px;font-weight:600}.tf-nav.collapsed .tf-nav-wordmark{display:none}.tf-nav-role-pill{color:var(--tf-teal-muted);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;background:#2c788f40;border-radius:3px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:8px;font-weight:600}.tf-nav.collapsed .tf-nav-role-pill{display:none}.tf-nav-collapse-btn{cursor:pointer;color:#ffffff40;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:color .15s;display:flex}.tf-nav-collapse-btn:hover{color:#fff9}.tf-nav-collapse-btn svg{transition:transform .2s}.tf-nav.collapsed .tf-nav-collapse-btn svg{transform:scaleX(-1)}.tf-nav.collapsed .tf-nav-collapse-btn{margin-left:0}.tf-nav-body{flex:1;padding:6px 0;overflow:hidden auto}.tf-nav-body::-webkit-scrollbar{width:0}.tf-nav-section{color:#fff3;letter-spacing:2.5px;text-transform:uppercase;white-space:nowrap;padding:12px 18px 5px;font-size:9px}.tf-nav.collapsed .tf-nav-section{height:0;padding:0;overflow:hidden}.tf-nav-item{color:var(--tf-nav-item);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12px;font-weight:400;font-family:var(--ff-body);border-left:2px solid #0000;align-items:center;gap:9px;padding:7px 18px;text-decoration:none;transition:all .12s;display:flex;position:relative}.tf-nav-item svg{opacity:.5;flex-shrink:0;transition:opacity .12s}.tf-nav-item:hover:not(.soon){background:var(--tf-nav-hover-bg);color:var(--tf-nav-hover-text)}.tf-nav-item:hover:not(.soon) svg{opacity:.78}.tf-nav-item.active{background:var(--tf-nav-active-bg);color:#fff;border-left-color:var(--tf-teal)}.tf-nav-item.active svg{opacity:1}.tf-nav-item.soon{cursor:not-allowed;opacity:.65}.tf-nav-item.soon:hover{color:var(--tf-nav-item)!important;background:0 0!important}.tf-nav-item.soon:hover svg{opacity:.5!important}.tf-nav.collapsed .tf-nav-item{border-left:none;justify-content:center;padding:10px 0}.tf-nav.collapsed .tf-nav-item.active:after{content:"";background:var(--tf-teal);width:2px;position:absolute;top:0;bottom:0;left:0}.tf-nav.collapsed .tf-nav-label,.tf-nav.collapsed .tf-nav-badge,.tf-nav.collapsed .tf-nav-soon,.tf-nav.collapsed .tf-nav-live{display:none}.tf-nav-badge{background:var(--tf-red);color:#fff;font-size:9px;font-weight:600;font-family:var(--ff-mono);text-align:center;border-radius:8px;flex-shrink:0;min-width:17px;margin-left:auto;padding:2px 5px}.tf-nav-live{color:var(--tf-teal-muted);background:#1a7a3a38;border-radius:8px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:8px;font-weight:600}.tf-nav-soon{color:var(--tf-amber-accent);background:#d4912d29;border-radius:8px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:8px;font-weight:500}.tf-nav-divider{background:var(--tf-nav-border);height:.5px;margin:8px 0}.tf-nav-footer{border-top:.5px solid var(--tf-nav-border);flex-shrink:0;align-items:center;gap:9px;padding:14px 18px;display:flex}.tf-nav.collapsed .tf-nav-footer{justify-content:center;padding:12px 0}.tf-nav-avatar{background:var(--tf-teal);color:#fff;width:30px;height:30px;font-size:11px;font-weight:600;font-family:var(--ff-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tf-nav-user-name{color:#fff;white-space:nowrap;font-size:12px;font-weight:500}.tf-nav-user-role{color:#ffffff4d;white-space:nowrap;font-size:10px}.tf-nav.collapsed .tf-nav-user-name,.tf-nav.collapsed .tf-nav-user-role{display:none}.tf-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.tf-topbar{background:var(--tf-surface);border-bottom:.5px solid var(--tf-border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 26px;display:flex}.tf-topbar-left,.tf-topbar-right{align-items:center;gap:10px;display:flex}.tf-portal-tabs{background:var(--tf-bg);border-radius:var(--tf-radius-xs);border:.5px solid var(--tf-border);gap:3px;padding:3px;display:flex}.tf-portal-tab{cursor:pointer;color:var(--tf-text-3);font-size:11px;font-weight:500;font-family:var(--ff-body);background:0 0;border:none;border-radius:4px;padding:4px 12px;transition:all .12s}.tf-portal-tab.active{background:var(--tf-surface);color:var(--tf-teal);border:.5px solid #d0d8df}.tf-clock{font-family:var(--ff-mono);color:var(--tf-teal);font-size:13px;font-weight:600}.tf-btn{border-radius:var(--tf-radius-xs);height:32px;font-family:var(--ff-body);cursor:pointer;border:.5px solid var(--tf-border);background:var(--tf-surface);color:#3a4550;white-space:nowrap;align-items:center;gap:5px;padding:0 13px;font-size:11px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.tf-btn:hover{background:var(--tf-surface-2)}.tf-btn:disabled{opacity:.5;cursor:not-allowed}.tf-btn.primary{background:var(--tf-teal);color:#fff;border-color:var(--tf-teal)}.tf-btn.primary:hover{background:var(--tf-teal-hover)}.tf-btn.danger{background:var(--tf-red);color:#fff;border-color:var(--tf-red)}.tf-btn.danger:hover{background:var(--tf-red-hover)}.tf-btn.sm{height:26px;padding:0 10px;font-size:10px}.tf-btn.md{height:28px;font-size:11px}.tf-btn-hero{border-radius:var(--tf-radius-sm);height:42px;font-family:var(--ff-body);cursor:pointer;border:none;align-items:center;gap:7px;padding:0 22px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.tf-btn-hero.cin{background:var(--tf-teal);color:#fff}.tf-btn-hero.cin:hover{background:var(--tf-teal-hover)}.tf-btn-hero.cout{background:var(--tf-red);color:#fff}.tf-btn-hero.cout:hover{background:var(--tf-red-hover)}.tf-btn-hero.brk{color:#ffffffb3;background:#ffffff14;border:.5px solid #ffffff26}.tf-btn-hero.brk:hover{background:#ffffff24}.tf-content{background:var(--tf-bg);flex:1;padding:24px 28px;overflow-y:auto}.tf-content::-webkit-scrollbar{width:4px}.tf-content::-webkit-scrollbar-thumb{background:#c0c8cf;border-radius:2px}.tf-page-enter{animation:.14s forwards tfFadeUp}@keyframes tfFadeUp{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.tf-ph{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.tf-ph-title{font-family:var(--ff-display);color:var(--tf-text-1);font-size:22px;line-height:1.15}.tf-ph-sub{color:var(--tf-text-3);margin-top:3px;font-size:12px}.tf-ph-actions{align-items:center;gap:8px;display:flex}.tf-card{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);padding:18px 20px}.tf-card-title{color:var(--tf-text-4);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;font-size:10px;font-weight:500}.tf-two-col{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.tf-three-col{grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.tf-four-col{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.tf-bignums{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);margin-bottom:16px;display:flex;overflow:hidden}.tf-bn{border-right:.5px solid var(--tf-border);flex:1;padding:18px 20px}.tf-bn:last-child{border-right:none}.tf-bn-label{color:var(--tf-text-3);align-items:center;gap:5px;margin-bottom:5px;font-size:11px;display:flex}.tf-bn-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tf-bn-val{font-family:var(--ff-mono);color:var(--tf-text-1);font-size:28px;font-weight:600;line-height:1}.tf-bn-val.red{color:var(--tf-red)}.tf-bn-val.amber{color:var(--tf-amber)}.tf-bn-val.teal{color:var(--tf-teal)}.tf-bn-val.green{color:var(--tf-green)}.tf-bn-sub{color:var(--tf-text-5);margin-top:4px;font-size:11px}.tf-sum-strip{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);grid-template-columns:repeat(4,1fr);margin-top:14px;display:grid;overflow:hidden}.tf-sum-item{border-right:.5px solid var(--tf-border);padding:14px 18px}.tf-sum-item:last-child{border-right:none}.tf-sum-label{color:var(--tf-text-3);margin-bottom:4px;font-size:11px}.tf-sum-val{font-family:var(--ff-mono);color:var(--tf-text-1);font-size:20px;font-weight:600}.tf-sum-delta{margin-top:3px;font-size:11px}.tf-badge{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:500;display:inline-block}.tf-badge.green{background:var(--tf-green-bg);color:var(--tf-green-text)}.tf-badge.red{background:var(--tf-red-bg);color:var(--tf-red)}.tf-badge.amber{background:var(--tf-amber-bg);color:var(--tf-amber)}.tf-badge.blue{background:var(--tf-blue-bg);color:var(--tf-blue)}.tf-badge.teal{background:var(--tf-teal-bg);color:var(--tf-teal-text)}.tf-badge.gray{background:var(--tf-bg);color:#5a6470}.tf-sdot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:5px;display:inline-block}.tf-sdot.in{background:var(--tf-green)}.tf-sdot.brk{background:var(--tf-amber)}.tf-sdot.out{background:#c0c8cf}.tf-filter-bar{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tf-filter-btn{cursor:pointer;border:.5px solid var(--tf-border);background:var(--tf-surface);height:32px;color:var(--tf-text-2);font-size:11px;font-weight:500;font-family:var(--ff-body);border-radius:20px;padding:0 12px;transition:all .12s}.tf-filter-btn:hover{background:var(--tf-surface-2)}.tf-filter-btn.active{color:#fff;background:#0f2b35;border-color:#0f2b35}.tf-table{border-collapse:collapse;width:100%}.tf-table thead th{color:var(--tf-text-4);letter-spacing:1px;text-transform:uppercase;text-align:left;border-bottom:.5px solid var(--tf-border-2);padding:8px 12px;font-size:10px;font-weight:500}.tf-table tbody td{color:var(--tf-text-1);border-bottom:.5px solid var(--tf-border-3);vertical-align:middle;padding:9px 12px;font-size:12px}.tf-table tbody tr:last-child td{border-bottom:none}.tf-table tbody tr:hover td{background:#fafbfc}.tf-td-mono{font-family:var(--ff-mono);font-size:11px}.tf-td-muted{color:var(--tf-text-4)}.tf-flag-item{border-bottom:.5px solid var(--tf-border-2);align-items:flex-start;gap:13px;padding:13px 0;display:flex}.tf-flag-item:last-child{border-bottom:none}.tf-flag-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.tf-flag-icon.high{background:var(--tf-red-bg)}.tf-flag-icon.med{background:var(--tf-amber-bg)}.tf-flag-body{flex:1}.tf-flag-title{color:var(--tf-text-1);margin-bottom:3px;font-size:13px;font-weight:500}.tf-flag-meta{color:var(--tf-text-4);font-size:11px;line-height:1.4}.tf-flag-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.tf-doc-row{border-bottom:.5px solid var(--tf-border-2);align-items:center;gap:13px;padding:12px 0;display:flex}.tf-doc-row:last-child{border-bottom:none}.tf-doc-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tf-doc-icon.pdf{background:var(--tf-red-bg)}.tf-doc-icon.form{background:var(--tf-blue-bg)}.tf-doc-icon.policy{background:var(--tf-green-bg)}.tf-doc-name{color:var(--tf-text-1);margin-bottom:2px;font-size:13px;font-weight:500}.tf-doc-meta{color:var(--tf-text-4);font-size:11px}.tf-prog-track{background:var(--tf-border-2);border-radius:3px;width:72px;height:5px;overflow:hidden}.tf-prog-fill{background:var(--tf-teal);border-radius:3px;height:100%}.tf-prog-fill.done{background:var(--tf-green)}.tf-prog-label{font-size:10px;font-family:var(--ff-mono);color:var(--tf-text-2)}.tf-prog-label.done{color:var(--tf-green)}.tf-bar-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.tf-bar-row:last-child{margin-bottom:0}.tf-bar-label{color:var(--tf-text-2);text-align:right;flex-shrink:0;width:84px;font-size:11px}.tf-bar-track{background:var(--tf-bg);border-radius:4px;flex:1;height:7px;overflow:hidden}.tf-bar-fill{background:var(--tf-teal);border-radius:4px;height:100%}.tf-bar-fill.red{background:#e24b4a}.tf-bar-val{color:var(--tf-text-1);font-size:11px;font-family:var(--ff-mono);flex-shrink:0;width:36px}.tf-sched-wrap{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);overflow:hidden}.tf-sched-grid{background:var(--tf-border-2);gap:1px;display:grid}.tf-sg-head{background:var(--tf-surface-2);color:var(--tf-text-3);text-align:center;letter-spacing:.5px;text-transform:uppercase;padding:8px 6px;font-size:9px;font-weight:500}.tf-sg-head.today{background:var(--tf-teal-bg);color:var(--tf-teal-text)}.tf-sg-name{background:var(--tf-surface);color:var(--tf-text-1);border-right:.5px solid var(--tf-border-2);align-items:center;padding:9px 10px;font-size:11px;font-weight:500;display:flex}.tf-sg-cell{background:var(--tf-surface);justify-content:center;align-items:center;min-height:50px;padding:5px;display:flex}.tf-sg-cell.today-col{background:#fafffd}.tf-shift-a{background:var(--tf-teal-bg);color:var(--tf-teal-text);text-align:center;border-radius:4px;width:100%;padding:3px 5px;font-size:9px;font-weight:500}.tf-shift-b{background:var(--tf-blue-bg);color:var(--tf-blue);text-align:center;border-radius:4px;width:100%;padding:3px 5px;font-size:9px;font-weight:500}.tf-shift-off{color:#d0d8df;font-size:9px}.tf-settings-row{border-bottom:.5px solid var(--tf-border-2);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.tf-settings-row:last-child{border-bottom:none}.tf-sr-label{color:var(--tf-text-1);font-size:13px;font-weight:500}.tf-sr-desc{color:var(--tf-text-4);margin-top:2px;font-size:11px}.tf-sr-val{color:var(--tf-text-2);font-size:12px;font-family:var(--ff-mono)}.tf-sr-input{height:30px;font-family:var(--ff-body);color:var(--tf-text-1);background:var(--tf-surface-2);border:.5px solid var(--tf-border);border-radius:var(--tf-radius-xs);outline:none;width:155px;padding:0 10px;font-size:12px}.tf-sr-input:focus{border-color:var(--tf-teal)}.tf-toggle{cursor:pointer;appearance:none;border:none;border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background .2s;position:relative}.tf-toggle.on{background:var(--tf-teal)}.tf-toggle.off{background:#d0d8df}.tf-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:3px}.tf-toggle.on:after{left:19px}.tf-toggle.off:after{left:3px}.tf-clock-hero{background:var(--tf-clock-bg);border-radius:var(--tf-radius);justify-content:space-between;align-items:center;margin-bottom:14px;padding:26px 30px;display:flex;position:relative;overflow:hidden}.tf-clock-hero:before{content:"";opacity:.04;background-image:repeating-linear-gradient(0deg,#0000,#0000 24px,#fff 24px 25px),repeating-linear-gradient(90deg,#0000,#0000 24px,#fff 24px 25px);position:absolute;inset:0}.tf-ch-left{position:relative}.tf-ch-right{align-items:center;gap:10px;display:flex;position:relative}.tf-ch-eyebrow{color:#ffffff59;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:10px}.tf-ch-status{font-family:var(--ff-display);color:#fff;margin-bottom:4px;font-size:22px}.tf-ch-sub{color:#fff6;font-size:12px}.tf-ch-timer{font-family:var(--ff-mono);color:#fff6;text-align:right;min-width:54px;font-size:13px}.tf-ch-timer.active{color:var(--tf-teal-muted)}.tf-notif-strip{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);margin-bottom:14px;overflow:hidden}.tf-notif-head{border-bottom:.5px solid var(--tf-border-2);justify-content:space-between;align-items:center;padding:11px 16px;display:flex}.tf-notif-head-left{color:var(--tf-text-1);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.tf-unread-pill{background:var(--tf-red);color:#fff;border-radius:8px;padding:2px 6px;font-size:9px;font-weight:600}.tf-mark-all{color:var(--tf-teal);cursor:pointer;font-size:11px}.tf-notif-row{border-bottom:.5px solid var(--tf-border-3);cursor:pointer;align-items:flex-start;gap:11px;padding:11px 16px;transition:background .1s;display:flex}.tf-notif-row:last-child{border-bottom:none}.tf-notif-row.unread{background:#f4fbff}.tf-notif-row:hover{background:var(--tf-surface-2)}.tf-notif-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:10px;font-weight:600;display:flex}.tf-notif-av.adm{background:var(--tf-blue-bg);color:var(--tf-blue)}.tf-notif-av.sch{background:var(--tf-teal-bg);color:var(--tf-teal-text)}.tf-notif-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.tf-notif-sender{color:var(--tf-text-1);font-size:12px;font-weight:500}.tf-notif-time{color:var(--tf-text-5);font-size:10px;font-family:var(--ff-mono)}.tf-notif-msg{color:var(--tf-text-2);margin-top:2px;font-size:12px;line-height:1.4}.tf-notif-tag{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.tf-notif-tag.adm{background:var(--tf-blue-bg);color:var(--tf-blue)}.tf-notif-tag.sch{background:var(--tf-teal-bg);color:var(--tf-teal-text)}.tf-stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.tf-stat-card{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);padding:14px 16px}.tf-stat-label{color:var(--tf-text-3);margin-bottom:5px;font-size:11px}.tf-stat-val{font-family:var(--ff-mono);color:var(--tf-text-1);font-size:20px;font-weight:600}.tf-stat-sub{color:var(--tf-text-5);margin-top:3px;font-size:11px}.tf-esr{border-bottom:.5px solid var(--tf-border-2);align-items:center;padding:10px 0;display:flex}.tf-esr:last-child{border-bottom:none}.tf-esr-day{color:var(--tf-text-1);flex-shrink:0;width:40px;font-size:12px;font-weight:500}.tf-esr-info{flex:1}.tf-esr-time{color:var(--tf-text-1);font-size:12px;font-family:var(--ff-mono)}.tf-esr-dept{color:var(--tf-text-4);font-size:11px}.tf-esr-hrs{color:var(--tf-text-3);font-size:11px;font-family:var(--ff-mono);margin-right:10px}.tf-emp-doc{background:var(--tf-surface);border:.5px solid var(--tf-border);cursor:pointer;border-radius:9px;align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;transition:border-color .12s;display:flex}.tf-emp-doc:hover{border-color:var(--tf-teal)}.tf-emp-doc.urgent{border-color:var(--tf-red);border-width:1px}.tf-emp-doc-name{color:var(--tf-text-1);margin-bottom:2px;font-size:13px;font-weight:500}.tf-emp-doc-meta{color:var(--tf-text-4);font-size:11px}.tf-msg-compose{background:var(--tf-surface-2);border:.5px solid var(--tf-border);border-radius:10px;margin-bottom:16px;padding:14px}.tf-msg-select{height:32px;font-family:var(--ff-body);color:var(--tf-text-1);background:var(--tf-surface);border-radius:var(--tf-radius-xs);border:.5px solid #d0d8df;outline:none;padding:0 10px;font-size:12px}.tf-msg-select:focus{border-color:var(--tf-teal)}.tf-msg-textarea{width:100%;height:66px;font-family:var(--ff-body);color:var(--tf-text-1);border-radius:var(--tf-radius-xs);resize:none;border:.5px solid #d0d8df;outline:none;margin-bottom:8px;padding:10px;font-size:12px}.tf-msg-textarea:focus{border-color:var(--tf-teal)}.tf-msg-row{border-bottom:.5px solid var(--tf-border-2);align-items:flex-start;gap:11px;padding:11px 0;display:flex}.tf-msg-row:last-child{border-bottom:none}.tf-msg-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:flex}.tf-msg-av.a{background:var(--tf-blue-bg);color:var(--tf-blue)}.tf-msg-av.b{background:var(--tf-teal-bg);color:var(--tf-teal-text)}.tf-msg-from{color:var(--tf-text-1);font-size:12px;font-weight:500}.tf-msg-time{color:var(--tf-text-5);font-size:10px;font-family:var(--ff-mono)}.tf-msg-text{color:var(--tf-text-2);margin:3px 0 5px;font-size:12px;line-height:1.45}.tf-kpi-strip{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid;overflow:hidden}.tf-kpi-item{border-right:.5px solid var(--tf-border);text-align:center;padding:16px 20px}.tf-kpi-item:last-child{border-right:none}.tf-kpi-val{font-family:var(--ff-mono);color:var(--tf-text-1);font-size:32px;font-weight:600;line-height:1}.tf-kpi-val.green{color:var(--tf-green)}.tf-kpi-val.red{color:var(--tf-red)}.tf-kpi-label{color:var(--tf-text-3);margin-top:5px;font-size:11px}.tf-pipeline{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.tf-pipe-col{background:var(--tf-surface-2);border-radius:8px;padding:10px}.tf-pipe-head{color:var(--tf-text-2);letter-spacing:.5px;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;font-weight:500;display:flex}.tf-pipe-count{background:var(--tf-surface);border:.5px solid var(--tf-border);font-family:var(--ff-mono);color:var(--tf-text-2);border-radius:10px;padding:1px 6px;font-size:9px}.tf-pipe-card{background:var(--tf-surface);border:.5px solid var(--tf-border);cursor:pointer;border-radius:7px;margin-bottom:6px;padding:9px 10px;transition:border-color .12s}.tf-pipe-card:hover{border-color:var(--tf-teal)}.tf-pipe-card:last-child{margin-bottom:0}.tf-pipe-name{color:var(--tf-text-1);margin-bottom:2px;font-size:12px;font-weight:500}.tf-pipe-role{color:var(--tf-text-4);font-size:10px}.tf-pipe-src{background:var(--tf-blue-bg);color:var(--tf-blue);border-radius:4px;margin-top:4px;padding:1px 5px;font-size:9px;display:inline-block}.tf-pipe-col.hired .tf-pipe-card{background:var(--tf-green-bg);border-color:#b8dfc9}.tf-pipe-col.hired .tf-pipe-name{color:var(--tf-green-text)}.tf-pr-row{border-bottom:.5px solid var(--tf-border-2);align-items:center;gap:10px;padding:10px 0;display:flex}.tf-pr-row:last-child{border-bottom:none}.tf-pr-name{color:var(--tf-text-1);font-size:12px;font-weight:500}.tf-pr-meta{color:var(--tf-text-4);margin-top:1px;font-size:10px}.tf-pr-amt{font-family:var(--ff-mono);color:var(--tf-text-1);font-size:13px;font-weight:600}.tf-budget-row{border-bottom:.5px solid var(--tf-border-2);align-items:center;gap:10px;padding:10px 0;display:flex}.tf-budget-row:last-child{border-bottom:none}.tf-budget-dept{color:var(--tf-text-1);flex-shrink:0;width:80px;font-size:12px;font-weight:500}.tf-budget-track{background:var(--tf-bg);border-radius:4px;flex:1;height:8px;overflow:hidden}.tf-budget-fill{border-radius:4px;height:100%}.tf-budget-fill.ok{background:var(--tf-teal)}.tf-budget-fill.warn{background:var(--tf-amber)}.tf-budget-fill.over{background:var(--tf-red)}.tf-budget-nums{font-size:11px;font-family:var(--ff-mono);color:var(--tf-text-2);white-space:nowrap}.tf-inc-row{border-bottom:.5px solid var(--tf-border-2);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.tf-inc-row:last-child{border-bottom:none}.tf-inc-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tf-inc-icon.injury{background:var(--tf-red-bg)}.tf-inc-icon.nearmiss{background:var(--tf-amber-bg)}.tf-inc-icon.property{background:var(--tf-blue-bg)}.tf-inc-title{color:var(--tf-text-1);margin-bottom:2px;font-size:12px;font-weight:500}.tf-inc-meta{color:var(--tf-text-4);font-size:11px}.tf-toast{z-index:400;background:var(--tf-clock-bg);color:#fff;font-size:12px;font-family:var(--ff-body);max-width:340px;box-shadow:var(--tf-shadow);opacity:0;pointer-events:none;border-radius:9px;align-items:center;gap:9px;padding:11px 16px;transition:all .22s;display:flex;position:fixed;bottom:22px;right:22px;transform:translateY(16px)}.tf-toast.show{opacity:1;transform:translateY(0)}.tf-toast-dot{background:var(--tf-teal-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.tf-modal-overlay{z-index:300;background:#0b14198c;justify-content:center;align-items:center;animation:.18s tfFadeIn;display:flex;position:fixed;inset:0}@keyframes tfFadeIn{0%{opacity:0}to{opacity:1}}.tf-modal{background:var(--tf-surface);width:400px;max-width:90vw;box-shadow:var(--tf-shadow-lg);border-radius:14px;padding:28px;animation:.18s tfSlideUp}@keyframes tfSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tf-modal-eyebrow{color:var(--tf-amber);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.tf-modal-title{font-family:var(--ff-display);color:var(--tf-text-1);margin-bottom:10px;font-size:20px}.tf-modal-desc{color:var(--tf-text-2);margin-bottom:22px;font-size:13px;line-height:1.6}.tf-modal-actions{justify-content:flex-end;gap:8px;display:flex}.tf-login-shell{background:var(--tf-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;overflow:auto}.tf-login-card{background:var(--tf-surface);border-radius:var(--tf-radius);border:.5px solid var(--tf-border);width:100%;max-width:380px;box-shadow:var(--tf-shadow);padding:40px}.tf-login-logo{align-items:center;gap:10px;margin-bottom:32px;display:flex}.tf-login-logo-icon{border:2px solid var(--tf-teal);border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tf-login-wordmark{font-family:var(--ff-mono);color:var(--tf-text-1);letter-spacing:1.5px;font-size:14px;font-weight:600}.tf-login-heading{font-family:var(--ff-display);color:var(--tf-text-1);margin-bottom:6px;font-size:22px}.tf-login-sub{color:var(--tf-text-3);margin-bottom:28px;font-size:13px}.tf-login-label{color:var(--tf-text-2);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.tf-login-input{width:100%;height:42px;font-family:var(--ff-body);color:var(--tf-text-1);background:var(--tf-surface);border:.5px solid var(--tf-border);border-radius:var(--tf-radius-sm);outline:none;margin-bottom:16px;padding:0 14px;font-size:13px;transition:border-color .12s}.tf-login-input:focus{border-color:var(--tf-teal);box-shadow:0 0 0 3px #2c788f14}.tf-login-submit{background:var(--tf-teal);color:#fff;border-radius:var(--tf-radius-sm);width:100%;height:42px;font-family:var(--ff-body);cursor:pointer;border:none;margin-top:4px;font-size:13px;font-weight:600;transition:background .12s}.tf-login-submit:hover{background:var(--tf-teal-hover)}.tf-login-submit:disabled{opacity:.6;cursor:not-allowed}.tf-login-error{background:var(--tf-red-bg);color:var(--tf-red);border-radius:var(--tf-radius-xs);border:.5px solid #e0a0a0;margin-bottom:16px;padding:10px 14px;font-size:12px;line-height:1.4}.tf-emp-name{color:var(--tf-text-1);font-size:12px;font-weight:500}.tf-emp-id{color:var(--tf-text-4);font-size:10px;font-family:var(--ff-mono);margin-top:1px}.tf-flex{display:flex}.tf-flex-1{flex:1}.tf-gap-6{gap:6px}.tf-gap-8{gap:8px}.tf-gap-10{gap:10px}.tf-mt-14{margin-top:14px}.tf-mb-14{margin-bottom:14px}.tf-mb-16{margin-bottom:16px}.tf-text-center{text-align:center}
