@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');

/* === HARD RESET === */
#retech-portal-root,#retech-portal-root *,#retech-portal-root *::before,#retech-portal-root *::after{all:unset!important;box-sizing:border-box!important;font-family:'Outfit',system-ui,sans-serif!important;-webkit-font-smoothing:antialiased!important;line-height:1.5!important}
#retech-portal-root{display:block!important;position:relative!important;min-height:500px!important;border-radius:16px!important;overflow:hidden!important;color:#1a1a2e!important;font-size:14px!important;background:#f4f5f7!important}
#retech-portal-root a{color:inherit!important;text-decoration:none!important;cursor:pointer!important}
#retech-portal-root button,#retech-portal-root input,#retech-portal-root textarea,#retech-portal-root select{display:block!important;font-family:inherit!important;font-size:inherit!important;color:inherit!important;background:#fff!important;border:1.5px solid #dde1e8!important;border-radius:8px!important;padding:10px 13px!important;width:100%!important;outline:none!important;transition:border-color .2s,box-shadow .2s!important}
#retech-portal-root input:focus,#retech-portal-root textarea:focus,#retech-portal-root select:focus{border-color:#e63946!important;box-shadow:0 0 0 3px rgba(230,57,70,.07)!important}
#retech-portal-root textarea{resize:vertical!important;min-height:80px!important}
#retech-portal-root select{cursor:pointer!important;appearance:auto!important;-webkit-appearance:auto!important}

/* === VARS === */
#retech-portal-root{--P:#0b1d33;--A:#e63946;--AH:#d32f3e;--AL:#ff7a85;--G:#10b981;--W:#f59e0b;--I:#2563eb;--B:#e2e8f0;--S:#f4f5f7;--C:#fff;--T:#111827;--TM:#6b7280}

/* === ANIMATIONS === */
@keyframes rtFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes rtSpin{to{transform:rotate(360deg)}}
@keyframes rtPop{0%{transform:scale(.95);opacity:0}100%{transform:scale(1);opacity:1}}

