:root{--primary: #D32F2F;--primary-hover: #B71C1C;--secondary: #1A1A1A;--bg-dark: #0A0A0A;--bg-card: #1E1E1E;--bg-input: #2D2D2D;--text-main: #FFFFFF;--text-muted: #A0A0A0;--border: #333333;--success: #4CAF50;--warning: #FFC107;--error: #F44336;--radius: 8px;--shadow: 0 4px 12px rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-dark);color:var(--text-main);line-height:1.5;overflow-x:hidden}.op-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at center,#1a1a1a,#0a0a0a)}.login-card{width:100%;max-width:400px;background:var(--bg-card);border-radius:16px;padding:40px 30px;border:1px solid var(--border);box-shadow:var(--shadow)}.login-header{text-align:center;margin-bottom:32px}.logo-icon{width:80px;height:80px;background:#ffffff08;color:var(--primary);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:1px solid rgba(255,255,255,.05);overflow:hidden}.login-header h1{font-size:24px;font-weight:800;color:var(--text-main)}.login-header p{color:var(--text-muted);font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-muted)}.form-group input,.op-select{width:100%;height:52px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:0 16px;font-size:16px;color:var(--text-main);transition:all .2s;font-family:inherit}.op-select option{background:var(--bg-card);color:var(--text-main)}.form-group input:focus,.op-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #d32f2f1a}.login-btn{width:100%;height:56px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;margin-top:32px;transition:all .2s}.login-btn:active{transform:scale(.98);background:var(--primary-hover)}.login-error{background:#f443361a;color:var(--error);padding:12px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:20px}.op-header{height:64px;background:var(--bg-card);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border)}.op-header.sticky-top{position:sticky;top:0;z-index:100}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--primary)}.logout-btn,.back-btn{width:40px;height:40px;border-radius:var(--radius);border:none;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer}.logout-btn:hover,.back-btn:hover{background:#ffffff0d;color:var(--text-main)}.welcome-banner{padding:30px 20px;background:linear-gradient(135deg,#1e1e1e,#0a0a0a);border-bottom:1px solid var(--border);color:#fff}.welcome-banner h1{font-size:22px;font-weight:700}.welcome-banner p{font-size:14px;color:var(--text-muted)}.section-header{display:flex;align-items:center;gap:10px}.count-pill{background:var(--bg-input);color:var(--text-muted);font-size:12px;font-weight:700;padding:2px 10px;border-radius:20px}.job-cards-list{display:grid;gap:16px}.op-job-card{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s}.op-job-card:active{transform:scale(.98)}.card-top{display:flex;justify-content:space-between;margin-bottom:12px}.job-id{font-size:13px;font-weight:700;color:var(--text-muted)}.status-tag{font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px;text-transform:uppercase}.status-tag.pending{background:#94a3b81a;color:#94a3b8}.status-tag.in_progress{background:#eab3081a;color:#eab308}.status-tag.completed{background:#10b9811a;color:#10b981}.customer-name{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text-main)}.equipment-info,.location-info{font-size:14px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}.task-progress{flex:1}.progress-text{font-size:12px;font-weight:600;margin-bottom:6px;color:var(--text-muted)}.progress-bar-bg{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.card-footer{display:flex;align-items:flex-end;gap:16px}.header-title{text-align:center}.header-title h2{font-size:16px;font-weight:800;color:var(--text-main)}.header-title p{font-size:12px;color:var(--text-muted)}.section-title{font-size:14px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.info-card{background:var(--bg-card);border-radius:12px;padding:16px;border:1px solid var(--border)}.info-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.info-row:last-child{margin-bottom:0}.info-row .label{color:var(--text-muted)}.info-row .value{font-weight:600;color:var(--text-main)}.op-activity-card{background:var(--bg-card);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--border);position:relative;transition:all .2s}.op-activity-card.locked{background:#ffffff05;border-style:dashed;opacity:.6}.act-header{display:flex;justify-content:space-between;align-items:center}.act-name{display:block;font-weight:700;font-size:16px;color:var(--text-main)}.act-status{font-size:12px;color:var(--text-muted)}.locked-msg{font-size:11px;color:var(--error);display:flex;align-items:center;gap:4px;margin-top:4px}.btn-start,.btn-complete{width:100%;height:48px;border-radius:var(--radius);border:none;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s}.btn-start{background:#eab308;color:#000}.btn-start:hover{background:#facc15}.btn-complete{background:#10b981;color:#fff}.btn-complete:hover{background:#059669}.text-success{color:var(--success)}.text-primary{color:var(--primary)}.text-muted{color:var(--text-muted)}.status-completed{border-left:4px solid #10b981}.status-in_progress{border-left:4px solid #eab308}.loading-state{text-align:center;padding:40px;color:var(--text-muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:16px}.org-logo-sm{height:32px;width:auto;max-width:100px;object-fit:contain}.org-logo-img{width:100%;height:100%;object-fit:contain;padding:10px}.login-fields-fade-in{animation:slideDownFade .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.op-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.op-modal-card{background:#1e293b;width:100%;max-width:400px;border-radius:16px;border:1px solid rgba(255,255,255,.1);overflow:hidden;box-shadow:0 25px 50px -12px #00000080;animation:modalPop .3s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.1rem;color:#fff}.close-btn{background:#ffffff0d;border:none;color:#94a3b8;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.close-btn:hover{background:#ffffff1a;color:#fff}.op-input-disabled{background:#0003!important;color:#94a3b8!important;border-color:#ffffff0d!important;cursor:not-allowed}
