*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:#0a0a0a;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px);color:#fff;min-height:100vh}.app{min-height:100vh;padding-bottom:80px}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#10b981;padding:12px 24px;border-radius:10px;z-index:999;animation:fadeIn .2s;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}nav{background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #252525;padding:12px 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-in{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;color:#ef4444;cursor:pointer;font-size:1.1rem}.nav-btns{display:flex;gap:8px}.nav-btns button{background:#ffffff0d;border:1px solid #333;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;position:relative;font-size:.9rem;transition:all .2s}.nav-btns button:hover{background:#ffffff1a}.nav-btns button.act{background:#ef4444;border-color:#ef4444}.nav-btns button:active{transform:scale(.95)}.dot{background:#ef4444;color:#fff;font-size:.6rem;padding:2px 5px;border-radius:10px;margin-left:4px}.dot-sm{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#ef4444;border-radius:50%;box-shadow:0 0 8px #ef4444}main{max-width:1200px;margin:0 auto;padding:20px 15px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.header h1{font-size:1.4rem}.header p{color:#666;font-size:.9rem}.btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 15px #ef444466}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid #333;padding:12px 20px;border-radius:10px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffff26}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer}.btn-pdf{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer}.btn-whats{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer}.btn-whats:disabled{background:#333;opacity:.6}.btn-back{background:#ffffff0d;border:1px solid #333;color:#fff;padding:10px 16px;border-radius:8px;margin-bottom:15px;cursor:pointer}button:active{transform:scale(.97)}.full{width:100%}.stats{display:flex;gap:10px;margin-bottom:20px;overflow-x:auto;padding-bottom:5px}.stat{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;min-width:100px;flex-shrink:0}.stat small{color:#666;font-size:.75rem}.stat b{font-size:1.3rem}.alert{background:linear-gradient(135deg,#ef4444,#f97316);padding:14px;border-radius:12px;margin-bottom:15px;cursor:pointer;box-shadow:0 4px 20px #ef44444d}.filters{display:flex;gap:10px;margin-bottom:15px}.filters input,.filters select{flex:1;padding:12px;background:#ffffff0d;border:1px solid #333;border-radius:10px;color:#fff;font-size:1rem}.filters input:focus,.filters select:focus{border-color:#ef4444;outline:none;background:#ef44440d}.cards{display:grid;grid-template-columns:1fr;gap:12px}.card{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:14px;padding:15px;cursor:pointer;transition:all .2s}.card:hover{border-color:#333;transform:translateY(-2px)}.card:active{transform:scale(.98)}.card-top{display:flex;justify-content:space-between;margin-bottom:8px}.os-num{color:#ef4444;font-weight:700;font-size:.9rem}.os-num small{color:#666;font-weight:400}.status{padding:4px 10px;border-radius:15px;font-size:.75rem;font-weight:600}.card h3{margin-bottom:8px;font-size:1rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.8rem;border:1px solid}.badge b{padding:2px 6px;background:#0000004d;border-radius:4px}.serie{color:#666;font-size:.8rem;margin:6px 0}.def{color:#888;font-size:.85rem;margin:6px 0}.val{color:#10b981;font-weight:700}.pend-card.critico{border-color:#ef4444;border-width:2px;box-shadow:0 0 15px #ef444433}.pend-card.urgente{border-color:#f97316;border-width:2px;box-shadow:0 0 15px #f9731633}.pend-card.atencao{border-color:#fbbf24;border-width:2px;box-shadow:0 0 15px #fbbf2433}.pend-card.aviso{border-color:#10b981;border-width:2px;box-shadow:0 0 15px #10b98133}.dias{background:#ffffff1a;padding:4px 10px;border-radius:15px;font-size:.8rem}.empty{text-align:center;padding:40px;color:#444}.empty-pend{text-align:center;padding:60px}.empty-pend p{margin-top:10px;color:#666}.detail{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:16px;padding:20px}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #252525;flex-wrap:wrap;gap:10px}.detail-head h1{font-size:1.3rem}.detail-head small{color:#666;font-weight:400}.detail-head p{color:#666;font-size:.9rem}.status-lg{padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.detail-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:20px}.detail-sec{background:#0000004d;padding:15px;border-radius:12px;border:1px solid #1a1a1a}.detail-sec.full{grid-column:1/-1}.detail-sec h4{color:#666;font-size:.8rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.val-big{font-size:1.1rem;font-weight:600}.tel{color:#3b82f6;margin-top:5px}.serie-d{color:#3b82f6;margin-top:8px}.price{color:#10b981;font-size:1.1rem;font-weight:600}.detail-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.pend-sec{margin-bottom:25px}.pend-sec h2{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #252525;font-size:1rem}.pend-sec.critico h2{color:#ef4444}.pend-sec.urgente h2{color:#f97316}.pend-sec.atencao h2{color:#fbbf24}.pend-sec.aviso h2{color:#10b981}.form{max-width:600px}.form-sec{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:14px;padding:18px;margin-bottom:12px}.form-sec h2{color:#ef4444;font-size:.95rem;margin-bottom:12px}.form-sec input,.form-sec select,.form-sec textarea{width:100%;padding:12px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;font-size:1rem;margin-bottom:10px;transition:all .2s}.form-sec input:last-child,.form-sec select:last-child,.form-sec textarea:last-child{margin-bottom:0}.form-sec input:focus,.form-sec select:focus,.form-sec textarea:focus{border-color:#ef4444;outline:none;background:#ef44440d}.form-sec textarea{min-height:80px;resize:vertical}.form-sec label{display:block;color:#666;font-size:.85rem;margin:12px 0 8px}.form-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-btns.three{grid-template-columns:auto 1fr 1fr}.eq-sel label{display:block;color:#666;font-size:.85rem;margin-bottom:8px}.tipo-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.tipo-btns button{padding:12px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.tipo-btns button:hover{border-color:#444}.tipo-btns button.act{border-color:#ef4444;background:#ef444426;color:#ef4444}.eq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.eq-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;background:#0000004d;border:1px solid #333;border-radius:10px;cursor:pointer;color:#888;font-size:.7rem;transition:all .2s}.eq-grid button:hover{border-color:#444}.eq-grid button.act{border-color:var(--c);background:var(--bg)}.eq-grid button b{font-size:1rem}.eq-grid button span{text-align:center}.eq-prev{display:flex;align-items:center;gap:10px;padding:12px;background:#0000004d;border-radius:10px;margin-top:10px;border:1px solid #252525}.eq-prev span{color:#666;font-size:.85rem}.eq-sel input{width:100%;padding:12px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;margin-top:8px}.serie-in .serie-row{display:flex;gap:8px}.serie-in input{flex:1;padding:12px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;text-transform:uppercase}.serie-in button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 16px;border-radius:10px;font-size:1.1rem;cursor:pointer}.serie-in small{color:#555;font-size:.75rem;margin-top:6px;display:block}.imp-box{max-width:600px}.imp-sec{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:14px;padding:18px;margin-bottom:12px}.imp-sec h2{color:#ef4444;font-size:.95rem;margin-bottom:12px}.file-wrap{position:relative;margin-bottom:12px}.file-wrap input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-wrap label{display:block;padding:30px;background:#0000004d;border:2px dashed #333;border-radius:10px;text-align:center;cursor:pointer;transition:all .2s}.file-wrap:hover label{border-color:#444}.imp-sec table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:12px}.imp-sec th,.imp-sec td{padding:10px;text-align:left;border-bottom:1px solid #252525}.imp-sec th{background:#0000004d;color:#ef4444}.imp-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-box{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #333;border-radius:18px;padding:25px;width:100%;max-width:380px;text-align:center;animation:modalIn .2s}@keyframes modalIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-icon{font-size:2.5rem;margin-bottom:12px}.modal-box h3{margin-bottom:8px}.modal-box p{color:#888;margin-bottom:20px}.modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exp-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:15px}.exp-btns button{padding:16px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s}.exp-btns button:hover{border-color:#ef4444;background:#ef44441a}.camera-box{background:#0a0a0a;border:1px solid #333;border-radius:18px;overflow:hidden;width:100%;max-width:450px}.cam-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(145deg,#1a1a1a,#0f0f0f)}.cam-head button{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}.cam-view{position:relative;background:#000}.cam-view video{width:100%;display:block}.cam-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:280px;height:120px;border:3px solid #ef4444;border-radius:10px;background:#ef44441a;box-shadow:0 0 30px #ef44444d}.cam-err{padding:40px;text-align:center;color:#ef4444}.btn-capture{display:block;margin:15px auto;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:14px 30px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #ef444466}.btn-capture:disabled{background:#333;box-shadow:none}.notif{position:fixed;top:55px;right:10px;left:10px;max-width:350px;margin-left:auto;background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #333;border-radius:14px;z-index:150;max-height:70vh;overflow-y:auto;box-shadow:0 10px 40px #000000b3}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #252525}.notif-head h3{font-size:.95rem}.notif-head button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.notif p{padding:20px;text-align:center;color:#666}.notif-g{padding:10px}.notif-g h4{font-size:.8rem;margin-bottom:8px}.notif-g.critico h4{color:#ef4444}.notif-g.urgente h4{color:#f97316}.notif-g.atencao h4{color:#fbbf24}.notif-g.aviso h4{color:#10b981}.notif-item{background:#0000004d;padding:10px;border-radius:8px;margin-bottom:6px;cursor:pointer;font-size:.85rem;display:flex;justify-content:space-between;border:1px solid #1a1a1a;transition:all .2s}.notif-item:hover{border-color:#333}.notif-item:active{background:#ffffff0d}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a0a0a;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px)}.login-box{background:linear-gradient(145deg,#1a1a1a,#0f0f0f);border:1px solid #252525;border-radius:20px;padding:35px 25px;width:100%;max-width:360px;text-align:center;box-shadow:0 20px 60px #00000080}.login-icon{font-size:3.5rem;margin-bottom:10px}.login-box h1{color:#ef4444;font-size:1.4rem;margin-bottom:5px}.login-box>p{color:#666;margin-bottom:25px;font-size:.9rem}.login-box form{display:flex;flex-direction:column;gap:12px}.login-box input{padding:14px;background:#0000004d;border:1px solid #333;border-radius:10px;color:#fff;font-size:1rem;text-align:center;transition:all .2s}.login-box input:focus{border-color:#ef4444;outline:none;background:#ef44440d}.login-box button{padding:14px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #ef44444d}.login-box button:disabled{background:#333;box-shadow:none}.login-err{background:#ef444426;color:#ef4444;padding:10px;border-radius:8px;font-size:.9rem;border:1px solid rgba(239,68,68,.3)}@media (min-width:768px){.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.detail-grid{grid-template-columns:1fr 1fr}.eq-grid{grid-template-columns:repeat(5,1fr)}}
