@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a202c;background-color:#f7fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7fafc;padding:0;position:relative;overflow:hidden}.login-loading-overlay{position:fixed;inset:0;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.login-loading-content{background:#fff;border-radius:20px;padding:48px 56px;text-align:center;box-shadow:0 20px 60px #0000004d;max-width:420px;width:90%;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-spinner-wrapper{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.login-spinner{color:#667eea;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-loading-title{margin:0 0 20px;font-size:24px;font-weight:700;color:#1a202c;font-family:Inter,sans-serif}.login-countdown{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 24px #667eea4d}.login-countdown-number{font-size:48px;font-weight:800;color:#fff;font-family:Inter,sans-serif;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.2);animation:pulseNumber 1s ease-in-out infinite}@keyframes pulseNumber{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-countdown-label{font-size:14px;font-weight:600;color:#fffffff2;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.5px}.login-loading-message{margin:0;font-size:15px;color:#718096;font-family:Inter,sans-serif}.login-wrapper{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:1200px;min-height:100vh;background:#fff;box-shadow:0 0 100px #0000001a;position:relative;overflow:hidden}.login-left{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite;padding:60px 50px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s linear infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-branding{text-align:center;color:#fff;z-index:1;position:relative;animation:slideInLeft .8s cubic-bezier(.16,1,.3,1)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.brand-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:32px;box-shadow:0 8px 32px #0003;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.brand-icon{color:#fff;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.login-branding h1{margin:0 0 16px;font-size:36px;font-weight:700;font-family:Inter,sans-serif;letter-spacing:-.5px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.brand-subtitle{margin:0 0 48px;font-size:18px;font-weight:400;opacity:.95;font-family:Inter,sans-serif}.brand-features{display:flex;flex-direction:column;gap:20px;margin-top:48px}.feature-item{display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:500;opacity:.95;font-family:Inter,sans-serif}.login-right{padding:60px 50px;display:flex;align-items:center;justify-content:center;background:#fff;animation:slideInRight .8s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.login-form-container{width:100%;max-width:420px}.form-header{margin-bottom:40px;text-align:center}.form-header h2{margin:0 0 8px;font-size:32px;font-weight:700;color:#1a202c;font-family:Inter,sans-serif;letter-spacing:-.5px}.form-header p{margin:0;font-size:15px;color:#718096;font-family:Inter,sans-serif}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif}.form-group label svg{color:#667eea}.form-group input{width:100%;padding:14px 18px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:Inter,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f8fafc;color:#1a202c;box-shadow:0 1px 3px #0000000d}.form-group input:hover{border-color:#cbd5e0;background:#fff;box-shadow:0 2px 6px #00000014}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a,0 2px 8px #667eea1f;transform:translateY(-1px)}.form-group input::placeholder{color:#a0aec0;transition:opacity .3s}.form-group input:focus::placeholder{opacity:.6}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fee;border:1px solid #fc8181;border-left:4px solid #c53030;border-radius:8px;color:#c53030;font-size:13px;font-family:Inter,sans-serif;animation:shake .5s ease;box-shadow:0 2px 8px #c530301a}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-button{padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;margin-top:8px;box-shadow:0 4px 14px #667eea59;position:relative;overflow:hidden;width:100%;letter-spacing:.3px}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:width .5s,height .5s}.login-button:hover:not(:disabled):before{width:300px;height:300px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea73,0 0 0 3px #667eea1a}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 10px #667eea59}.login-button:disabled{opacity:.65;cursor:not-allowed;transform:none}@media(max-width:968px){.login-wrapper{grid-template-columns:1fr;min-height:100vh}.login-left{padding:40px 30px;min-height:40vh}.login-branding h1{font-size:28px}.brand-subtitle{font-size:16px;margin-bottom:32px}.brand-features{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px}.feature-item{font-size:14px}.brand-icon-wrapper{width:80px;height:80px;margin-bottom:24px}.brand-icon{width:40px;height:40px}.login-right{padding:40px 30px}.form-header h2{font-size:28px}}@media(max-width:640px){.login-left{padding:32px 24px;min-height:35vh}.login-branding h1{font-size:24px}.brand-subtitle{font-size:14px;margin-bottom:24px}.brand-features{flex-direction:column;gap:12px;margin-top:24px}.feature-item{font-size:13px}.login-right{padding:32px 24px}.form-header{margin-bottom:32px}.form-header h2{font-size:24px}.form-header p{font-size:14px}.login-form{gap:20px}.form-group input{padding:13px 16px;font-size:14px}.login-button{padding:13px 24px;font-size:14px}}.admin-dashboard{display:flex;min-height:100vh;background:#f7fafc}.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;background:linear-gradient(180deg,#0f172a,#1e293b,#0f172a);box-shadow:8px 0 32px #00000040,inset -1px 0 #ffffff0f;z-index:1000;transition:transform .35s cubic-bezier(.4,0,.2,1),width .35s ease;display:flex;flex-direction:column;overflow:hidden}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(99,102,241,.15),transparent);pointer-events:none}.sidebar.closed{width:72px}.sidebar.closed .sidebar-header h2,.sidebar.closed .sidebar-header h2:before,.sidebar.closed .nav-label,.sidebar.closed .active-indicator,.sidebar.closed .sidebar-footer{display:none}.sidebar.closed .sidebar-header{padding:20px 12px;justify-content:center}.sidebar.closed .sidebar-toggle{margin:0}.sidebar.closed .nav-item{justify-content:center;padding:12px}.sidebar.closed .nav-icon-wrap{margin:0}.sidebar-header{padding:24px 20px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-header h2{margin:0;font-size:20px;font-weight:700;color:#f8fafc;font-family:Inter,sans-serif;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.sidebar-header h2:before{content:"";width:8px;height:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 0 12px #6366f199;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.sidebar-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);cursor:pointer;color:#94a3b8;padding:10px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .25s ease}.sidebar-toggle:hover{background:#6366f133;color:#a5b4fc;border-color:#6366f14d;transform:scale(1.05)}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);color:#94a3b8;font-size:14px;font-weight:500;font-family:Inter,sans-serif;text-align:left;width:100%;position:relative;overflow:hidden}.nav-icon-wrap{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff0a;color:#94a3b8;transition:all .25s ease}.nav-item:hover{color:#e2e8f0;background:#ffffff0f}.nav-item:hover .nav-icon-wrap{background:#6366f140;color:#a5b4fc}.nav-item.active{background:linear-gradient(90deg,#6366f140,#6366f114);color:#f8fafc;font-weight:600;border:1px solid rgba(99,102,241,.2)}.nav-item.active .nav-icon-wrap{background:#6366f166;color:#c7d2fe}.nav-label{flex:1;min-width:0}.nav-item.active:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0;box-shadow:0 0 12px #6366f180}.active-indicator{margin-left:auto;color:#a5b4fc;opacity:.9}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.sidebar-brand{font-size:12px;font-weight:700;color:#ffffff40;letter-spacing:.2em;font-family:Inter,sans-serif}.main-content{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .35s cubic-bezier(.4,0,.2,1)}.sidebar.closed~.main-content{margin-left:72px}.dashboard-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 32px;border-bottom:1px solid rgba(226,232,240,.6);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px #0000000a;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:16px}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;color:#4a5568;padding:8px;border-radius:6px;transition:background .2s}.mobile-menu-toggle:hover{background:#f7fafc}.page-title{margin:0;font-size:24px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.header-right{display:flex;align-items:center;gap:20px}.user-info{display:flex;align-items:center;gap:8px;color:#4a5568;font-size:14px;font-family:Inter,sans-serif}.logout-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#c53030;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;font-family:Inter,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #c5303026}.logout-btn:hover{background:linear-gradient(135deg,#fc8181,#f56565);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #c530304d}.content-area{flex:1;padding:32px;overflow-y:auto}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar.open{width:280px;z-index:2000}.sidebar.closed{width:72px}.main-content{margin-left:72px}.sidebar.open~.main-content{margin-left:280px}.mobile-menu-toggle{display:block}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:1500}.dashboard-header{padding:16px 20px}.page-title{font-size:20px}.content-area{padding:20px}.user-info span{display:none}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 28px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f7fafc}.modal-header h2{margin:0;font-size:22px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.close-btn{background:none;border:none;cursor:pointer;color:#4a5568;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#e2e8f0;color:#1a202c}.modal-body{padding:28px;overflow-y:auto;flex:1}.detail-section{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.detail-item{display:flex;flex-direction:column;gap:8px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.detail-item:last-child{border-bottom:none}.detail-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.detail-value{font-size:16px;font-weight:500;color:#1a202c;font-family:Inter,sans-serif;padding-left:26px}.additional-details{background:#f7fafc;border-radius:12px;padding:20px;margin-top:24px}.additional-details h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.info-content{display:flex;flex-direction:column;gap:12px}.info-content p{margin:0;font-size:14px;color:#4a5568;line-height:1.6;font-family:Inter,sans-serif}.info-content p strong{color:#2d3748;font-weight:600}.modal-footer{padding:20px 28px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px;background:#f7fafc}.export-button{padding:12px 24px;background:#48bb78;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;display:flex;align-items:center;gap:8px}.export-button:hover{background:#38a169;transform:translateY(-1px);box-shadow:0 4px 12px #48bb784d}.close-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.close-button:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.hazards-list{display:flex;flex-direction:column;gap:16px}.hazard-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:8px}.hazard-number{font-size:12px;font-weight:600;color:#667eea;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-family:Inter,sans-serif}.hazard-content{display:flex;flex-direction:column;gap:12px}.hazard-field{display:flex;flex-direction:column;gap:4px}.hazard-field strong{font-size:13px;font-weight:600;color:#4a5568;font-family:Inter,sans-serif}.hazard-field p{margin:0;font-size:14px;color:#2d3748;line-height:1.5;font-family:Inter,sans-serif}.loading-state{display:flex;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:12px;padding:48px;box-shadow:0 1px 3px #0000001a}.loading-state p{font-size:16px;color:#718096;font-family:Inter,sans-serif}.ppe-checklist-items-list{display:flex;flex-direction:column;gap:20px}.ppe-employee-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px}.ppe-employee-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.ppe-employee-header h4{margin:0;font-size:16px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif}.ppe-items-grid-modal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.ppe-item-modal{display:flex;flex-direction:column;gap:6px;padding:10px;background:#f7fafc;border-radius:6px}.ppe-item-label{font-size:12px;font-weight:500;color:#4a5568;font-family:Inter,sans-serif}.ppe-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;font-family:Inter,sans-serif;padding:6px 10px;border-radius:6px;width:fit-content}.ppe-status.ok{background:#c6f6d5;color:#22543d}.ppe-status.not-ok{background:#fed7d7;color:#742a2a}.ppe-status.na{background:#e2e8f0;color:#475569}@media(max-width:640px){.ppe-items-grid-modal{grid-template-columns:1fr}}.tools-status-list{display:flex;flex-direction:column;gap:12px}.tool-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin-bottom:8px}.tool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tool-number{font-size:12px;font-weight:600;color:#667eea;text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.tool-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;font-family:Inter,sans-serif}.discussion-item{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.discussion-item:last-child{border-bottom:none;margin-bottom:0}.discussion-item strong{display:block;font-size:15px;font-weight:600;color:#2d3748;margin-bottom:8px;font-family:Inter,sans-serif}.discussion-item .discussion-subtitle{font-size:12px;font-weight:400;color:#718096;font-style:italic;margin-bottom:12px;line-height:1.5;font-family:Inter,sans-serif}.discussion-item p:not(.discussion-subtitle){font-size:14px;color:#4a5568;line-height:1.6;margin:0;padding:12px;background:#f7fafc;border-radius:6px;border-left:3px solid #667eea;font-family:Inter,sans-serif;white-space:pre-wrap;word-wrap:break-word}.action-items-table{margin-top:16px;overflow-x:auto}.action-items-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.action-items-table thead{background:#667eea;color:#fff}.action-items-table th{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;font-family:Inter,sans-serif}.action-items-table th:first-child{width:50%}.action-items-table th:nth-child(2){width:25%}.action-items-table th:last-child{width:25%}.action-items-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.action-items-table tbody tr:hover{background:#f7fafc}.action-items-table tbody tr:last-child{border-bottom:none}.action-items-table td{padding:12px 16px;font-size:14px;color:#4a5568;font-family:Inter,sans-serif}.action-items-table td:first-child{font-weight:500}@media(max-width:768px){.discussion-item{margin-bottom:20px;padding-bottom:16px}.discussion-item strong{font-size:14px}.discussion-item .discussion-subtitle{font-size:11px}.discussion-item p:not(.discussion-subtitle){font-size:13px;padding:10px}.action-items-table{font-size:12px}.action-items-table th,.action-items-table td{padding:10px 12px;font-size:12px}}.tool-name{font-size:14px;color:#2d3748;font-family:Inter,sans-serif}.tool-name strong{font-weight:600;color:#1a202c}@media(max-width:640px){.modal-content{max-width:100%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:20px}.modal-header h2{font-size:18px}.modal-footer{flex-direction:column-reverse}.export-button,.close-button{width:100%;justify-content:center}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border-top:1px solid #e2e8f0;margin-top:0}.pagination-info{font-size:14px;color:#718096;font-family:Inter,sans-serif}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.pagination-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;gap:4px}.page-number{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center}.page-number:hover{background:#f7fafc;border-color:#cbd5e0}.page-number.active{background:#667eea;border-color:#667eea;color:#fff}.page-number.active:hover{background:#5568d3;border-color:#5568d3}@media(max-width:768px){.pagination-container{flex-direction:column;gap:16px;align-items:stretch}.pagination-info{text-align:center}.pagination-controls{justify-content:center;flex-wrap:wrap}.page-numbers{flex-wrap:wrap;justify-content:center}}.module-page{display:flex;flex-direction:column;gap:24px}.filter-section{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px #00000014,0 0 0 1px #0000000a;border:1px solid rgba(226,232,240,.8)}.filter-section h3{margin:0 0 24px;font-size:20px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Inter,sans-serif;letter-spacing:-.3px;padding-bottom:16px;border-bottom:2px solid #f7fafc}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#4a5568;font-family:Inter,sans-serif}.filter-item input,.filter-item select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:Inter,sans-serif;color:#1a202c;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f8fafc;box-shadow:0 1px 3px #0000000d}.filter-item input:hover,.filter-item select:hover{border-color:#cbd5e0;background:#fff;box-shadow:0 2px 6px #00000014}.filter-hint{font-size:12px;color:#64748b;margin-top:4px}.month-filter-item{min-width:200px}.filter-item input:focus,.filter-item select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a,0 2px 8px #667eea1f;transform:translateY(-1px)}.apply-filter-btn,.filter-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;box-shadow:0 2px 8px #667eea40;width:100%;max-width:200px}.apply-filter-btn:hover,.filter-btn:hover{background:linear-gradient(135deg,#5568d3,#6b46c1);transform:translateY(-2px);box-shadow:0 4px 16px #667eea59}.apply-filter-btn:active,.filter-btn:active{transform:translateY(0)}.table-container{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px #00000014,0 0 0 1px #0000000a;overflow:hidden;border:1px solid rgba(226,232,240,.8)}.table-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;border-bottom:2px solid #f7fafc}.table-header h3{margin:0;font-size:20px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Inter,sans-serif;letter-spacing:-.3px}.export-btn{display:flex;align-items:center;gap:8px;padding:11px 22px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;box-shadow:0 2px 8px #48bb7840}.export-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-2px);box-shadow:0 4px 16px #48bb7859}.export-btn:active{transform:translateY(0);box-shadow:0 2px 8px #48bb7840}.table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fafbfc}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-family:Inter,sans-serif;background:#fff;display:table;table-layout:auto}.data-table thead{background:linear-gradient(135deg,#f7fafc,#edf2f7);position:sticky;top:0;z-index:10;display:table-header-group}.data-table tbody{display:table-row-group}.data-table tr{display:table-row}.data-table th{padding:16px 18px;text-align:left;font-size:12px;font-weight:700;color:#2d3748;text-transform:uppercase;letter-spacing:.8px;border-bottom:2px solid #e2e8f0;white-space:nowrap;position:relative;display:table-cell;vertical-align:middle;line-height:1.5}.data-table th:first-child{border-top-left-radius:12px}.data-table th:last-child{border-top-right-radius:12px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.data-table th.sortable:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);color:#667eea}.data-table th.sortable:hover svg{color:#667eea;opacity:1}.data-table td{padding:18px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#2d3748;font-weight:400;vertical-align:middle;display:table-cell}.data-table tbody tr{transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff;border-left:3px solid transparent;display:table-row}.data-table tbody tr:hover{background:linear-gradient(90deg,#667eea0d,#667eea05);border-left-color:#667eea;transform:translate(2px);box-shadow:0 2px 8px #0000000a}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:lowercase}.status-badge.status-open{background:#c6f6d5;color:#22543d}.status-badge.status-close{background:#e2e8f0;color:#4a5568}.view-more-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#667eea;border:1px solid rgba(102,126,234,.2);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;white-space:nowrap}.view-more-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.view-more-btn:active{transform:translateY(0)}.no-data{text-align:center;padding:60px 40px!important;color:#718096;font-size:15px;font-family:Inter,sans-serif;background:linear-gradient(135deg,#f7fafc,#edf2f7)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:16px;padding:60px;box-shadow:0 2px 8px #00000014,0 0 0 1px #0000000a;border:1px solid rgba(226,232,240,.8);position:relative}.loading-state:before{content:"";width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{font-size:16px;color:#718096;font-family:Inter,sans-serif;font-weight:500;margin:0}@media(max-width:768px){.filter-section{padding:20px}.filter-section h3{font-size:18px;margin-bottom:20px;padding-bottom:12px}.filter-grid{grid-template-columns:1fr;gap:14px;margin-bottom:16px}.apply-filter-btn,.filter-btn{max-width:100%}.table-container{padding:20px}.table-header{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:16px;margin-bottom:20px}.table-header h3{font-size:18px}.export-btn{width:100%;justify-content:center}.table-wrapper{overflow-x:auto;border-radius:10px}.data-table{min-width:800px}.data-table th{padding:14px 12px;font-size:11px}.data-table td{padding:14px 12px;font-size:13px}.view-more-btn{padding:8px 14px;font-size:12px}}.role-badge{display:inline-block;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;font-family:Inter,sans-serif}.role-badge.admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.role-badge.employee{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;box-shadow:0 2px 8px #48bb784d}.cell-content{display:flex;align-items:center;gap:8px}.cell-icon{color:#667eea;opacity:.7;flex-shrink:0}.data-table th svg{color:#667eea;opacity:.8;transition:all .3s;vertical-align:middle;margin-right:6px;display:inline-block;width:16px;height:16px}.data-table th.sortable:hover svg{transform:scale(1.1);opacity:1}.daily-job-plan-form{max-width:900px;margin:0 auto}@media(max-width:768px){.daily-job-plan-form{max-width:100%}}.form-header{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.form-header h2{margin:0 0 24px;font-size:24px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.step-indicator{display:flex;align-items:center;justify-content:center;gap:16px}.step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.step span{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#718096;font-weight:600;font-size:16px;transition:all .3s}.step.active span{background:#667eea;color:#fff}.step.completed span{background:#48bb78;color:#fff}.step label{font-size:14px;font-weight:500;color:#4a5568;font-family:Inter,sans-serif}.step.active label{color:#667eea;font-weight:600}.step-connector{width:100px;height:2px;background:#e2e8f0;margin:0 8px}.step-connector.active{background:#667eea}.form-step{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.form-step h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.step-description{margin:0 0 24px;color:#718096;font-size:14px;font-family:Inter,sans-serif}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#4a5568;font-family:Inter,sans-serif}.form-group label .label-subtitle{display:block;font-size:12px;font-weight:400;color:#718096;font-style:italic;margin-top:4px;line-height:1.4}.form-group input,.form-group textarea{padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;color:#1a202c;transition:all .2s;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.hazard-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px}.hazard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hazard-header h4{margin:0;font-size:16px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif}.btn-remove{background:#fed7d7;color:#c53030;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:all .2s;font-family:Inter,sans-serif}.btn-remove:hover{background:#fc8181;color:#fff}.btn-add-hazard{width:100%;padding:12px 20px;background:#edf2f7;color:#667eea;border:2px dashed #cbd5e0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;transition:all .2s;font-family:Inter,sans-serif;margin-bottom:24px}.btn-add-hazard:hover{background:#e2e8f0;border-color:#667eea;color:#5568d3}.form-section{margin-top:24px}.form-section h4{margin:0;font-size:18px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif}.form-actions{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;display:flex;align-items:center;gap:8px}.btn-primary{background:#667eea;color:#fff}.btn-secondary{background:#edf2f7;color:#4a5568}.btn-secondary:hover{background:#e2e8f0}.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;background:#fff;border-radius:12px;padding:48px;box-shadow:0 1px 3px #0000001a}.success-icon{color:#48bb78;margin-bottom:24px}.form-success h2{margin:0 0 12px;font-size:24px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.form-success p{margin:0;color:#718096;font-size:16px;font-family:Inter,sans-serif}.ppe-items-grid{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000a}.ppe-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9;transition:background .2s}.ppe-item:hover{background:#f1f5f9}.ppe-item label{font-size:13px;font-weight:600;color:#334155;font-family:Inter,sans-serif}.ppe-toggle-group{display:flex;gap:10px;flex-wrap:wrap}.ppe-btn{flex:1;min-width:70px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;background:#fff;color:#4a5568}.ppe-btn.selected{font-weight:600}@media(max-width:768px){.ppe-items-grid{grid-template-columns:1fr;gap:12px}.ppe-item{gap:6px}.ppe-item label{font-size:12px}.ppe-toggle-group{gap:6px}.ppe-btn{padding:8px 10px;font-size:12px;gap:4px}.ppe-btn svg{width:16px;height:16px}}.ppe-btn:hover{border-color:#cbd5e0;background:#f7fafc}.ppe-btn.ok{background:#c6f6d5;border-color:#48bb78;color:#22543d;font-weight:600}.ppe-btn.ok:hover{background:#9ae6b4;border-color:#38a169}.ppe-btn.not-ok{background:#fed7d7;border-color:#fc8181;color:#742a2a;font-weight:600}.ppe-btn.not-ok:hover{background:#feb2b2;border-color:#e53e3e}.ppe-btn-na{min-width:48px}.ppe-btn-na.selected{background:#ffedd5;border-color:#f97316;color:#c2410c;font-weight:600}.ppe-btn-na:hover{border-color:#fb923c;background:#fff7ed}.ppe-employee-card{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f;border:1px solid #e2e8f0}.ppe-employee-card .hazard-header{padding-bottom:16px;margin-bottom:20px;border-bottom:2px solid #e2e8f0}.ppe-employee-card .hazard-header h4{font-size:17px;color:#1e293b}.ppe-notok-input{margin-top:8px;padding:10px 12px;border:2px solid #fecaca;border-radius:8px;font-size:13px;width:100%;background:#fef2f2}.ppe-notok-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}@media(max-width:768px){.daily-job-plan-form{max-width:100%}.form-header{padding:16px;margin-bottom:16px}.form-header h2{font-size:20px;margin-bottom:16px}.form-grid{grid-template-columns:1fr;gap:16px}.form-step{padding:16px}.form-step h3{font-size:18px;margin-bottom:16px}.step-description{font-size:13px;margin-bottom:16px}.step-indicator{flex-direction:column;gap:12px}.step-connector{width:2px;height:40px;margin:0}.form-actions{flex-direction:column-reverse;margin-top:24px;padding-top:16px;gap:12px}.btn-primary,.btn-secondary{width:100%;justify-content:center;padding:10px 20px;font-size:14px}.hazard-card{padding:12px;margin-bottom:12px}.hazard-header{margin-bottom:12px}.hazard-header h4{font-size:14px}.ppe-items-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.ppe-item{gap:6px}.ppe-item label{font-size:11px;line-height:1.3}.ppe-toggle-group{gap:6px}.ppe-btn{padding:8px 10px;font-size:11px;gap:4px;border-radius:6px}.ppe-btn svg{width:14px;height:14px}.btn-add-hazard{padding:10px 16px;font-size:13px;margin-bottom:16px}.error-message{padding:10px 12px;font-size:13px;margin-bottom:16px}}.review-section{display:flex;flex-direction:column;gap:24px}.review-group{background:#f7fafc;border-radius:8px;padding:20px;border:1px solid #e2e8f0}.review-group h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif;border-bottom:2px solid #667eea;padding-bottom:8px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.review-item{display:flex;flex-direction:column;gap:4px}.review-item.full-width{grid-column:1 / -1}.review-item label{font-size:13px;font-weight:600;color:#718096;font-family:Inter,sans-serif}.review-item span{font-size:14px;color:#2d3748;font-family:Inter,sans-serif;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;min-height:20px;word-wrap:break-word}.review-action-item{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;border:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-action-item .review-item{margin:0}@media(max-width:768px){.review-grid,.review-action-item{grid-template-columns:1fr}.review-group{padding:16px}.review-group h4{font-size:16px}}.file-choose-wrap{position:relative}.file-choose-wrap input[type=file]{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-choose-trigger{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:2px dashed var(--border-color, #cbd5e1);border-radius:10px;background:#fff;color:var(--text-secondary, #64748b);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.file-choose-trigger:hover{border-color:var(--primary, #667eea);background:#667eea0a;color:var(--primary, #667eea)}.file-choose-wrap:focus-within .file-choose-trigger{border-color:var(--primary, #667eea);outline:2px solid var(--primary, #667eea);outline-offset:2px}.file-choose-trigger.disabled{pointer-events:none;opacity:.6;cursor:not-allowed}.file-choose-trigger .file-choose-icon{flex-shrink:0;color:inherit}.file-choose-trigger .file-choose-text{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-choose-trigger .file-choose-hint{font-size:12px;font-weight:400;opacity:.9}.tat-tool-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:14px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s,border-color .2s}.tat-tool-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.tat-tool-card .hazard-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.tat-tool-card .hazard-header h4{font-size:17px;color:#1e293b;display:flex;align-items:center;gap:8px}.tat-tool-card .hazard-header h4:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.tat-tool-select{max-width:360px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.tat-tool-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.tat-checkpoints-wrap{margin-top:20px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000a}.tat-checkpoints-title{font-size:14px;font-weight:700;color:#334155;margin-bottom:16px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.04em}.tat-checkpoints-title:before{content:"";width:4px;height:16px;background:#667eea;border-radius:2px}.tat-checkpoint-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:10px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9;transition:background .2s}.tat-checkpoint-row:last-of-type{margin-bottom:0}.tat-checkpoint-row:hover{background:#f1f5f9}.tat-checkpoint-text{flex:1;min-width:0;font-size:13px;color:#475569;line-height:1.45}.tat-checkpoint-actions{display:flex;gap:10px;flex-shrink:0}.tat-checkpoint-btn{padding:8px 18px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:#64748b;font-family:inherit}.tat-checkpoint-btn:hover{border-color:#cbd5e1;background:#f8fafc}.tat-checkpoint-btn.ok{background:#ecfdf5;border-color:#10b981;color:#047857}.tat-checkpoint-btn.ok:hover{background:#d1fae5;border-color:#059669}.tat-checkpoint-btn.ok.selected{background:#10b981;border-color:#10b981;color:#fff}.tat-checkpoint-btn.notok{background:#fef2f2;border-color:#f87171;color:#b91c1c}.tat-checkpoint-btn.notok:hover{background:#fee2e2;border-color:#ef4444}.tat-checkpoint-btn.notok.selected{background:#ef4444;border-color:#ef4444;color:#fff}.tat-other-section{margin-top:20px;padding-top:20px;border-top:2px dashed #e2e8f0}.tat-other-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600;color:#475569;margin-bottom:12px}.tat-other-label input{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.tat-other-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;transition:border-color .2s,box-shadow .2s}.tat-other-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.tat-status-badge{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600}.tat-status-badge.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.tat-status-badge.notok{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.tat-status-badge.custom{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.tat-before-imgs-wrap{margin-top:20px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.tat-before-imgs-wrap label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#475569;margin-bottom:10px}.tat-before-imgs-wrap .label-subtitle{display:block;font-size:12px;font-weight:400;color:#64748b;margin-top:4px;font-style:italic}.tat-file-trigger{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tat-file-trigger:hover{border-color:#667eea;background:#667eea0f;color:#667eea}.tat-preview-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.tat-preview-item{position:relative;width:88px;height:88px;border-radius:10px;overflow:hidden;border:2px solid #e2e8f0;box-shadow:0 1px 3px #00000014}.tat-preview-item img{width:100%;height:100%;object-fit:cover}.tat-preview-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:6px;background:#ef4444;color:#fff;font-size:16px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.tat-preview-remove:hover{background:#dc2626}.tat-add-tool-btn{width:100%;padding:16px 24px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:#667eea;border:2px dashed #94a3b8;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:600;transition:all .2s;margin-bottom:24px}.tat-add-tool-btn:hover{background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-color:#667eea;color:#5568d3;box-shadow:0 2px 8px #667eea26}@media(max-width:768px){.tat-tool-card{padding:16px;margin-bottom:16px}.tat-checkpoint-row{flex-direction:column;align-items:flex-start;gap:12px}.tat-checkpoint-actions{width:100%}.tat-checkpoint-btn{flex:1}.tat-tool-select{max-width:100%}}.daily-job-plan-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.page-header h2{margin:0 0 4px;font-size:24px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.page-header p{margin:0;color:#718096;font-size:14px;font-family:Inter,sans-serif}.create-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.create-button:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#edf2f7;color:#4a5568;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;margin-bottom:20px}.back-button:hover{background:#e2e8f0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;background:#fff;border-radius:12px;padding:48px;box-shadow:0 1px 3px #0000001a}.empty-icon{color:#cbd5e0;margin-bottom:24px}.empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#2d3748;font-family:Inter,sans-serif}.empty-state p{margin:0 0 24px;color:#718096;font-size:14px;font-family:Inter,sans-serif}.create-button-primary{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.create-button-primary:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.create-button{width:100%;justify-content:center}}.employee-select-wrapper{position:relative;width:100%}.employee-select{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;background:#fff;cursor:pointer;transition:all .2s}.employee-select:hover{border-color:#cbd5e0;background:#f8fafc}.employee-select.open{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.employee-select-display{flex:1;display:flex;align-items:center;gap:8px}.employee-selected{display:flex;align-items:center;gap:8px;color:#1a202c;font-weight:500}.employee-placeholder{color:#a0aec0}.employee-select-actions{display:flex;align-items:center;gap:8px}.employee-clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;color:#718096;transition:all .2s;padding:0}.employee-clear-btn:hover{background:#cbd5e0;color:#2d3748}.chevron{color:#718096;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.employee-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.employee-search{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.employee-search svg{color:#718096;flex-shrink:0}.employee-search input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-family:Inter,sans-serif;color:#1a202c}.employee-search input::placeholder{color:#a0aec0}.employee-list{max-height:240px;overflow-y:auto}.employee-option{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f5f9}.employee-option:last-child{border-bottom:none}.employee-option:hover{background:#f7fafc}.employee-option.selected{background:#edf2f7;font-weight:600}.employee-option svg{color:#667eea;flex-shrink:0}.employee-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.employee-name{color:#1a202c;font-size:14px}.employee-id{color:#718096;font-size:12px}.check-mark{color:#667eea;font-weight:700;font-size:16px}.employee-loading,.employee-empty{padding:24px;text-align:center;color:#718096;font-size:14px}.employee-list::-webkit-scrollbar{width:6px}.employee-list::-webkit-scrollbar-track{background:#f1f5f9}.employee-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.employee-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}.add-user-page{padding:24px;min-height:100vh;background:#f7fafc}.add-user-container{max-width:800px;margin:0 auto}.form-header{background:#fff;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;text-align:center}.header-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:16px}.form-header h2{margin:0 0 8px;font-size:28px;font-weight:600;color:#1a202c;font-family:Inter,sans-serif}.form-header p{margin:0;font-size:14px;color:#718096;font-family:Inter,sans-serif}.add-user-form{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500;color:#4a5568;font-family:Inter,sans-serif}.required{color:#e53e3e}.form-group input{padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:Inter,sans-serif;color:#2d3748;transition:all .2s;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#a0aec0}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:45px;width:100%}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#718096;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#667eea}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:14px;font-family:Inter,sans-serif;margin-bottom:20px}.success-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#c6f6d5;border:1px solid #68d391;border-radius:8px;color:#22543d;font-size:14px;font-family:Inter,sans-serif;margin-bottom:20px}.form-actions{display:flex;justify-content:flex-end;gap:12px}.btn-primary{padding:12px 32px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.add-user-page{padding:16px}.form-header{padding:24px}.form-header h2{font-size:24px}.add-user-form{padding:24px}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.btn-primary{width:100%}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:40px}.welcome-page h2{font-size:28px;font-weight:600;color:#1a202c;margin-bottom:12px;font-family:Inter,sans-serif}.welcome-page p{font-size:16px;color:#718096;font-family:Inter,sans-serif}
