:root{--tf-navy: #1A2B5F;--tf-blue: #1565C0;--tf-blue-bright: #1877F2;--tf-orange: #F5820A;--tf-orange-soft: #FCE3CB;--tf-teal: #00B09B;--tf-white: #FFFFFF;--tf-text: #212121;--tf-bg: #F4F6FA;--tf-surface: #FFFFFF;--tf-border: #E1E5EE;--tf-muted: #6B7390;--tf-muted-2: #9AA1B8;--st-new: #6B7390;--st-assigned: #1565C0;--st-in_progress:#F5820A;--st-review: #8E24AA;--st-rework: #E65100;--st-approved: #00B09B;--st-deployed: #2E7D32;--st-closed: #455A64;--st-abandoned: #B71C1C;--tf-radius: 10px;--tf-radius-sm: 6px;--tf-shadow: 0 2px 12px rgba(26, 43, 95, .08);--tf-shadow-md: 0 4px 24px rgba(26, 43, 95, .1);--tf-header-h: 60px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Calibri,Segoe UI,Arial,sans-serif;background:var(--tf-bg);color:var(--tf-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--tf-blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none}input,select,textarea{font-family:inherit;font-size:15px;padding:8px 11px;border:1px solid var(--tf-border);border-radius:var(--tf-radius-sm);background:var(--tf-white);color:var(--tf-text);width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--tf-blue);box-shadow:0 0 0 3px #1565c01f}textarea{resize:vertical;min-height:80px}label{display:block;font-size:13px;color:var(--tf-muted);margin-bottom:4px;font-weight:600;letter-spacing:.02em}.tf-header{background:var(--tf-navy);color:var(--tf-white);height:var(--tf-header-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:var(--tf-shadow-md);position:sticky;top:0;z-index:50}.tf-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-.01em;color:#fff}.tf-logo-mark{width:32px;height:32px;background:var(--tf-orange);border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:900;font-family:Calibri,Arial}.tf-logo-mark:after{content:"";width:14px;height:14px;background:var(--tf-blue-bright);border-radius:50%;margin-left:-6px}.tf-nav{display:flex;gap:4px;align-items:center}.tf-nav a{color:#ffffffd9;padding:8px 14px;border-radius:var(--tf-radius-sm);font-weight:600;font-size:14px;transition:background .12s;text-decoration:none}.tf-nav a:hover,.tf-nav a.active{background:#ffffff1a;color:#fff;text-decoration:none}.tf-footer{background:var(--tf-orange);color:#fff;font-size:11px;padding:6px 24px;text-align:center;letter-spacing:.05em}.tf-page{display:flex;flex-direction:column;min-height:100vh}.tf-main{flex:1;padding:24px;max-width:1400px;width:100%;margin:0 auto}.tf-page-title{font-size:24px;font-weight:700;color:var(--tf-navy);margin:0 0 4px}.tf-page-subtitle{color:var(--tf-muted);margin:0 0 20px;font-size:14px}.tf-card{background:var(--tf-surface);border-radius:var(--tf-radius);padding:20px;box-shadow:var(--tf-shadow);margin-bottom:16px}.tf-card-title{font-size:16px;font-weight:700;color:var(--tf-navy);margin:0 0 14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;border-radius:var(--tf-radius-sm);background:var(--tf-blue);color:#fff;transition:filter .12s,transform .05s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.btn-orange{background:var(--tf-orange)}.btn.btn-teal{background:var(--tf-teal)}.btn.btn-navy{background:var(--tf-navy)}.btn.btn-ghost{background:transparent;color:var(--tf-blue);border:1px solid var(--tf-blue)}.btn.btn-ghost:hover{background:#1565c014}.btn.btn-danger{background:#c62828}.btn.sm{padding:5px 10px;font-size:12px}.tf-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--tf-muted)}.tf-pill.pri-low{background:#6b7390}.tf-pill.pri-medium{background:#1565c0}.tf-pill.pri-high{background:#f5820a}.tf-pill.pri-critical{background:#c62828}.tf-pill.st-new{background:var(--st-new)}.tf-pill.st-assigned{background:var(--st-assigned)}.tf-pill.st-in_progress{background:var(--st-in_progress)}.tf-pill.st-review{background:var(--st-review)}.tf-pill.st-rework{background:var(--st-rework)}.tf-pill.st-approved{background:var(--st-approved)}.tf-pill.st-deployed{background:var(--st-deployed)}.tf-pill.st-closed{background:var(--st-closed)}.tf-pill.st-abandoned{background:var(--st-abandoned)}.tf-table{width:100%;border-collapse:collapse;background:var(--tf-surface);border-radius:var(--tf-radius);overflow:hidden}.tf-table thead th{background:var(--tf-blue);color:#fff;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:10px 14px}.tf-table tbody td{padding:12px 14px;border-top:1px solid var(--tf-border);font-size:14px;vertical-align:top}.tf-table tbody tr:hover{background:#1565c00a;cursor:pointer}.tf-table .ticket-no{font-family:Consolas,Courier New,monospace;font-weight:700;color:var(--tf-navy)}.tf-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.tf-form-row.cols-1{grid-template-columns:1fr}.tf-form-row.cols-3{grid-template-columns:repeat(3,1fr)}.tf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.tf-kpi{background:var(--tf-surface);border-left:4px solid var(--tf-blue);border-radius:var(--tf-radius);padding:14px 18px;box-shadow:var(--tf-shadow)}.tf-kpi .label{font-size:12px;color:var(--tf-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.tf-kpi .value{font-size:30px;font-weight:800;color:var(--tf-navy);margin-top:2px}.tf-kpi.orange{border-left-color:var(--tf-orange)}.tf-kpi.orange .value{color:var(--tf-orange)}.tf-kpi.teal{border-left-color:var(--tf-teal)}.tf-kpi.teal .value{color:var(--tf-teal)}.tf-kpi.navy{border-left-color:var(--tf-navy)}.tf-login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--tf-navy) 0%,#0E1A40 100%);padding:20px}.tf-login-card{background:#fff;border-radius:14px;padding:36px 32px;width:100%;max-width:400px;box-shadow:0 14px 48px #00000040}.tf-login-card .tf-logo{color:var(--tf-navy);justify-content:center;margin-bottom:18px;font-size:28px}.tf-login-card h1{font-size:20px;color:var(--tf-navy);margin:0 0 4px;text-align:center}.tf-login-card .subtitle{color:var(--tf-muted);text-align:center;font-size:13px;margin-bottom:22px}.tf-login-card .btn{width:100%;justify-content:center;margin-top:8px}.tf-time-clock{display:inline-flex;align-items:center;gap:6px;font-family:Consolas,Courier New,monospace;font-weight:700;background:var(--tf-orange-soft);color:var(--tf-orange);padding:4px 10px;border-radius:var(--tf-radius-sm);font-size:13px}.tf-time-clock.running:before{content:"";width:8px;height:8px;background:var(--tf-orange);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.tf-time-clock.stopped:before{content:"";width:8px;height:8px;background:var(--tf-muted);border-radius:50%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.tf-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;background:var(--tf-surface);padding:14px;border-radius:var(--tf-radius);box-shadow:var(--tf-shadow);margin-bottom:16px;align-items:end}.tf-filters .field{display:flex;flex-direction:column}.tf-thread{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding-right:6px}.tf-comment{background:var(--tf-bg);border-left:3px solid var(--tf-blue);padding:8px 12px;border-radius:var(--tf-radius-sm)}.tf-comment.system{border-left-color:var(--tf-muted-2);background:#00000005;font-size:13px;color:var(--tf-muted);font-style:italic}.tf-comment .meta{font-size:12px;color:var(--tf-muted);margin-bottom:4px}.tf-comment .meta strong{color:var(--tf-navy)}.tf-comment .body{font-size:14px;color:var(--tf-text);white-space:pre-wrap}@media (max-width: 720px){.tf-header{padding:0 14px;height:54px}.tf-logo{font-size:18px}.tf-main{padding:14px}.tf-form-row{grid-template-columns:1fr}.tf-table thead{display:none}.tf-table tbody td{display:block;border-top:none;padding:4px 0}.tf-table tbody td:before{content:attr(data-label);display:inline-block;width:110px;font-weight:700;color:var(--tf-muted);font-size:12px;text-transform:uppercase}.tf-table tbody tr{display:block;border-top:1px solid var(--tf-border);padding:12px 0}.tf-nav a{padding:6px 8px;font-size:12px}}.tf-empty{text-align:center;padding:36px;color:var(--tf-muted);font-size:14px}.tf-error{background:#ffebee;color:#b71c1c;border-left:3px solid #C62828;padding:10px 14px;border-radius:var(--tf-radius-sm);font-size:14px;margin-bottom:12px}.tf-success{background:#e8f5e9;color:#1b5e20;border-left:3px solid #2E7D32;padding:10px 14px;border-radius:var(--tf-radius-sm);font-size:14px;margin-bottom:12px}.tf-flex{display:flex;gap:10px;align-items:center}.tf-flex.between{justify-content:space-between}.tf-flex.wrap{flex-wrap:wrap}.tf-grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 900px){.tf-grid-2{grid-template-columns:1fr}}.tf-stepper{display:flex;gap:6px;margin:0 0 18px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.tf-step{flex:1 1 0;min-width:96px;padding:12px 10px;border-radius:8px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.02em;background:var(--tf-navy);color:#fff;white-space:nowrap;position:relative;transition:background .15s,transform .15s}.tf-step.past{background:var(--tf-blue);opacity:.85}.tf-step.past:after{content:"✓";position:absolute;top:4px;right:8px;font-size:11px;opacity:.85}.tf-step.future{background:#c9cfdd;color:#4a5170}.tf-step.current{background:var(--tf-orange);color:#fff;font-size:14px;box-shadow:0 4px 14px #f5820a59;transform:scale(1.04);z-index:1}@media (max-width: 720px){.tf-step{font-size:11px;min-width:70px;padding:8px 6px}.tf-step.current{font-size:12px}}
