*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a1a}.app{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh}.app-content{flex:1;padding:1.5rem 2rem;background:#f5f5f5;overflow-y:auto}.page-title{font-size:22px;font-weight:700;color:#1e3a5f;margin-bottom:1rem}.sidebar{width:230px;background:#1a2744;color:#e5e7eb;display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand-title{font-size:18px;font-weight:800;color:#fff;letter-spacing:.05em}.sidebar-brand-sub{font-size:11px;color:#d1b96a;margin-top:2px}.sidebar-nav{flex:1;padding:.75rem 0}.sidebar-link{display:flex;align-items:center;gap:10px;width:100%;padding:.6rem 1rem;color:#9ca3af;font-size:13px;text-decoration:none;transition:all .15s}.sidebar-link:hover{color:#e5e7eb;background:#ffffff0d}.sidebar-link.active{color:#d1b96a;background:#d1b96a1a;border-left:3px solid #d1b96a;font-weight:600}.sidebar-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:4px;font-size:11px;font-weight:700;color:#9ca3af}.sidebar-link.active .sidebar-icon{background:#d1b96a33;color:#d1b96a}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{margin-bottom:.5rem}.sidebar-logout{width:100%;padding:.4rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#9ca3af;border-radius:4px;cursor:pointer;font-size:12px}.sidebar-logout:hover{background:#ffffff1a;color:#e5e7eb}.header{background:#1e3a5f;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:1.5rem;font-weight:700}.header .division-badge{background:#ffffff26;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.header .division-badge.corrosion{background:#c0392b}.header .division-badge.coatings{background:#2980b9}.header button{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px;box-sizing:border-box;background:linear-gradient(135deg,#1e3a5f,#2c5f8a)}.login-card{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 4px 24px #00000026;width:100%;max-width:400px;box-sizing:border-box}.login-card h1{text-align:center;color:#1e3a5f;margin-bottom:.5rem}.login-card p{text-align:center;color:#666;margin-bottom:1.5rem}.login-card input{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.login-card button{width:100%;padding:.75rem;background:#1e3a5f;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.login-card button:hover{background:#2c5f8a}.login-card .error{color:#c0392b;text-align:center;margin-bottom:1rem;font-size:.9rem}.main{padding:2rem;flex:1}.nav{display:flex;gap:.5rem;margin-bottom:1.5rem}.nav button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem}.nav button.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.card h2{font-size:1.1rem;margin-bottom:1rem;color:#1e3a5f}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #eee}th{font-weight:600;color:#666;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}tr:hover{background:#f9f9f9}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.stat-card .label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.05em}.stat-card .value{font-size:2rem;font-weight:700;color:#1e3a5f}.btn-primary{padding:.5rem 1rem;background:#1e3a5f;color:#fff;border:1px solid #1e3a5f;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600}.btn-primary:hover{background:#2c5f8a}.btn-outline{padding:.5rem 1rem;background:#fff;color:#1e3a5f;border:1px solid #1e3a5f;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600}.btn-outline:hover{background:#f0f4f8}.header-nav-link{color:#d1b96a;text-decoration:none;font-size:.9rem;font-weight:600;padding:.35rem .75rem;border:1px solid rgba(209,185,106,.4);border-radius:4px}.header-nav-link:hover{background:#d1b96a26}.admin-layout{display:flex;min-height:calc(100vh - 56px)}.admin-sidebar{width:220px;background:#1a2744;color:#e5e7eb;display:flex;flex-direction:column;flex-shrink:0}.admin-sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.admin-sidebar-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:.02em}.admin-sidebar-subtitle{font-size:12px;color:#d1b96a;margin-top:2px}.admin-sidebar-nav{flex:1;padding:.75rem 0}.admin-sidebar-link{display:flex;align-items:center;gap:10px;width:100%;padding:.6rem 1rem;background:none;border:none;color:#9ca3af;font-size:13px;cursor:pointer;text-align:left;transition:all .15s}.admin-sidebar-link:hover{color:#e5e7eb;background:#ffffff0d}.admin-sidebar-link.active{color:#d1b96a;background:#d1b96a1a;border-left:3px solid #d1b96a;font-weight:600}.admin-sidebar-icon{font-size:16px}.admin-sidebar-footer{padding:1rem;font-size:11px;color:#6b7280;border-top:1px solid rgba(255,255,255,.08)}.admin-main{flex:1;padding:1.5rem 2rem;background:#f9fafb;overflow-y:auto}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-section-title{font-size:22px;font-weight:700;color:#1a2744;margin:0 0 .5rem}.admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:.5rem .75rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.admin-table td{padding:.6rem .75rem;font-size:13px;border-bottom:1px solid #f3f4f6;color:#111827}.admin-table tr:hover{background:#f9fafb}.admin-row-inactive{background:#fef2f2!important}.admin-row-inactive:hover,.admin-row-expired{background:#fee2e2!important}.admin-row-expiring{background:#fef3c7!important}.admin-text-danger{color:#991b1b!important;font-weight:600}.admin-text-warning{color:#92400e!important;font-weight:600}.admin-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-badge-president{background:#dbeafe;color:#1e40af}.admin-badge-admin{background:#ede9fe;color:#5b21b6}.admin-badge-vp_ops{background:#dbeafe;color:#1e40af}.admin-badge-vp_corrosion{background:#fce7f3;color:#9d174d}.admin-badge-supervisor{background:#d1fae5;color:#065f46}.admin-badge-office{background:#e0e7ff;color:#3730a3}.admin-badge-viewer{background:#f3f4f6;color:#374151}.admin-badge-inactive{background:#fee2e2;color:#991b1b}.admin-btn{padding:.4rem .75rem;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.admin-btn-primary{background:#1a2744;color:#fff}.admin-btn-primary:hover{background:#243452}.admin-btn-outline{background:#fff;color:#1a2744;border:1px solid #1a2744}.admin-btn-outline:hover{background:#f0f4f8}.admin-btn-sm{padding:3px 8px;font-size:12px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.admin-btn-sm:hover{background:#e5e7eb}.admin-btn-warn{color:#9a3412;border-color:#fed7aa}.admin-btn-warn:hover{background:#fff7ed}.admin-actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.admin-message{padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:13px}.admin-message-success{background:#d1fae5;color:#065f46}.admin-message-error{background:#fee2e2;color:#991b1b}.admin-inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem}.admin-inline-form input,.admin-inline-form select{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.admin-input{width:100%;padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.admin-select{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:13px;min-width:160px}.admin-textarea{width:100%;padding:.5rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.admin-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#6b7280;margin-bottom:4px}.admin-checkbox-label{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.admin-checkbox-row{display:flex;gap:1rem;align-items:center;grid-column:1 / -1}.admin-profile-row{transition:background .15s}.admin-profile-form{padding:1.25rem;background:#f9fafb;border-top:1px solid #e5e7eb}.admin-form-section{margin-bottom:1rem}.admin-form-section h4{font-size:13px;font-weight:600;color:#1a2744;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.admin-perm-table td{padding:.5rem .75rem}.admin-toggle{padding:3px 12px;border-radius:12px;font-size:11px;font-weight:700;border:none;cursor:pointer;min-width:50px}.admin-toggle-on{background:#d1fae5;color:#065f46}.admin-toggle-off{background:#fee2e2;color:#991b1b}.admin-perm-extras{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid #f3f4f6;margin-top:.5rem;align-items:flex-end}.admin-perm-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.admin-stat{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.admin-stat-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.admin-stat-value{font-size:1.75rem;font-weight:700;color:#1a2744}.admin-loading{padding:2rem;text-align:center;color:#9ca3af;font-size:14px}.ts-page{max-width:900px}.ts-error{padding:.6rem 1rem;background:#fee2e2;color:#991b1b;border-radius:6px;margin-bottom:1rem;font-size:14px}.ts-success{padding:.6rem 1rem;background:#d1fae5;color:#065f46;border-radius:6px;margin-bottom:1rem;font-size:14px;cursor:pointer}.ts-steps{display:flex;gap:6px;margin-bottom:1rem}.ts-step-btn{width:36px;height:36px;border-radius:50%;border:2px solid #d1d5db;background:#fff;color:#6b7280;font-weight:700;font-size:13px;cursor:pointer}.ts-step-btn.active{border-color:#1e3a5f;background:#1e3a5f;color:#fff}.ts-step-btn.done{border-color:#059669;background:#d1fae5;color:#059669}.ts-card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.ts-card-title{font-size:17px;font-weight:700;color:#1e3a5f;margin-bottom:1rem}.ts-field{margin-bottom:1rem}.ts-label{display:block;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.ts-label-sm{display:block;font-size:11px;color:#6b7280;margin-bottom:2px}.ts-input-lg{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:16px}.ts-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:15px;font-family:inherit;resize:vertical}.ts-radio-group{display:flex;gap:8px}.ts-radio-btn{flex:1;padding:.75rem;border:2px solid #d1d5db;border-radius:8px;background:#fff;font-size:15px;font-weight:600;cursor:pointer;text-align:center;min-height:48px}.ts-radio-btn.active{border-color:#1e3a5f;background:#eff6ff;color:#1e3a5f}.ts-job-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}.ts-job-item{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;text-align:left;min-height:48px}.ts-job-item.selected{border-color:#1e3a5f;background:#eff6ff}.ts-job-item:hover{border-color:#9ca3af}.ts-crew-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.ts-crew-item{display:flex;align-items:center;gap:12px;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;min-height:52px;background:#fff}.ts-crew-item input[type=checkbox]{width:22px;height:22px;accent-color:#1e3a5f;flex-shrink:0}.ts-crew-item.selected{border-color:#1e3a5f;background:#eff6ff}.ts-crew-item.disabled{opacity:.5;cursor:default}.ts-default-times{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap;padding:.75rem;background:#f3f4f6;border-radius:8px;margin-bottom:1rem}.ts-time-group{display:flex;flex-direction:column}.ts-time-input{padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:15px;min-height:44px;min-width:90px}.ts-entries{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.ts-entry-row{padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.ts-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ts-entry-times{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.ts-hours-display{display:flex;gap:6px;align-items:center;font-size:14px;font-weight:600;min-width:100px}.ts-hours-reg{color:#1e3a5f}.ts-hours-ot{color:#dc2626}.ts-btn-primary{padding:.75rem 1.5rem;background:#1e3a5f;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;min-height:48px}.ts-btn-primary:hover{background:#2c5f8a}.ts-btn-primary:disabled{opacity:.5;cursor:default}.ts-btn-lg{width:100%}.ts-btn-secondary{padding:.75rem 1.5rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;min-height:48px}.ts-btn-secondary:disabled{opacity:.5;cursor:default}.ts-btn-outline{padding:.6rem 1rem;background:#fff;color:#1e3a5f;border:1px solid #1e3a5f;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.ts-btn-outline:hover{background:#f0f4f8}.ts-btn-sm{padding:.4rem .75rem;font-size:13px;min-height:36px}.ts-btn-remove{padding:4px 10px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:4px;font-size:12px;cursor:pointer}.ts-btn-remove:hover{background:#fecaca}.ts-btn-approve{padding:.5rem 1.25rem;background:#059669;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.ts-btn-approve:hover{background:#047857}.ts-btn-reject{padding:.5rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.ts-btn-reject:hover{background:#b91c1c}.ts-btn-danger{padding:.5rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.ts-nav-btns{display:flex;gap:.5rem;margin-top:1rem}.ts-submit-btns{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.ts-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1rem}.ts-summary-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:15px}.ts-summary-row:last-child{border-bottom:none}.ts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.ts-date-controls{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.ts-filter-row{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap}.ts-filter-btn{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;min-height:44px}.ts-filter-btn.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.ts-list{display:flex;flex-direction:column;gap:8px}.ts-list-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;cursor:pointer}.ts-list-item:hover{border-color:#9ca3af}.ts-list-header{display:flex;justify-content:space-between;align-items:center}.ts-review-list{display:flex;flex-direction:column;gap:8px}.ts-review-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.ts-review-header{display:flex;gap:10px;align-items:center;padding:.75rem;cursor:pointer}.ts-review-header:hover{background:#f9fafb}.ts-review-header input[type=checkbox]{width:20px;height:20px;accent-color:#1e3a5f;flex-shrink:0}.ts-review-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.ts-expanded{padding:.75rem;background:#f9fafb;border-top:1px solid #e5e7eb}.ts-detail-table{width:100%;border-collapse:collapse;font-size:13px}.ts-detail-table th{text-align:left;padding:4px 8px;font-size:11px;font-weight:600;text-transform:uppercase;color:#6b7280;border-bottom:1px solid #e5e7eb}.ts-detail-table td{padding:4px 8px;border-bottom:1px solid #f3f4f6}.ts-eq-results{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto;margin-bottom:1rem}.ts-eq-item{padding:.6rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;text-align:left;min-height:44px}.ts-eq-item:hover{border-color:#1e3a5f;background:#eff6ff}.ts-eq-added{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem}.ts-eq-row{display:flex;align-items:center;gap:.5rem;padding:.6rem;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa;flex-wrap:wrap}.ts-eq-inputs{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}.ts-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ts-modal{background:#fff;border-radius:8px;padding:1.5rem;width:100%;max-width:500px;box-shadow:0 10px 40px #0003}.bid-pipeline-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.bid-pipeline-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;border-top:3px solid #6b7280}.bid-pipeline-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.bid-pipeline-count{font-size:1.75rem;font-weight:700;color:#1a2744}.bid-pipeline-value{font-size:13px;color:#6b7280;font-weight:500}.bid-tabs{display:flex;gap:4px;margin-bottom:1rem;flex-wrap:wrap}.bid-tab{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;font-weight:500;cursor:pointer}.bid-tab.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.bid-builder{max-width:1200px}.bid-steps{display:flex;gap:4px;margin-bottom:1rem;flex-wrap:wrap}.bid-step{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.bid-step.active{border-color:#1e3a5f;background:#eff6ff;font-weight:600}.bid-step.done{border-color:#059669;background:#f0fdf4}.bid-step-num{width:24px;height:24px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.bid-step.active .bid-step-num{background:#1e3a5f;color:#fff}.bid-step.done .bid-step-num{background:#059669;color:#fff}.bid-step-label{display:none}@media (min-width: 768px){.bid-step-label{display:inline}}.bid-layout{display:flex;gap:1rem;align-items:flex-start}.bid-main{flex:1;min-width:0}.bid-sidebar-summary{width:240px;flex-shrink:0}@media (max-width: 900px){.bid-layout{flex-direction:column}.bid-sidebar-summary{width:100%}}.bid-add-row{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.bid-summary-section{padding:.5rem 0}.bid-summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;border-bottom:1px solid #f3f4f6}.bid-summary-row:last-child{border-bottom:none}.bid-grand-total{border-top:2px solid #1e3a5f;margin-top:.5rem;padding-top:.5rem;font-size:18px;font-weight:800;color:#1e3a5f;border-bottom:none}@media (max-width: 768px){.app-content{padding:.75rem}.sidebar{display:none}.app-layout,.ts-entry-times,.ts-default-times,.ts-submit-btns,.ts-nav-btns{flex-direction:column}.ts-review-header{flex-direction:column;align-items:flex-start;gap:6px}.ts-date-controls{flex-direction:column}.ts-stats,.stats{grid-template-columns:repeat(2,1fr)}.ts-detail-table{font-size:12px}.ts-detail-table th,.ts-detail-table td{padding:3px 4px}.bid-pipeline-cards{grid-template-columns:repeat(2,1fr)}.bid-add-row{flex-direction:column;align-items:stretch}.bid-tabs{overflow-x:auto}}.mobile-bottom-nav{display:none}@media (max-width: 767px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background:#1a2744;z-index:9000;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px #0003;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;min-width:44px;min-height:44px;background:none;border:none;color:#9ca3af;text-decoration:none;font-size:10px;gap:2px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-tab.active{color:#d1b96a}.mobile-tab-icon{font-size:20px;line-height:1}.mobile-tab-label{font-size:10px;font-weight:600;letter-spacing:.02em}}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9500;animation:fadeIn .15s ease}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:360px;background:#1a2744;display:flex;flex-direction:column;animation:slideIn .2s ease;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.mobile-menu-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:none;border-radius:8px;color:#fff;font-size:20px;cursor:pointer}.mobile-menu-body{flex:1;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch}.mobile-menu-section{padding:4px 0}.mobile-menu-section-title{padding:12px 20px 6px;font-size:11px;font-weight:700;color:#d1b96a;text-transform:uppercase;letter-spacing:.08em}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:14px 20px;color:#e5e7eb;text-decoration:none;font-size:15px;font-weight:500;min-height:48px;-webkit-tap-highlight-color:transparent}.mobile-menu-item:active{background:#ffffff0d}.mobile-menu-item.active{color:#d1b96a;background:#d1b96a1a}.mobile-menu-item-icon{width:28px;text-align:center;font-size:16px}.mobile-menu-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}.mobile-menu-logout{width:100%;padding:14px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;min-height:48px}@media (max-width: 767px){.sidebar{display:none!important}.app-layout{flex-direction:column!important}.app-content{margin-left:0!important;padding:12px 12px 80px!important}.stats{grid-template-columns:1fr!important;gap:8px!important}.stat-card .value{font-size:1.5rem}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}thead,tbody,tfoot{display:table;width:100%}.ts-filter-row,.ts-entry-times,.ts-default-times,.ts-date-controls{flex-direction:column!important;gap:8px!important}.ts-filter-row>*,.ts-entry-times>*,.ts-default-times>*{width:100%!important;min-width:unset!important}.ts-submit-btns,.ts-nav-btns{flex-direction:column!important;gap:8px!important}.ts-submit-btns>button,.ts-nav-btns>button,.ts-submit-btns>a,.ts-nav-btns>a{width:100%!important}.page-title{font-size:1.3rem!important}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}.modal-content,.dialog-content,[class*=modal]>div{width:95vw!important;max-width:95vw!important;max-height:90vh!important;margin:5vh auto!important}[style*=gridTemplateColumns],.bid-pipeline-cards{grid-template-columns:1fr!important}button,a.mobile-tab,select{min-height:44px}input,select,textarea{min-height:44px;font-size:16px!important;padding:8px 12px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:22px;min-height:22px}td,th{padding:10px 8px!important;font-size:14px!important}.ts-crew-card{padding:12px!important}.ts-submit-btns>button[type=submit],button.ts-submit-btn{min-height:56px!important;font-size:18px!important;font-weight:700!important;border-radius:12px!important}.gantt-container,.deployment-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-sidebar{display:none!important}.login-container{padding:12px!important}.login-card{width:100%!important;max-width:400px!important;padding:20px!important;box-sizing:border-box!important;margin:0 auto}.login-card input{font-size:16px!important;min-height:48px;box-sizing:border-box!important;padding:12px!important}.login-card button{width:100%!important;min-height:48px;font-size:16px!important}}@media (max-width: 400px){.login-container{padding:8px!important}.login-card{padding:1rem!important;max-width:100%!important}.login-card h1{font-size:1.25rem!important}}@media (min-width: 768px){.mobile-bottom-nav,.mobile-menu-overlay{display:none!important}}