/* === BUTTONS === */
.rb{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:9px 18px!important;border-radius:8px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;border:none!important;transition:all .15s!important;letter-spacing:.02em!important;white-space:nowrap!important;width:auto!important}
.rb:hover{opacity:.88!important;transform:translateY(-1px)!important}.rb:active{transform:translateY(0)!important}
.rb-r{background:var(--A)!important;color:#fff!important}.rb-d{background:var(--P)!important;color:#fff!important}
.rb-o{background:transparent!important;color:var(--T)!important;border:1.5px solid var(--B)!important}
.rb-g{background:#25d366!important;color:#fff!important}.rb-b{background:var(--I)!important;color:#fff!important}
.rb-gh{background:transparent!important;color:var(--TM)!important;border:none!important;padding:5px 8px!important}
.rb-f{width:100%!important;justify-content:center!important;padding:12px!important;font-size:13px!important}

/* === LOGIN === */
.rl-wrap{min-height:520px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(140deg,#060e18 0%,#0f2744 40%,#0b1d33 100%)!important;border-radius:16px!important;padding:40px 20px!important;position:relative!important}
.rl-wrap::before{content:''!important;position:absolute!important;inset:0!important;background:radial-gradient(ellipse at 30% 40%,rgba(230,57,70,.06),transparent 60%),radial-gradient(ellipse at 70% 70%,rgba(37,99,235,.04),transparent 50%)!important;pointer-events:none!important}
.rl-box{background:#fff!important;border-radius:18px!important;padding:36px 30px!important;width:100%!important;max-width:370px!important;box-shadow:0 32px 72px rgba(0,0,0,.35)!important;position:relative!important;z-index:1!important;animation:rtPop .4s ease!important}
.rl-logo{text-align:center!important;margin-bottom:28px!important}
.rl-icon{width:50px!important;height:50px!important;border-radius:13px!important;margin:0 auto 14px!important;background:linear-gradient(135deg,var(--A),var(--AL))!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;box-shadow:0 6px 20px rgba(230,57,70,.25)!important}
.rl-logo h1{font-size:20px!important;font-weight:900!important;color:var(--P)!important;letter-spacing:-.03em!important;text-transform:uppercase!important;display:block!important}
.rl-logo .rl-sub{font-size:10px!important;color:var(--TM)!important;letter-spacing:.12em!important;font-weight:600!important;text-transform:uppercase!important;margin-top:2px!important;display:block!important}

/* === FORM FIELD === */
.rf{margin-bottom:14px!important;display:block!important}
.rf label{display:block!important;font-size:9.5px!important;font-weight:700!important;color:var(--TM)!important;margin-bottom:5px!important;text-transform:uppercase!important;letter-spacing:.1em!important}

/* === HEADER === */
.rh{background:var(--P)!important;color:#fff!important;padding:0 20px!important;height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.rh-brand{display:flex!important;align-items:center!important;gap:8px!important;font-weight:800!important;font-size:14px!important;color:#fff!important}
.rh-brand .rh-tag{font-size:8px!important;opacity:.35!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin-left:3px!important}
.rh-right{display:flex!important;align-items:center!important;gap:10px!important}
.rh-mid{font-size:11px!important;opacity:.5!important;color:#fff!important}
.rh-logout{background:rgba(255,255,255,.1)!important;border:none!important;color:#fff!important;padding:5px 13px!important;border-radius:6px!important;font-size:10.5px!important;font-weight:600!important;cursor:pointer!important;width:auto!important}

/* === MAIN === */
.rm{padding:20px!important;background:var(--S)!important;min-height:400px!important;display:block!important}
.rm-c{max-width:900px!important;margin:0 auto!important;display:block!important}

/* === MACHINE CARD === */
.rmc{background:linear-gradient(135deg,var(--P),#1a3a5c)!important;color:#fff!important;border-radius:14px!important;padding:22px 24px!important;margin-bottom:16px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:14px!important;position:relative!important;overflow:hidden!important}
.rmc::after{content:''!important;position:absolute!important;right:-30px!important;top:-30px!important;width:130px!important;height:130px!important;border-radius:50%!important;background:rgba(255,255,255,.02)!important;pointer-events:none!important}
.rmc-l{font-size:9px!important;opacity:.45!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:600!important;color:#fff!important;display:block!important}
.rmc-t{font-size:17px!important;font-weight:800!important;margin:2px 0!important;color:#fff!important;display:block!important;letter-spacing:-.02em!important}
.rmc-s{font-size:11px!important;opacity:.5!important;color:#fff!important;display:block!important}
.rmc-r{text-align:right!important}.rmc-w{font-size:14px!important;font-weight:800!important;margin:2px 0!important;color:#fff!important;display:block!important}

/* === ACTIONS === */
.ra{display:flex!important;gap:8px!important;margin-bottom:16px!important;flex-wrap:wrap!important}

/* === TABS === */
.rt-tabs{display:flex!important;gap:0!important;border-bottom:2px solid var(--B)!important;margin-bottom:16px!important}
.rt-tab{padding:8px 16px!important;font-size:11px!important;font-weight:700!important;cursor:pointer!important;background:none!important;border:none!important;border-bottom:2px solid transparent!important;margin-bottom:-2px!important;color:var(--TM)!important;text-transform:uppercase!important;letter-spacing:.05em!important;width:auto!important;transition:all .15s!important}
.rt-tab:hover{color:var(--T)!important}.rt-tab.on{color:var(--A)!important;border-bottom-color:var(--A)!important}

/* === CARDS === */
.rc{background:var(--C)!important;border-radius:12px!important;border:1px solid var(--B)!important;padding:16px 18px!important;margin-bottom:10px!important;display:block!important;animation:rtFade .3s ease!important;transition:box-shadow .2s!important}
.rc:hover{box-shadow:0 4px 16px rgba(0,0,0,.04)!important}
.rc-h{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:8px!important}
.rc-id{font-size:11px!important;font-weight:800!important;color:var(--I)!important;letter-spacing:.02em!important}
.rc-dt{font-size:11px!important;color:var(--TM)!important;margin-left:6px!important}
.rc-iss{font-size:13px!important;font-weight:500!important;line-height:1.55!important;margin-bottom:6px!important;display:block!important}
.rc-meta{font-size:11px!important;color:var(--TM)!important;display:block!important}
.rc-meta strong{color:var(--T)!important;font-weight:600!important}

/* === BADGES === */
.badge{display:inline-flex!important;align-items:center!important;padding:2px 9px!important;border-radius:20px!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.04em!important;white-space:nowrap!important;text-transform:uppercase!important}
.badges{display:flex!important;gap:4px!important;flex-wrap:wrap!important}
.bs-raised{color:var(--I)!important;background:#eff6ff!important}.bs-diag{color:#7c3aed!important;background:#f5f3ff!important}
.bs-alloc{color:#0891b2!important;background:#ecfeff!important}.bs-sched{color:#d97706!important;background:#fffbeb!important}
.bs-visit{color:#059669!important;background:#ecfdf5!important}.bs-prog{color:#7c3aed!important;background:#f5f3ff!important}
.bs-parts{color:var(--W)!important;background:#fffbeb!important}.bs-revis{color:#dc2626!important;background:#fef2f2!important}
.bs-closed{color:var(--G)!important;background:#ecfdf5!important}.bs-online{color:#0891b2!important;background:#ecfeff!important}
.bp-low{color:var(--G)!important;background:#ecfdf5!important}.bp-med{color:var(--W)!important;background:#fffbeb!important}
.bp-high{color:var(--A)!important;background:#fef2f2!important}.bp-crit{color:#dc2626!important;background:#fef2f2!important;border:1px solid #fecaca!important}

/* === STATUS TRACKER === */
.trk{display:flex!important;align-items:flex-start!important;margin:12px 0 8px!important;overflow-x:auto!important;padding-bottom:4px!important}
.trk-s{display:flex!important;flex-direction:column!important;align-items:center!important;flex:1!important;min-width:60px!important;position:relative!important}
.trk-s::after{content:''!important;position:absolute!important;top:10px!important;left:50%!important;width:100%!important;height:2px!important;background:var(--B)!important;z-index:0!important}
.trk-s:last-child::after{display:none!important}
.trk-s.done::after{background:var(--G)!important}.trk-s.now::after{background:linear-gradient(90deg,var(--G),var(--B))!important}
.trk-dot{width:20px!important;height:20px!important;border-radius:50%!important;border:2px solid var(--B)!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:9px!important;position:relative!important;z-index:1!important;transition:all .2s!important}
.trk-s.done .trk-dot{background:var(--G)!important;border-color:var(--G)!important;color:#fff!important}
.trk-s.now .trk-dot{background:var(--I)!important;border-color:var(--I)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important}
.trk-lbl{font-size:7.5px!important;font-weight:700!important;color:var(--TM)!important;text-align:center!important;margin-top:3px!important;text-transform:uppercase!important;letter-spacing:.04em!important;max-width:55px!important;line-height:1.15!important;display:block!important}
.trk-s.done .trk-lbl{color:var(--G)!important}.trk-s.now .trk-lbl{color:var(--I)!important;font-weight:800!important}

/* === RESOLUTION === */
.rres{background:#f0fdf4!important;border-radius:8px!important;padding:8px 12px!important;font-size:12px!important;color:#065f46!important;margin:6px 0!important;border-left:3px solid var(--G)!important;display:block!important}
.rdiag{background:#eff6ff!important;border-radius:8px!important;padding:8px 12px!important;font-size:12px!important;color:#1e40af!important;margin:6px 0!important;border-left:3px solid var(--I)!important;display:block!important}

/* === EMPTY === */
.remp{text-align:center!important;padding:40px 20px!important;display:block!important}
.remp-i{font-size:36px!important;display:block!important;margin-bottom:10px!important}
.remp h3{font-size:15px!important;font-weight:700!important;color:var(--P)!important;display:block!important}
.remp p{font-size:12px!important;color:var(--TM)!important;margin-top:3px!important;display:block!important}

/* === STARS === */
.stars{display:inline-flex!important;gap:1px!important}.star{font-size:15px!important;transition:transform .1s!important;cursor:default!important}
.star.on{color:#fbbf24!important}.star.off{color:#d1d5db!important}.star.ck{cursor:pointer!important}.star.ck:hover{transform:scale(1.3)!important}

/* === MODAL === */
.rm-bg{position:fixed!important;inset:0!important;z-index:100000!important;background:rgba(0,0,0,.5)!important;backdrop-filter:blur(3px)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;animation:rtFade .15s!important}
.rm-box{background:#fff!important;border-radius:16px!important;width:100%!important;max-width:480px!important;max-height:85vh!important;overflow-y:auto!important;box-shadow:0 24px 56px rgba(0,0,0,.18)!important;display:block!important}
.rm-hd{padding:16px 20px!important;border-bottom:1px solid var(--B)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;position:sticky!important;top:0!important;background:#fff!important;z-index:1!important;border-radius:16px 16px 0 0!important}
.rm-hd h3{font-size:15px!important;font-weight:800!important;color:var(--P)!important;display:block!important}
.rm-x{background:none!important;border:none!important;font-size:20px!important;cursor:pointer!important;color:var(--TM)!important;padding:2px 6px!important;width:auto!important;line-height:1!important}
.rm-bd{padding:20px!important;display:block!important}
.rm-ft{display:flex!important;gap:8px!important;justify-content:flex-end!important;padding-top:14px!important;border-top:1px solid var(--B)!important;margin-top:6px!important}

/* === UPLOAD === */
.rup-z{border:2px dashed var(--B)!important;border-radius:10px!important;padding:18px!important;text-align:center!important;cursor:pointer!important;transition:all .2s!important;margin-bottom:10px!important;background:#fafbfc!important;display:block!important}
.rup-z:hover,.rup-z.dg{border-color:var(--A)!important;background:#fff5f5!important}
.rup-z .ri{font-size:24px!important;display:block!important;margin-bottom:3px!important}
.rup-z p{font-size:11px!important;color:var(--TM)!important;display:block!important}
.rup-z .rh2{font-size:9px!important;color:#b0b8c4!important;margin-top:2px!important;display:block!important}
.rpv{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(68px,1fr))!important;gap:6px!important;margin-bottom:10px!important}
.rpv-i{position:relative!important;border-radius:8px!important;overflow:hidden!important;aspect-ratio:1!important;background:#edf0f5!important;border:1px solid var(--B)!important;display:block!important}
.rpv-i img,.rpv-i video{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.rpv-rm{position:absolute!important;top:3px!important;right:3px!important;width:18px!important;height:18px!important;border-radius:50%!important;background:rgba(0,0,0,.6)!important;color:#fff!important;border:none!important;font-size:11px!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;width:18px!important;line-height:1!important}

/* === MEDIA ROW === */
.rmedia{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:8px!important}
.rmedia-t{width:52px!important;height:52px!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--B)!important;display:block!important}
.rmedia-t img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}

/* === CONFIG GRID === */
.rcfg{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important}
.rcfg-i{background:#f8f9fb!important;border-radius:8px!important;padding:8px 12px!important;display:block!important}
.rcfg-l{font-size:8.5px!important;font-weight:700!important;color:var(--TM)!important;text-transform:uppercase!important;letter-spacing:.08em!important;display:block!important}
.rcfg-v{font-size:12px!important;font-weight:600!important;color:var(--T)!important;margin-top:1px!important;display:block!important}

/* === ALERTS === */
.ralert{padding:10px 14px!important;border-radius:8px!important;font-size:12px!important;margin-bottom:12px!important;display:flex!important;align-items:center!important;gap:6px!important;font-weight:500!important;animation:rtFade .3s!important}
.ral-ok{background:#ecfdf5!important;border:1px solid #a7f3d0!important;color:#065f46!important}
.ral-err{background:#fef2f2!important;border:1px solid #fecaca!important;color:#991b1b!important}

/* === SPINNER === */
.rspin{display:inline-block!important;width:16px!important;height:16px!important;border:2px solid var(--B)!important;border-top-color:var(--A)!important;border-radius:50%!important;animation:rtSpin .5s linear infinite!important}

/* === FOOTER === */
.rfooter{text-align:center!important;padding:16px!important;font-size:10px!important;color:var(--TM)!important;border-top:1px solid var(--B)!important;margin-top:20px!important;display:block!important}
.rfooter a{color:var(--A)!important;font-weight:600!important}

/* === ADMIN DASHBOARD === */
.rad-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:10px!important;margin-bottom:20px!important}
.rad-stat{background:var(--C)!important;border-radius:12px!important;padding:16px 18px!important;border:1px solid var(--B)!important;display:block!important}
.rad-stat-n{font-size:26px!important;font-weight:900!important;letter-spacing:-.03em!important;display:block!important}
.rad-stat-l{font-size:9px!important;font-weight:700!important;color:var(--TM)!important;text-transform:uppercase!important;letter-spacing:.08em!important;display:block!important;margin-top:2px!important}

/* Location Planning Card */
.rad-loc{background:var(--C)!important;border-radius:12px!important;border:1px solid var(--B)!important;padding:16px 18px!important;margin-bottom:10px!important;display:block!important}
.rad-loc-h{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}
.rad-loc-pin{font-size:13px!important;font-weight:800!important;color:var(--P)!important;display:block!important}
.rad-loc-area{font-size:11px!important;color:var(--TM)!important;display:block!important}
.rad-loc-count{background:var(--A)!important;color:#fff!important;padding:2px 10px!important;border-radius:20px!important;font-size:10px!important;font-weight:700!important;display:inline-flex!important}
.rad-loc-item{padding:8px 0!important;border-top:1px solid #f0f2f5!important;display:grid!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;align-items:center!important;font-size:12px!important}
.rad-loc-item:first-child{border-top:none!important}

/* === RESPONSIVE === */
@media(max-width:640px){.rl-box{padding:28px 20px!important}.rmc{grid-template-columns:1fr!important}.rmc-r{text-align:left!important}.ra{flex-direction:column!important}.ra .rb{width:100%!important;justify-content:center!important}.rm{padding:14px!important}.rh{padding:0 12px!important}.trk-s{min-width:46px!important}.rcfg{grid-template-columns:1fr!important}.rm-box{max-width:100%!important;border-radius:12px!important}.rad-stats{grid-template-columns:1fr 1fr!important}}
