*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.5;color:var(--sym-text);background:var(--sym-dark-bg)}body{min-height:100dvh;overflow-x:hidden;margin:0}#root{min-height:100dvh}:root{--sym-primary:#ff6600;--sym-primary-dark:#d15400;--sym-dark:#111111;--sym-dark-soft:#1a1a1a;--sym-dark-bg:#0f0f0f;--sym-white:#ffffff;--sym-bg:#f8f8f8;--sym-text:#222222;--sym-text-secondary:#666666;--sym-text-muted:#999999;--sym-border:#e2e8f0;--sym-danger:#dc3545;--sym-success:#198754;--sym-service:#e8a800;--sym-pickup:#0d6efd;--sym-purple:#7c3aed;--sym-radius:6px;--sym-font:system-ui,-apple-system,sans-serif}.page-container{min-height:100dvh;display:flex;flex-direction:column;background:var(--sym-bg)}.phone-bezel{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;min-height:100dvh;background:var(--sym-white);overflow:hidden;flex-shrink:0}.phone-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;transition:opacity .28s ease-out,transform .28s ease-out;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--sym-white)}.screen.active{opacity:1;pointer-events:auto;z-index:1}.anim-out-forward{opacity:0;transform:translate(-30px)}.anim-out-back{opacity:0;transform:translate(30px)}.fade-in{opacity:1!important}@media (max-width:767px){.screen{border-radius:0}}.hidden{display:none!important}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#ffffffd9;font-size:12px;font-weight:600;flex-shrink:0;background:var(--sym-dark);border-bottom:3px solid var(--sym-primary);letter-spacing:.5px;font-family:var(--sym-font)}.status-icons{display:flex;gap:4px;align-items:center}.status-icon{width:14px;height:14px;opacity:.7}.splash-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sym-dark-bg);color:#fff;gap:20px;z-index:10}.splash-logo{font-size:32px;font-weight:800;letter-spacing:2px;color:var(--sym-primary)}.splash-sub{font-size:13px;opacity:.6;letter-spacing:.5px;color:var(--sym-text-muted)}.splash-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--sym-primary);border-radius:50%;animation:spin .8s linear infinite}.splash-fade-out{opacity:0!important;transition:opacity .4s ease-out}.login-screen{background-color:var(--sym-dark-bg);background-image:linear-gradient(#111111e0,#111111f5),url(https://22metry.pl/wp-content/uploads/2026/01/IMG_3424-scaled-1.jpeg);background-size:cover;background-position:center;color:#fff;overflow:hidden}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 24px max(16px,env(safe-area-inset-bottom));flex:1;min-height:0;overflow:hidden}.login-fit,.fit-wrap{width:100%;display:flex;flex-direction:column;align-items:center}.login-card{background:var(--sym-white);border-radius:16px;padding:20px 20px 22px;width:100%;max-width:340px;box-shadow:0 20px 50px #00000080;border-bottom:4px solid var(--sym-primary);animation:fadeSlideUp .3s ease-out;transition:transform .15s ease}.login-logo-area{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 0 14px}.login-logo{font-size:26px;font-weight:900;color:var(--sym-primary);letter-spacing:1px;text-transform:uppercase}.login-subtitle{font-size:12px;color:var(--sym-text-secondary);font-weight:600}.login-tabs{margin:12px 0}.pin-area{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 0 10px}.pin-label{font-size:12px;color:var(--sym-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pin-dots{display:flex;gap:12px;padding:6px 0}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--sym-border);transition:all .2s}.pin-dot.filled{background:var(--sym-primary);border-color:var(--sym-primary)}.pin-dot.error{background:var(--sym-danger);border-color:var(--sym-danger)}.login-error{font-size:11px;color:var(--sym-danger);text-align:center;min-height:16px;transition:opacity .2s}.login-blocked{font-size:11px;color:var(--sym-danger);background:#fef2f2;padding:8px 14px;border-radius:var(--sym-radius);text-align:center;border:1px solid rgba(220,53,69,.15)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:220px;margin:0 auto;padding:8px 0}.numpad-key{width:60px;height:60px;border-radius:14px;border:2px solid var(--sym-primary);background:var(--sym-white);font-size:20px;font-weight:800;color:var(--sym-primary);cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.numpad-key:hover{background:#ff660014}.numpad-key:active{background:var(--sym-primary);color:#fff;transform:scale(.92)}.numpad-key svg{width:20px;height:20px;color:var(--sym-text-muted)}.btn-login.btn-primary{display:flex;width:100%;max-width:220px;margin:12px auto 0}.btn-login:disabled{opacity:.4;cursor:not-allowed}.dash-header{background:var(--sym-dark);padding:20px 16px 16px;flex-shrink:0;border-bottom:3px solid var(--sym-primary)}.dash-greeting{font-size:13px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.dash-name{font-size:22px;font-weight:800;color:var(--sym-white);margin-top:2px;letter-spacing:-.5px}.dash-company{font-size:12px;color:var(--sym-text-muted);margin-top:4px}.dash-actions{display:flex;gap:8px;padding:16px 16px 12px;flex-shrink:0}.dash-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border:2px solid var(--sym-primary);background:var(--sym-white);cursor:pointer;transition:all .3s;font-size:12px;font-weight:800;color:var(--sym-text);text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.dash-action-btn:active{transform:scale(.95);background:var(--sym-primary);color:#fff}.dash-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f603}.dash-action-btn svg{width:28px;height:28px;color:var(--sym-primary)}.dash-recent{padding:12px 16px;flex:1;overflow-y:auto}.dash-recent-title{font-size:13px;font-weight:800;color:var(--sym-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.recent-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--sym-border);font-size:13px}.recent-item:last-child{border-bottom:none}.recent-icon{width:28px;height:28px;border-radius:var(--sym-radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}.recent-icon.done{background:#d4edda;color:#155724}.recent-icon.alert{background:#f8d7da;color:#721c24}.recent-info{flex:1}.recent-machine{font-weight:700;color:var(--sym-text)}.recent-meta{font-size:11px;color:var(--sym-text-secondary);margin-top:2px}.recent-status{width:8px;height:8px;border-radius:var(--sym-radius);flex-shrink:0}.recent-status.done{background:#198754}.recent-status.alert{background:#dc3545}.qr-scanner-screen{position:relative;background:#000;color:#fff;display:flex;flex-direction:column;overflow:hidden}.qr-header{position:relative;z-index:3;display:flex;align-items:center;padding:12px 16px;gap:8px;flex-shrink:0;padding-top:max(52px,env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.35) 70%,transparent)}.qr-title{font-size:16px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.8)}.qr-viewfinder{position:fixed;inset:0;z-index:1;background:#000;display:flex;align-items:center;justify-content:center}#qr-reader{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}#qr-reader video{width:100%!important;height:100%!important;object-fit:cover!important}.qr-scan-zone{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(84vw,420px);height:min(62vh,520px);z-index:2;pointer-events:none}.qr-scanner-line{position:absolute;top:0;left:6%;width:88%;height:2px;background:var(--sym-primary);box-shadow:0 0 12px var(--sym-primary);border-radius:1px;animation:scanLine 1.5s ease-in-out infinite}.qr-done{position:absolute;display:none;align-items:center;justify-content:center}.qr-done.show{display:flex}.qr-done-icon{animation:popIn .3s ease-out;color:#22c55e}.qr-instruction{position:relative;z-index:3;text-align:center;padding:16px 24px 8px;font-size:13px;color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.9);margin-top:auto}.qr-error{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:auto;padding:0 24px}.qr-fallback{position:relative;z-index:3;display:block;margin:0 auto 28px;background:#ffffff1f;color:#ffffffe6;border:1px dashed rgba(255,255,255,.3);padding:14px 24px;font-size:13px;cursor:pointer;transition:all .15s;font-weight:600;border-radius:8px}.qr-fallback:active{background:#ffffff38}.qr-fallback-list{position:relative;z-index:3;flex:1;overflow-y:auto;padding:16px;margin-top:8px}.qr-fallback-title{font-size:14px;color:#fff;margin-bottom:12px}.camera-overlay{position:fixed;inset:0;z-index:60;background:#000;display:flex;flex-direction:column;align-items:center;color:#fff}.camera-header{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;padding-top:max(52px,env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.35) 70%,transparent)}.camera-title{font-size:16px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.8)}.camera-count{font-size:13px;font-weight:700;color:var(--sym-primary);text-shadow:0 1px 4px rgba(0,0,0,.8);min-width:48px;text-align:right}.camera-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.camera-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffffffd9;font-size:14px;font-weight:600;background:#0006}.camera-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px;text-align:center;color:#fffffff2;font-size:14px;background:#000000bf}.camera-gallery-btn{background:var(--sym-primary);color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:800;cursor:pointer;text-transform:uppercase;letter-spacing:1px;border-radius:var(--sym-radius)}.camera-gallery-btn:active{transform:scale(.97)}.camera-footer{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 24px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000c)}.camera-hint{font-size:13px;color:#ffffffeb;text-shadow:0 1px 4px rgba(0,0,0,.9);text-align:center}.camera-starting{font-size:12px;color:var(--sym-primary);font-weight:700;animation:gpsPulse 1s infinite}.camera-shutter{width:76px;height:76px;border-radius:50%;border:5px solid rgba(255,255,255,.95);background:#fff3;cursor:pointer;position:relative;transition:transform .12s,opacity .15s;flex-shrink:0}.camera-shutter:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff;transition:transform .12s}.camera-shutter:active:after{transform:scale(.82)}.camera-shutter:disabled{opacity:.35;cursor:not-allowed}.form-footer-hint{font-size:12px;color:var(--sym-text-secondary);text-align:center;font-weight:600}.form-error-hint{font-size:12px;color:var(--sym-danger);font-weight:700;margin-top:6px}.machine-header{position:relative;padding:max(48px,calc(env(safe-area-inset-top) + 40px)) 16px 16px;flex-shrink:0;min-height:140px;background:linear-gradient(135deg,var(--sym-dark),var(--sym-dark-soft))}.machine-header-overlay{position:absolute;top:max(8px,env(safe-area-inset-top));left:8px;z-index:2}.header-back-btn{background:#ffffff1a;border:none;color:#fff;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.header-back-btn:active{background:#ffffff40;transform:scale(.92)}.machine-title-overlay{position:relative;z-index:1}.machine-name-header{font-size:22px;font-weight:800;color:#fff;display:block;letter-spacing:-.5px}.machine-type-header{font-size:12px;color:#ffffffb3;margin-top:4px;display:block;text-transform:uppercase;letter-spacing:.5px}.machine-body{padding:16px;flex:1;overflow-y:auto}.machine-info-card{background:var(--sym-white);padding:20px;box-shadow:0 10px 30px #00000014;border-bottom:4px solid transparent;border-radius:var(--sym-radius);transition:border-color .3s}.machine-info-card:hover{border-bottom-color:var(--sym-primary)}.machine-model{font-size:18px;font-weight:800;color:var(--sym-text)}.machine-type{font-size:13px;color:var(--sym-text-secondary);margin-top:4px}.machine-details{margin-top:16px}.machine-history{margin-top:20px}.machine-history-title{font-size:13px;font-weight:800;color:var(--sym-text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.machine-history-empty{font-size:13px;color:var(--sym-text-muted);padding:8px 0}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--sym-border);font-size:13px}.detail-label{color:var(--sym-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:11px}.detail-value{font-weight:700;color:var(--sym-text)}.detail-value.mono{font-family:monospace;font-size:12px}.detail-value.accent{color:var(--sym-primary)}.badge-green{background:#d4edda;color:#155724;font-size:12px;font-weight:700;padding:3px 10px}.op-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.op-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border:2px solid var(--sym-primary);background:var(--sym-white);cursor:pointer;transition:all .3s;font-size:12px;font-weight:800;color:var(--sym-text);text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.op-btn:active{transform:scale(.95);background:var(--sym-primary);color:#fff}.op-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff660026}.op-btn svg{width:28px;height:28px}.op-btn.deliver svg{color:var(--sym-primary)}.op-btn.deliver{border-left:4px solid var(--sym-primary)}.op-btn.pickup svg{color:var(--sym-pickup)}.op-btn.pickup{border-left:4px solid var(--sym-pickup)}.op-btn.service svg{color:var(--sym-service)}.op-btn.service{border-left:4px solid var(--sym-service)}.op-btn.breakdown svg{color:var(--sym-danger)}.op-btn.breakdown{border-left:4px solid var(--sym-danger)}.op-btn.active{background:var(--sym-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ff66004d}.op-btn.active svg{color:#fff}.form-header{background:var(--sym-dark);padding:48px 16px 16px;flex-shrink:0;border-bottom:3px solid var(--sym-primary)}.form-title{font-size:18px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px}.form-body{padding:16px;flex:1;overflow-y:auto}.form-section{margin-bottom:20px}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.photo-slot{aspect-ratio:4/3;border:2px dashed var(--sym-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;background:var(--sym-white);font-size:20px;color:var(--sym-text-secondary);overflow:hidden;position:relative;border-radius:var(--sym-radius)}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-slot.filled{border-style:solid;border-color:var(--sym-primary)}.photo-slot.filled img{width:100%;height:100%;object-fit:cover}.photo-slot:active{transform:scale(.95)}.photo-slot .remove-btn{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:var(--sym-radius);background:var(--sym-danger);color:#fff;border:none;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;font-weight:800}.form-textarea{width:100%;min-height:80px;padding:12px;border:1px solid var(--sym-border);font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s;color:var(--sym-text);background:var(--sym-white);border-radius:var(--sym-radius)}.form-textarea:focus{outline:none;border-color:var(--sym-primary)}.form-input{width:100%;padding:12px;border:1px solid var(--sym-border);font-size:14px;font-family:inherit;transition:border-color .15s;color:var(--sym-text);background:var(--sym-white);border-radius:var(--sym-radius)}.form-input:focus{outline:none;border-color:var(--sym-primary);box-shadow:0 0 0 2px #ff66001a}.meter-last{font-size:12px;color:var(--sym-text-secondary);margin-top:6px}.gps-row{display:flex;gap:8px}.gps-row .form-input{flex:1}.btn-gps{display:flex;align-items:center;gap:6px;padding:12px 14px;border:2px dashed var(--sym-border);background:var(--sym-white);cursor:pointer;transition:all .15s;font-size:12px;color:var(--sym-text-secondary);flex-shrink:0;border-radius:var(--sym-radius)}.btn-gps:active{transform:scale(.95)}.btn-gps.gps-loading{opacity:.6;pointer-events:none;border-color:var(--sym-primary)}.btn-gps.gps-loading svg{animation:gpsPulse 1s infinite}.btn-gps.gps-done{border-color:#198754;color:#198754;background:#d4edda;pointer-events:none}.form-footer{padding:12px 16px;flex-shrink:0;background:var(--sym-white);border-top:1px solid var(--sym-border);display:flex;flex-direction:column;gap:8px}.btn-primary,.btn-confirm{width:100%;height:56px;padding:0 32px;border:none;font-size:14px;font-weight:800;cursor:pointer;transition:all .3s;background:var(--sym-primary);color:#fff;text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.btn-primary:active,.btn-confirm:active{transform:translateY(-1px)}.btn-primary:hover,.btn-confirm:hover{background:var(--sym-primary-dark);transform:translateY(-3px);box-shadow:0 6px 20px #ff66004d}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn-secondary{width:100%;height:56px;padding:0 32px;border:2px solid var(--sym-primary);font-size:14px;font-weight:800;cursor:pointer;background:transparent;color:var(--sym-primary);transition:all .3s;margin-top:0;text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.btn-secondary:active{transform:translateY(-1px)}.btn-secondary:hover{background:var(--sym-primary);color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px #f603}.summary-header{background:var(--sym-dark);padding:48px 16px 16px;flex-shrink:0;border-bottom:3px solid var(--sym-primary)}.summary-title{font-size:18px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px}.summary-body{padding:16px;flex:1;overflow-y:auto}.summary-card{background:var(--sym-white);padding:20px;box-shadow:0 10px 30px #00000014;margin-bottom:16px;border-bottom:4px solid transparent;transition:border-color .3s;border-radius:var(--sym-radius)}.summary-card:hover{border-bottom-color:var(--sym-primary)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--sym-border);font-size:13px}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--sym-text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.summary-value{font-weight:800;color:var(--sym-text);text-align:right;max-width:55%}.summary-op-badge{padding:3px 12px;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.summary-photos{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.summary-photo{width:56px;height:42px;overflow:hidden;border-radius:var(--sym-radius);background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.summary-photo img{width:100%;height:100%;object-fit:cover}.success-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;flex:1}.success-checkmark-wrapper{margin-bottom:16px}.success-checkmark-svg{width:72px;height:72px}.checkmark-circle{stroke-dasharray:63;stroke-dashoffset:63;animation:drawCircle .5s ease-out .2s forwards}.checkmark-check{stroke-dasharray:16;stroke-dashoffset:16;animation:drawCheck .3s ease-out .7s forwards;stroke-linecap:round;stroke-linejoin:round}.success-title{font-size:22px;font-weight:800;color:var(--sym-text);margin-bottom:8px}.success-message{font-size:14px;color:var(--sym-text-secondary);max-width:300px;line-height:1.6}.admin-header-bar{background:var(--sym-dark);padding:10px 16px;color:#ffffffd9;font-size:11px;flex-shrink:0;display:flex;align-items:center;gap:8px;border-bottom:3px solid var(--sym-primary)}.admin-header-bar svg{flex-shrink:0}.admin-header-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-header-badge{margin-left:auto;background:#ffffff1f;padding:2px 8px;font-size:10px;font-weight:700;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}.admin-body{flex:1;padding:12px;overflow-y:auto;background:var(--sym-bg)}.admin-email-card{background:#fff;padding:16px;box-shadow:0 10px 30px #00000014;font-size:13px;border-bottom:4px solid transparent;transition:border-color .3s;border-radius:var(--sym-radius)}.admin-email-card:hover{border-bottom-color:var(--sym-primary)}.admin-email-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.admin-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--sym-primary);color:#fff;font-size:13px;font-weight:800;flex-shrink:0;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.admin-email-from{font-size:12px;color:var(--sym-text-secondary)}.admin-email-from strong{color:var(--sym-text)}.admin-email-subject{font-weight:800;font-size:14px;color:var(--sym-text);margin-bottom:4px}.admin-email-time{font-size:11px;color:var(--sym-text-muted)}.admin-email-divider{border-top:1px solid var(--sym-border);margin:14px 0}.admin-email-content p{margin-bottom:6px;line-height:1.6}.admin-email-content p strong{color:var(--sym-text)}.admin-data-row{display:flex;align-items:center;gap:8px;padding:6px 0}.admin-data-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}.admin-data-icon.deliver{background:#d4edda;color:#155724}.admin-data-icon.pickup{background:#cfe2ff;color:#084298}.admin-data-icon.service{background:#fff3cd;color:#856404}.admin-data-icon.breakdown{background:#f8d7da;color:#721c24}.admin-data-label{color:var(--sym-text-secondary);font-size:12px;min-width:60px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-data-value{font-size:13px;font-weight:800;color:var(--sym-text)}.admin-photos{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.admin-photo-thumb{width:56px;height:42px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border:1px solid var(--sym-border);transition:transform .15s;overflow:hidden;border-radius:var(--sym-radius)}.admin-photo-thumb img{width:100%;height:100%;object-fit:cover}.admin-photo-thumb:hover{transform:scale(1.1)}.admin-email-footer-text{font-size:11px;color:var(--sym-text-muted);margin-top:16px;border-top:1px solid var(--sym-border);padding-top:12px}.admin-history{margin-top:16px;background:#fff;padding:16px;box-shadow:0 10px 30px #00000014;border-bottom:4px solid transparent;transition:border-color .3s;border-radius:var(--sym-radius)}.admin-history:hover{border-bottom-color:var(--sym-primary)}.admin-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-history-title{font-size:13px;font-weight:800;color:var(--sym-text);text-transform:uppercase;letter-spacing:.5px}.admin-history-badge{font-size:10px;color:var(--sym-text-secondary);background:var(--sym-bg);padding:2px 8px;font-weight:700;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}.admin-history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--sym-border);font-size:12px}.admin-history-item:last-child{border-bottom:none}.admin-history-date{color:var(--sym-text-secondary);min-width:90px;font-weight:600}.admin-history-type{font-weight:800;padding:2px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.3px;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}.admin-history-type.dostawa{background:#d4edda;color:#155724}.admin-history-type.odbior{background:#cfe2ff;color:#084298}.admin-history-type.serwis,.admin-history-type.przeglad{background:#fff3cd;color:#856404}.admin-history-type.awaria{background:#f8d7da;color:#721c24}.admin-history-meter{color:var(--sym-text);font-weight:800;font-size:12px}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{padding:12px 16px;color:#fff;font-size:13px;font-weight:800;box-shadow:0 4px 16px #0003;display:flex;align-items:center;gap:8px;animation:fadeSlideUp .3s ease-out forwards;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.toast.success{background:var(--sym-primary)}.toast.error{background:var(--sym-danger)}.toast.info{background:var(--sym-pickup)}.toast svg{width:18px;height:18px;flex-shrink:0}.offline-banner{background:var(--sym-primary);color:#fff;text-align:center;padding:8px 16px;font-size:12px;font-weight:800;flex-shrink:0;text-transform:uppercase;letter-spacing:1px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:32px;flex:1}.loading-spinner-inner{width:32px;height:32px;border:3px solid var(--sym-border);border-top-color:var(--sym-primary);border-radius:50%;animation:spin .8s linear infinite}.form-select{width:100%;padding:12px;border:1px solid var(--sym-border);font-size:14px;font-family:inherit;transition:border-color .15s;color:var(--sym-text);background:var(--sym-white);appearance:none;-webkit-appearance:none;border-radius:var(--sym-radius);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-select:focus{outline:none;border-color:var(--sym-primary)}.form-input.error{border-color:var(--sym-danger)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scanLine{0%,to{top:0}50%{top:calc(100% - 2px)}}@keyframes popIn{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes gpsPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.shake-animation{animation:shake .4s ease-out}.anim-fade-slide-up{animation:fadeSlideUp .3s ease-out forwards}.screen::-webkit-scrollbar,.admin-body::-webkit-scrollbar{width:4px}.screen::-webkit-scrollbar-track,.admin-body::-webkit-scrollbar-track{background:transparent}.screen::-webkit-scrollbar-thumb,.admin-body::-webkit-scrollbar-thumb{background:var(--sym-text-muted);border-radius:var(--sym-radius)}.machine-list-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--sym-white);margin-bottom:8px;cursor:pointer;transition:all .3s;box-shadow:0 10px 30px #0000000d;border-bottom:4px solid transparent;border-radius:var(--sym-radius)}.machine-list-item:active{transform:scale(.97)}.machine-list-item:hover{border-bottom-color:var(--sym-primary);transform:translateY(-2px)}.machine-list-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;flex-shrink:0;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.machine-list-info{flex:1}.machine-list-name{font-weight:800;font-size:14px;color:var(--sym-text);text-transform:uppercase;letter-spacing:.3px}.machine-list-meta{font-size:11px;color:var(--sym-text-secondary);margin-top:2px}@media (min-width:768px){.page-container.desktop{padding:0;background:var(--sym-bg)}.desktop-layout{display:flex;width:100%;min-height:100vh}.desktop-sidebar{width:250px;background:#111;color:#fff;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.06)}.sidebar-logo{padding:24px 20px;font-size:22px;font-weight:900;letter-spacing:2px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--sym-primary);text-transform:uppercase}.sidebar-user{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-user-name{font-weight:800;font-size:14px;color:#fff}.sidebar-user-role{font-size:11px;color:#ffffff80;margin-top:2px;text-transform:uppercase;letter-spacing:1px}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-section-label{padding:16px 12px 6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#fff6}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:6px;background:transparent;color:#ffffffb3;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;text-transform:uppercase;letter-spacing:.5px}.sidebar-nav-item:hover{background:#ffffff14;color:#fff}.sidebar-nav-item.active{background:var(--sym-primary);color:#fff;font-weight:800;box-shadow:0 4px 14px #ff66004d}.sidebar-nav-item.logout{margin-top:auto;color:#ef4444}.sidebar-nav-item.logout:hover{background:#ef444426;color:#ef4444}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.desktop-main{flex:1;overflow-y:auto;padding:0;background:#f8fafc}.desktop-main .screen{position:relative;height:auto;min-height:100vh}}.login-container{display:flex;flex-direction:column;align-items:center;padding:60px 24px 24px;flex:1}.login-tabs{display:flex;gap:0;margin:24px 0;overflow:hidden;border:1px solid var(--sym-border);width:100%;max-width:320px;border-radius:var(--sym-radius)}.login-tab{flex:1;padding:10px 16px;border:none;background:var(--sym-white);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--sym-text-secondary);text-transform:uppercase;letter-spacing:.5px}.login-tab.active{background:var(--sym-primary);color:#fff;font-weight:800}.login-tab:not(.active):hover{background:var(--sym-bg)}.email-login-form{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:800;color:var(--sym-text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;display:block}.form-input{padding:12px 14px;border:1px solid var(--sym-border);border-radius:var(--sym-radius);font-size:15px;outline:none;transition:border-color .15s;background:var(--sym-white);color:var(--sym-text)}.form-input:focus{border-color:var(--sym-primary);box-shadow:0 0 0 3px #ff66001a}.session-warning-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.session-warning-modal{background:#fff;padding:28px;width:300px;text-align:center;box-shadow:0 4px 24px #00000040;border-bottom:4px solid var(--sym-primary);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.session-warning-modal h3{font-size:16px;font-weight:800;color:var(--sym-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.session-warning-modal p{font-size:13px;color:var(--sym-text-secondary);margin-bottom:20px}.session-warning-modal button{width:100%}.timeline-container{padding:16px;position:relative}.timeline-line{position:absolute;left:20px;top:0;bottom:0;width:3px;background:var(--sym-primary);opacity:.3;border-radius:2px}.timeline-item{position:relative;padding-left:52px;padding-bottom:24px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:12px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--sym-primary);border:3px solid var(--sym-white);box-shadow:0 0 0 2px var(--sym-primary);z-index:1}.timeline-card{background:var(--sym-white);border-radius:var(--sym-radius);padding:14px;border:1px solid var(--sym-border);transition:all .2s;cursor:pointer}.timeline-card:hover{border-color:var(--sym-primary);box-shadow:0 4px 12px #ff66001a;transform:translate(3px)}.timeline-date{font-size:11px;color:var(--sym-text-muted);margin-bottom:4px;font-weight:600}.timeline-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:var(--sym-radius);display:inline-block;margin-bottom:6px;color:#fff;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}.timeline-desc{font-size:13px;color:var(--sym-text);line-height:1.4;margin-bottom:4px}.timeline-meter{font-size:11px;color:var(--sym-text-secondary);font-weight:600}.timeline-photos{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.timeline-photo{width:72px;height:auto;border-radius:var(--sym-radius);border:1px solid var(--sym-border);transition:transform .2s}.timeline-photo:hover{transform:scale(1.06)}.detail-header{background:var(--sym-dark);padding:20px 16px;flex-shrink:0;border-bottom:3px solid var(--sym-primary);position:relative}.detail-back-btn{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 8px);left:12px;width:36px;height:36px;border:none;background:#ffffff1a;color:#fff;border-radius:var(--sym-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.detail-back-btn:hover{background:#fff3}.detail-header-content{padding-top:52px}.detail-type-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 14px;color:#fff;display:inline-block;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.detail-number{font-size:13px;color:#ffffff80;margin-top:6px;font-weight:600}.detail-date{font-size:12px;color:#fff6;margin-top:2px}.detail-body{padding:16px;flex:1;overflow-y:auto}.detail-section{margin-bottom:20px}.detail-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--sym-text-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--sym-border)}.detail-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f5f5f5;font-size:13px}.detail-row:last-child{border-bottom:none}.detail-row-label{color:var(--sym-text-muted);font-weight:600}.detail-row-value{color:var(--sym-text);font-weight:700;text-align:right;max-width:60%}.detail-desc{font-size:13px;color:var(--sym-text);line-height:1.6;background:var(--sym-bg);padding:12px;border-radius:var(--sym-radius)}.detail-photo-grid{column-count:2;column-gap:8px}.detail-photo-item{break-inside:avoid;margin-bottom:8px;width:100%;display:inline-block;border-radius:var(--sym-radius);overflow:hidden;cursor:pointer;border:2px solid var(--sym-border);transition:all .2s}.detail-photo-item:hover{border-color:var(--sym-primary);transform:scale(1.03)}.detail-photo-item img{width:100%;height:auto;display:block}@media (min-width:768px){.detail-photo-grid{column-count:3}}.detail-lightbox{position:fixed;inset:0;z-index:10000;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer}.detail-lightbox img{max-width:100%;max-height:100%;border-radius:var(--sym-radius);object-fit:contain}.detail-section-card{background:var(--sym-white);border-radius:var(--sym-radius);padding:14px;border:1px solid var(--sym-border)}.detail-cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-cost-item{background:var(--sym-bg);border-radius:var(--sym-radius);padding:12px;text-align:center}.detail-cost-value{font-size:18px;font-weight:800;color:var(--sym-primary)}.detail-cost-label{font-size:10px;color:var(--sym-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.detail-signature{max-width:200px;margin-top:8px;border-radius:var(--sym-radius);border:1px solid var(--sym-border)}.admin-tabbar{display:flex;align-items:stretch;gap:2px;padding:6px;background:var(--sym-dark);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.admin-tabbar::-webkit-scrollbar{display:none}.admin-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex-shrink:0;min-width:56px;padding:8px 6px;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#ffffff8c;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;transition:all .15s}.admin-tab:hover{color:#ffffffd9}.admin-tab.active{background:#ffffffeb;color:var(--sym-primary);box-shadow:0 2px 8px #00000040}.admin-tab.logout{color:#ef4444d9}.admin-tab.logout:hover{background:#ef444426;color:#ef4444}.admin-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.search-input{flex:1;min-width:140px}.select-sm{padding:9px 12px;font-size:12px;width:auto}.toolbar-title{font-size:15px;font-weight:800;color:var(--sym-text);margin:0;flex:1}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-heading h3{font-size:12px;font-weight:800;color:var(--sym-text-secondary);text-transform:uppercase;letter-spacing:.6px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.stat-card{display:flex;align-items:center;gap:12px;background:var(--sym-white);border-radius:12px;padding:14px;box-shadow:0 1px 4px #0000000f;border:1px solid var(--sym-border)}.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-value{font-size:22px;font-weight:800;line-height:1.1}.stat-label{font-size:10px;color:var(--sym-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.admin-card{background:var(--sym-white);border-radius:14px;padding:18px;box-shadow:0 1px 4px #0000000f;border:1px solid var(--sym-border);margin-bottom:12px}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.admin-card-title{font-size:15px;font-weight:800;color:var(--sym-text);margin:0}.admin-row{display:flex;align-items:center;gap:12px;background:var(--sym-white);border-radius:12px;padding:12px 14px;margin-bottom:8px;border:1px solid var(--sym-border);transition:all .15s}.admin-row.clickable{cursor:pointer}.admin-row.clickable:hover{border-color:var(--sym-primary);box-shadow:0 4px 12px #ff660014;transform:translateY(-1px)}.admin-row.inactive{opacity:.6}.admin-row-main{flex:1;min-width:0}.admin-row-title{font-size:13px;font-weight:700;color:var(--sym-text)}.admin-row-sub{font-size:11px;color:var(--sym-text-secondary);margin-top:2px}.admin-row-sub.muted{color:var(--sym-text-muted);font-size:10px}.admin-data-icon.machine{background:#eef2ff;color:#4338ca}.admin-data-icon.site{background:#e8f5e9;color:#2e7d32}.user-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#667eea,#764ba2)}.user-avatar.driver{background:linear-gradient(135deg,#4facfe,#00f2fe)}.user-avatar.service{background:linear-gradient(135deg,#43e97b,#38f9d7)}.user-avatar.manager{background:linear-gradient(135deg,#fa709a,#fee140)}.user-avatar.admin{background:linear-gradient(135deg,#f60,#f93)}.user-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.action-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:var(--sym-text-muted);white-space:nowrap}.badge-danger{background:#dc3545;color:#fff}.badge-warning{background:#e8a800;color:#fff}.badge-info{background:#0d6efd;color:#fff}.badge-neutral{background:#64748b;color:#fff}.badge-purple{background:#7c3aed;color:#fff}.badge-success{background:#198754;color:#fff}.badge-status-available{background:#d4edda;color:#155724}.badge-status-rented{background:#cfe2ff;color:#084298}.badge-status-service{background:#fff3cd;color:#856404}.badge-status-broken{background:#f8d7da;color:#721c24}.badge-status-reserved{background:#e2d9f3;color:#5b3d9e}.admin-body .btn,.modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.4px;line-height:1;white-space:nowrap;font-family:inherit}.admin-body .btn:disabled,.modal .btn:disabled{opacity:.45;cursor:not-allowed}.admin-body .btn-primary,.modal .btn-primary{background:var(--sym-primary);color:#fff;width:auto;height:auto;padding:10px 16px;clip-path:none}.admin-body .btn-primary:hover,.modal .btn-primary:hover{background:var(--sym-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #ff66004d}.admin-body .btn-outline,.modal .btn-outline{background:#fff;border:1px solid #cbd5e1;color:#334155}.admin-body .btn-outline:hover,.modal .btn-outline:hover{background:#f1f5f9}.admin-body .btn-danger,.modal .btn-danger{background:#dc3545;color:#fff}.admin-body .btn-danger:hover,.modal .btn-danger:hover{background:#b02a37}.admin-body .btn-danger-soft{background:#fde8e8;color:#b02a37;border:1px solid #f5c2c7}.admin-body .btn-danger-soft:hover{background:#f5c2c7}.admin-body .btn-success-soft{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.admin-body .btn-success-soft:hover{background:#badbcc}.admin-body .btn-ghost{background:transparent;color:var(--sym-text-secondary);border:1px solid transparent}.admin-body .btn-ghost:hover{background:#f1f5f9;color:var(--sym-text)}.admin-body .btn-dark{background:#1e293b;color:#fff}.admin-body .btn-dark:hover{background:#0f172a}.admin-body .btn-sm,.modal .btn-sm{padding:7px 10px;font-size:10px;border-radius:8px}.admin-body .btn-sm.icon-only,.modal .btn-sm.icon-only{padding:7px 8px}.modal-overlay{position:fixed;inset:0;background:#0f0f0f8c;backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--sym-white);border-radius:16px;padding:20px;width:100%;box-shadow:0 20px 60px #00000059;max-height:90vh;overflow-y:auto;animation:fadeSlideUp .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-header h2{font-size:16px;font-weight:800;color:var(--sym-text);margin:0}.modal-close{border:none;background:var(--sym-bg);width:28px;height:28px;border-radius:8px;font-size:18px;line-height:1;cursor:pointer;color:var(--sym-text-secondary);transition:all .15s}.modal-close:hover{background:#fee2e2;color:#dc3545}.modal-body,.modal-body form{display:flex;flex-direction:column;gap:14px}.modal-actions{display:flex;gap:8px;margin-top:6px}.modal-actions .btn{flex:1}.modal-hint{font-size:12px;color:var(--sym-text-secondary);line-height:1.5;margin:0}.modal-hint.danger-hint{color:#b02a37;background:#fde8e8;padding:8px 10px;border-radius:8px;font-size:11px}.modal-hint.centered{text-align:center;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:700;color:var(--sym-text-secondary);text-transform:uppercase;letter-spacing:.5px}.required-star{color:var(--sym-danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pin-field-row{display:flex;gap:8px;align-items:center}.pin-field-row .form-input{flex:1}.pin-input{letter-spacing:3px;font-weight:800;text-align:center}.pin-input.centered{font-size:22px;text-align:center;padding:14px;margin-bottom:4px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--sym-text);cursor:pointer}.checkbox-row input{width:16px;height:16px;accent-color:var(--sym-primary)}.alert{padding:10px 14px;border-radius:10px;font-size:12px;font-weight:600;margin:10px 12px 0;animation:fadeSlideUp .2s ease-out}.alert-error{background:#fde8e8;color:#b02a37;border:1px solid #f5c2c7}.alert-success{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.empty-state{text-align:center;padding:36px 16px;font-size:13px;color:var(--sym-text-muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--sym-border)}.settings-row:last-child{border-bottom:none}.settings-label{font-size:13px;font-weight:600;color:var(--sym-text);flex:1}.settings-row .form-input{max-width:260px}.toggle{width:46px;height:26px;border-radius:999px;background:#cbd5e1;border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--sym-primary)}.toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.toggle.on .toggle-knob{transform:translate(20px)}.profile-info{font-size:13px;color:var(--sym-text-secondary);margin-bottom:18px}.profile-section{padding:16px 0;border-top:1px solid var(--sym-border)}.profile-section-title{font-size:13px;font-weight:800;color:var(--sym-text);margin-bottom:12px}.profile-form{display:flex;flex-direction:column;gap:12px;max-width:320px}.audit-row{position:relative}.audit-dot{width:10px;height:10px;border-radius:50%;background:var(--sym-primary);flex-shrink:0;box-shadow:0 0 0 3px #ff660026;margin-top:4px}.audit-code{font-size:9px;font-weight:700;color:var(--sym-text-muted);background:var(--sym-bg);padding:2px 6px;border-radius:6px;margin-left:6px;letter-spacing:.3px}.audit-ip{font-size:10px;color:var(--sym-text-muted);font-weight:600;font-family:monospace;flex-shrink:0}.audit-details{font-family:monospace;font-size:10px}.qr-preview{background:#fff;border:2px dashed var(--sym-border);border-radius:12px;padding:16px;display:flex;justify-content:center;margin-bottom:12px}.qr-preview svg{width:200px;height:200px;max-width:100%}.qr-url{font-size:11px;color:var(--sym-text-muted);word-break:break-all;text-align:center;margin-bottom:12px}.status-bar,.admin-header-bar,.dash-header,.form-header,.detail-header{padding-top:max(10px,env(safe-area-inset-top))}.form-footer,.admin-tabbar,.dash-actions,.detail-body,.form-body{padding-bottom:max(12px,env(safe-area-inset-bottom))}
