*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0ea5e9;--primary-dark: #0284c7;--primary-rgb: 14, 165, 233;--primary-text: #0369a1;--success-text: #047857;--warning-text: #b45309;--danger-text: #b91c1c;--gradient-2-strong: linear-gradient(135deg, #0369a1 0%, #047857 100%);--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b;--dark: #0f172a;--dark-light: #1e293b;--gray: #475569;--light-gray: #e2e8f0;--white: #ffffff;--gradient-1: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-2: linear-gradient(135deg, #0ea5e9 0%, #10b981 100%);--shadow: 0 10px 40px -10px rgba(15, 23, 42, .15);--shadow-sm: 0 4px 6px -1px rgba(15, 23, 42, .08);--bg-app: #f4f7fb;--card-bg: #ffffff;--border-color: rgba(15, 23, 42, .08);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: rgba(15, 23, 42, .55);--input-bg: #f1f5f9;--input-border: rgba(15, 23, 42, .12);--header-bg: #ffffff;--header-text: #0f172a}html{color-scheme:light;-webkit-text-size-adjust:100%;scroll-padding-bottom:96px}input,select,textarea,button{font-family:inherit}p,li{line-height:1.5}fieldset{border:0;margin:0;min-width:0}legend{float:left;width:100%;padding:0;margin:0}legend+*{clear:both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-app);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden}body.app-booting [id^=page-]{visibility:hidden}body.app-booting #loading-overlay{display:flex}html.camera-capture-active,body.camera-capture-active{overflow:hidden;overscroll-behavior:none;touch-action:none}body.camera-capture-active{position:fixed;left:0;right:0;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}.hidden,.modulo-apagado{display:none!important}.login-container{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--bg-app);padding:max(20px,env(safe-area-inset-top,20px)) 20px 20px;position:relative;overflow-x:hidden;overflow-y:auto}@media (max-width: 768px){.login-container{justify-content:flex-start;padding-top:max(40px,env(safe-area-inset-top,40px))}.login-box{margin:auto 0}}.login-box{background:#fffffffa;border-radius:24px;padding:36px;width:100%;max-width:440px;box-shadow:var(--shadow);position:relative;z-index:1;animation:fadeIn .6s ease-out;color:var(--dark)}.logo{text-align:center;margin-bottom:28px}.logo h1{color:var(--dark);font-size:28px;font-weight:700;letter-spacing:-.5px}.logo p{color:var(--gray);font-size:14px;margin-top:10px;line-height:1.5}.login-cobranding{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:4px}.login-logo-r3{width:68px;height:68px;object-fit:contain}.login-logo-sep{width:1px;height:52px;background:#cbd5e1;flex-shrink:0}.login-logo-wt{height:38px;width:auto;max-width:190px;aspect-ratio:586.62 / 125.01;object-fit:contain}.login-lang-toggle{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-bottom:14px}.lang-btn{background:none;border:none;padding:4px 8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-secondary);cursor:pointer;border-radius:6px;letter-spacing:.5px;transition:color .15s,background .15s}.lang-btn.active{color:var(--primary-text);background:#0ea5e91a}.lang-sep{color:var(--text-secondary);font-size:12px;user-select:none}@media (max-width: 480px){.login-lang-toggle{gap:10px;margin-bottom:18px}.lang-btn{padding:8px 14px;font-size:14px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.lang-sep{font-size:14px}}.login-legal-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin-bottom:18px}.login-legal-box p{font-size:13px;color:#64748b;line-height:1.6;margin:0}.consent-box{background:#f0f9ff;border-left:4px solid var(--primary);padding:16px 18px;border-radius:8px;margin-bottom:25px;font-size:13px;color:var(--dark)}.consent-box.consent-box-error{border-left-color:var(--danger);background:#fef2f2}.consent-error{margin:10px 0 0;color:#b91c1c;font-size:13px;font-weight:600}.consent-box label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;padding:6px 0}.consent-box input[type=checkbox]{margin-top:1px;width:22px;height:22px;min-width:22px;accent-color:var(--primary);cursor:pointer}.consent-box span{display:block;line-height:1.55;min-width:0}.consent-box-detailed .consent-title{margin:0 0 6px;line-height:1.5;font-weight:600;color:var(--text-primary);font-size:14px}.consent-box-detailed .consent-list{margin:0 0 10px;padding-left:18px;color:var(--text-secondary);line-height:1.5}.consent-box-detailed .consent-list li{margin-bottom:4px}.consent-box-detailed .consent-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;padding:6px 0}.consent-box-detailed .consent-check+.consent-check{border-top:1px dashed rgba(148,163,184,.35);padding-top:8px;margin-top:4px}.consent-box-detailed .consent-foot{margin:8px 0 0;font-size:12px;color:var(--text-secondary);font-style:italic}.consent-box-detailed a{color:var(--primary-text);text-decoration:underline;padding:14px 0}.login-provided-by{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px;color:var(--text-secondary);font-size:12px}.login-provided-by-label{letter-spacing:.02em}.login-provided-by-logo{max-height:20px;width:auto;opacity:.9}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--dark);font-weight:600;font-size:14px}.input-wrapper{position:relative}.input-wrapper i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none;z-index:1}.form-control{width:100%;min-height:54px;padding:14px 16px 14px 46px;border:2px solid var(--light-gray);border-radius:12px;font-size:16px;line-height:1.2;transition:border-color .2s ease,box-shadow .2s ease;background:var(--white);color:var(--dark)}.login-container .form-control{background:var(--white);color:var(--dark);padding:14px 16px 14px 46px;caret-color:var(--dark)}.login-container .form-control::placeholder{color:var(--text-secondary);opacity:1}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}.login-container .form-control:-webkit-autofill,.login-container .form-control:-webkit-autofill:hover,.login-container .form-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--dark);caret-color:var(--dark);box-shadow:0 0 0 1000px #fffffffa inset;transition:background-color 9999s ease-in-out 0s}.pin-input{letter-spacing:.22em;font-variant-numeric:tabular-nums}.input-helper{margin-top:8px;color:var(--gray);font-size:12px;line-height:1.45}.form-control:focus{outline:none;border-color:var(--primary-text);box-shadow:0 0 0 3px #0369a12e}.form-control:focus-visible,.dark-control:focus-visible,.btn:focus-visible,.link-btn:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px}.btn{width:100%;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.btn-primary{background:var(--gradient-2-strong);color:#fff;box-shadow:0 4px 15px -3px rgba(var(--primary-rgb),.4)}@media (hover: hover) and (pointer: fine){.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px rgba(var(--primary-rgb),.5)}}.btn-secondary{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border)}.forgot-password{text-align:center;margin-top:20px}.login-message,.error-message{margin-bottom:18px;padding:14px 16px;border-radius:14px;font-size:14px;line-height:1.5;font-weight:600}.login-message-success{background:#10b9811f;border:1px solid rgba(16,185,129,.28);color:#065f46}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.22);color:#991b1b}.app-toast-stack{position:fixed;top:max(18px,env(safe-area-inset-top,18px));left:max(18px,env(safe-area-inset-left,18px));right:max(18px,env(safe-area-inset-right,18px));display:grid;gap:12px;justify-items:end;z-index:3100;pointer-events:none}.app-toast{width:min(420px,100%);display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border-radius:18px;background:#0f172af7;border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 40px -22px #0f172ae6;color:var(--white);pointer-events:auto;animation:fadeIn .25s ease-out}.app-toast-success{border-color:#10b98152;box-shadow:0 18px 40px -22px #10b98173}.app-toast-error{border-color:#ef444452;box-shadow:0 18px 40px -22px #ef444473}.app-toast-warning{border-color:#f59e0b52;box-shadow:0 18px 40px -22px #f59e0b73}.app-toast-info{border-color:rgba(var(--primary-rgb),.32);box-shadow:0 18px 40px -22px rgba(var(--primary-rgb),.45)}.app-toast-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#0f172a0f;font-size:17px}.app-toast-success .app-toast-icon{color:#34d399;background:#10b98129}.app-toast-error .app-toast-icon{color:#f87171;background:#ef444429}.app-toast-warning .app-toast-icon{color:#fbbf24;background:#f59e0b29}.app-toast-info .app-toast-icon{color:#38bdf8;background:rgba(var(--primary-rgb),.16)}.app-toast-body{min-width:0;flex:1;display:grid;gap:4px}.app-toast-title{font-size:14px;font-weight:700;line-height:1.3;color:var(--white)}.app-toast-message{font-size:14px;line-height:1.5;color:#ffffffe6;white-space:pre-line;overflow-wrap:anywhere}.app-toast-action{justify-self:start;margin-top:6px;padding:8px 12px;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.32);background:#0f172a14;color:var(--white);font-size:13px;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease}.app-toast-action:hover{background:#ffffff29;border-color:#ffffff7a}.app-toast-close{width:44px;height:44px;border:none;border-radius:10px;background:#0f172a0f;color:#ffffffbf;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease}.app-toast-close:hover{background:#0f172a1f;color:var(--white)}.app-toast-leaving{opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.app-container{min-height:100vh;min-height:100dvh;background:var(--bg-app);color:var(--text-primary);overflow-x:clip}.header{background:var(--header-bg);color:var(--header-text);padding:calc(15px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) 15px calc(20px + env(safe-area-inset-left,0px));display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}.header.header-tri{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 18px;gap:12px}.header-client-logo{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fffffff2;padding:4px;box-shadow:var(--shadow-sm)}.header-client-initials{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:12px;background:#fffffff2;border:1px solid #cbd5e1;color:var(--text-primary);font-weight:700;font-size:20px;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.task-card-empty{background:var(--card-bg);color:var(--text-secondary);font-style:italic;text-align:center;padding:14px 12px;border-radius:12px;border:1px dashed var(--border-color)}.task-card-empty i{color:var(--text-secondary);margin-right:6px;opacity:.7}.supervision-restaurant-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#0369a114;border:1px solid rgba(3,105,161,.25);border-radius:12px;margin-bottom:14px}.supervision-restaurant-chip-name{color:var(--primary-text);font-size:16px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supervision-restaurant-chip .link-btn{flex-shrink:0;font-size:13px}.link-btn{background:none;border:none;padding:0;color:var(--primary-text);font:inherit;text-decoration:underline;cursor:pointer}.link-btn:focus-visible{color:var(--primary-text)}@media (hover: hover) and (pointer: fine){.link-btn:hover{color:var(--primary-text)}}@media (max-width: 640px){input,select,textarea{font-size:16px}}@media (max-width: 480px){.header.header-tri{padding:10px 12px;gap:8px}.header-client-logo,.header-client-initials{width:46px;height:46px}.header-client-initials{font-size:17px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);display:flex;justify-content:space-around;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 20px #0f172a14;border-top:1px solid var(--border-color);z-index:100}.content{padding:20px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));max-width:800px;margin:0 auto;width:min(100%,800px);min-width:0}.content>*{min-width:0}img,video,canvas{max-width:100%}.card{background:var(--card-bg);color:var(--text-primary);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);min-width:0}.info-item{display:flex;align-items:center;gap:15px;padding:15px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:12px;min-width:0}.card .info-item+.info-item{margin-top:14px}.info-item>i{width:40px;height:40px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.info-item div{flex:1;min-width:0}.info-item value{display:block;font-size:16px;font-weight:600;margin-top:2px;overflow-wrap:anywhere}.info-item-content{min-width:0;flex:1}.info-item-value{overflow-wrap:anywhere}.btn-success{background:linear-gradient(135deg,#047857,#065f46);color:#fff;box-shadow:0 4px 15px -3px #10b98166}@media (hover: hover) and (pointer: fine){.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #10b98180}}.btn-not-ready{opacity:.75;filter:grayscale(.35);box-shadow:none}.btn-not-ready:hover{transform:none;box-shadow:none}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:20px 0}.photo-group-card{display:grid;gap:14px;padding:18px;border-radius:18px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);margin:18px 0 0}.photo-group-header{display:grid;gap:4px}.photo-group-header h4{color:var(--text-primary);font-size:18px;font-weight:700}.photo-group-header p{color:var(--gray);font-size:13px;line-height:1.5}.photo-grid-subareas{margin:0}.photo-grid-empty{padding:20px;border-radius:16px;background:#0f172a0a;border:1px dashed rgba(148,163,184,.28);color:var(--gray);line-height:1.5}.photo-slot{aspect-ratio:1;background:#0f172a0d;border:2px dashed var(--gray);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;position:relative;overflow:hidden}@media (hover: hover) and (pointer: fine){button.photo-slot{appearance:none;-webkit-appearance:none;width:100%;padding:0;font:inherit;color:inherit;text-align:center}.photo-slot:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px}.photo-slot:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}}.photo-slot.has-image{border:none;border-radius:12px}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-slot-label{font-size:14px;font-weight:700;color:var(--text-primary);margin-top:8px;text-align:center;padding:0 10px;line-height:1.4}.photo-slot-overlay-label{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:12px;background:#0369a1eb;color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:1.35;box-shadow:0 4px 12px -4px #0369a173}.supervision-upload-badge{display:none;position:absolute;top:8px;right:8px;width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;font-size:12px;color:#fff;box-shadow:0 2px 6px #0f172a4d;z-index:3;pointer-events:none}.supervision-upload-badge[data-status]{display:inline-flex}.supervision-upload-badge[data-status=uploading]{background:#0369a1e6}.supervision-upload-badge[data-status=done]{background:#047857f2}.supervision-upload-badge[data-status=error]{background:#b45309f2}.supervision-upload-badge-inline{position:static;width:22px;height:22px;margin-left:6px;flex:0 0 auto}.profile-header{text-align:center;padding:30px 0}@media (min-width: 1200px){.modal{padding:28px}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100dvh;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;align-items:flex-start;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,20px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto}.modal.active{display:flex;animation:fadeIn .3s ease-out}.modal-content{background:var(--card-bg);border-radius:20px;width:100%;max-width:500px;max-height:calc(100dvh - 40px - env(safe-area-inset-bottom,0px));overflow-y:auto;animation:slideIn .3s ease-out;margin:auto}.modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.17em;font-weight:700}a[aria-disabled=true]{cursor:not-allowed;text-decoration:none}.modal-body{padding:20px}.modal-footer{padding:20px;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px}@media (max-width: 480px){.modal-footer .btn{min-width:100%}}.camera-modal{z-index:1600;padding:0;align-items:stretch;justify-content:stretch;background:#020617f5}.btn-close{background:none;border:none;color:var(--gray);font-size:24px;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.form-group,.input-wrapper{min-width:0;max-width:100%}.app-container .form-group input,.app-container .form-group select,.app-container .form-group textarea,.modal .form-group input,.modal .form-group select,.modal .form-group textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:56px;padding:14px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:16px;color:var(--text-primary);font-size:16px;line-height:1.35;box-shadow:inset 0 1px #fff9;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;overflow-wrap:anywhere}.app-container .form-group label,.modal .form-group label{color:var(--text-secondary)}.app-container .form-group input:focus,.app-container .form-group select:focus,.app-container .form-group textarea:focus,.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(var(--primary-rgb),.15)}.app-container .form-group textarea,.modal .form-group textarea{resize:vertical;min-height:100px}input.dark-control,select.dark-control,textarea.dark-control{display:block;width:100%;max-width:100%;min-width:0;min-height:56px;padding:14px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:16px;color:var(--text-primary);font-size:16px;line-height:1.35;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;font-family:inherit;overflow-wrap:anywhere}input.dark-control::placeholder,textarea.dark-control::placeholder{color:var(--text-secondary);opacity:1}input.dark-control:focus,select.dark-control:focus,textarea.dark-control:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(var(--primary-rgb),.15)}textarea.dark-control{resize:vertical;min-height:100px}.app-container .form-group select,.modal .form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:50px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}select.dark-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:50px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}.app-container .form-group input[type=date],.app-container .form-group input[type=time],.app-container .form-group input[type=datetime-local],.modal .form-group input[type=date],.modal .form-group input[type=time],.modal .form-group input[type=datetime-local],input.dark-control[type=date],input.dark-control[type=time],input.dark-control[type=datetime-local]{color-scheme:light;color:var(--text-primary);inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:16px;font-variant-numeric:tabular-nums}.app-container .form-group input[type=date]::-webkit-calendar-picker-indicator,.app-container .form-group input[type=time]::-webkit-calendar-picker-indicator,.app-container .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator,.modal .form-group input[type=date]::-webkit-calendar-picker-indicator,.modal .form-group input[type=time]::-webkit-calendar-picker-indicator,.modal .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none;opacity:.6;cursor:pointer}input.dark-control[type=date]::-webkit-calendar-picker-indicator,input.dark-control[type=time]::-webkit-calendar-picker-indicator,input.dark-control[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none;opacity:.6;cursor:pointer}.app-container .form-group input[type=date]::-webkit-datetime-edit,.app-container .form-group input[type=time]::-webkit-datetime-edit,.app-container .form-group input[type=datetime-local]::-webkit-datetime-edit,.modal .form-group input[type=date]::-webkit-datetime-edit,.modal .form-group input[type=time]::-webkit-datetime-edit,.modal .form-group input[type=datetime-local]::-webkit-datetime-edit{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}input.dark-control[type=date]::-webkit-datetime-edit,input.dark-control[type=time]::-webkit-datetime-edit,input.dark-control[type=datetime-local]::-webkit-datetime-edit{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.app-container .form-group input[type=date]::-webkit-datetime-edit-fields-wrapper,.app-container .form-group input[type=time]::-webkit-datetime-edit-fields-wrapper,.app-container .form-group input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.modal .form-group input[type=date]::-webkit-datetime-edit-fields-wrapper,.modal .form-group input[type=time]::-webkit-datetime-edit-fields-wrapper,.modal .form-group input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{width:100%;min-width:0;max-width:100%;overflow:hidden;color:var(--text-primary)}input.dark-control[type=date]::-webkit-datetime-edit-fields-wrapper,input.dark-control[type=time]::-webkit-datetime-edit-fields-wrapper,input.dark-control[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{width:100%;min-width:0;max-width:100%;overflow:hidden;color:var(--text-primary)}.app-container .form-group input[type=date]::-webkit-datetime-edit-text,.app-container .form-group input[type=time]::-webkit-datetime-edit-text,.app-container .form-group input[type=datetime-local]::-webkit-datetime-edit-text,.modal .form-group input[type=date]::-webkit-datetime-edit-text,.modal .form-group input[type=time]::-webkit-datetime-edit-text,.modal .form-group input[type=datetime-local]::-webkit-datetime-edit-text{color:inherit;padding:0 2px}input.dark-control[type=date]::-webkit-datetime-edit-text,input.dark-control[type=time]::-webkit-datetime-edit-text,input.dark-control[type=datetime-local]::-webkit-datetime-edit-text{color:inherit;padding:0 2px}.app-container select,.modal select,select.dark-control{color-scheme:light;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container select option,.modal select option,.app-container select optgroup,.modal select optgroup,select.dark-control option,select.dark-control optgroup{background:#fff;color:var(--text-primary)}.app-container select option:disabled,.modal select option:disabled{color:#94a3b8}select.dark-control option:disabled{color:#94a3b8}.supervision-restaurant-picker{margin-bottom:14px}.supervision-target-summary{display:grid;gap:14px}.supervision-target-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 2px}.supervision-target-top strong{color:var(--text-primary);display:block;font-size:20px;line-height:1.35}.supervision-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.supervision-target-item{display:grid;gap:5px;min-width:0;padding:13px 15px;border-radius:16px;background:#0f172a0a;border:1px solid rgba(15,23,42,.06)}.supervision-target-label{color:var(--gray);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.supervision-target-value{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.supervision-target-summary .empty-state{padding:16px 18px;border-radius:16px;background:#0f172a08;border:1px solid rgba(15,23,42,.05)}.supervision-support-card,.report-support-card{display:grid;gap:14px;margin-top:16px;border:1px solid rgba(var(--primary-rgb),.2);background:rgba(var(--primary-rgb),.08)}.alert{padding:15px 20px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:10px;animation:fadeIn .3s ease-out;min-width:0}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#047857}.alert-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#b45309}.gps-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#e2e8f0;color:var(--gray);max-width:100%}.gps-status i{font-size:12px;color:inherit;margin:0}.gps-status span{white-space:normal;overflow-wrap:anywhere}.gps-status.valid{color:var(--success-text);background:var(--card-bg);border:1px solid currentColor}.gps-status.invalid{color:var(--danger-text);background:var(--card-bg);border:1px solid currentColor}.gps-status.warning{color:var(--warning-text);background:var(--card-bg);border:1px solid currentColor}@media (max-width: 480px){.login-box{padding:28px 20px}.logo h1{font-size:26px}.consent-box{padding:14px 15px}.pin-input{letter-spacing:.16em}.photo-grid{grid-template-columns:1fr}}.loading-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:3000;flex-direction:column;gap:20px;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.task-card{background:var(--card-bg);border:1px solid rgba(245,158,11,.35);border-left:4px solid var(--warning);border-radius:12px;padding:15px;margin-bottom:15px}.task-card h2,.task-card h3,.task-card h4{color:var(--warning-text);margin-bottom:8px;font-size:1em;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.task-card p{font-size:14px;color:var(--gray);margin-bottom:10px;overflow-wrap:anywhere}.task-observations{background:#0f172a0d;border-radius:8px;padding:10px;font-size:13px}.task-observations-copy{margin-top:5px;margin-bottom:0;color:var(--gray);line-height:1.5}#special-task-notes{min-height:110px}input[type=file]{display:none}.btn-inline{width:auto;padding:12px 16px;font-size:14px;margin-top:0}.empty-state{color:var(--gray);padding:18px 20px;border-radius:16px;background:#0f172a08;border:1px dashed rgba(15,23,42,.08)}.dark-control{width:100%}.muted-copy{color:var(--gray);font-size:13px;line-height:1.5}.otp-debug-box{background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.35);border-radius:14px;padding:14px 16px;margin-bottom:16px}.otp-debug-box strong{display:block;margin-top:6px;color:var(--primary-text);font-size:24px;font-weight:700;letter-spacing:.28em;text-align:center}.otp-code-input{letter-spacing:.22em;font-variant-numeric:tabular-nums;text-align:center}.modal-footer-stack-sm .btn{min-width:0}.modal-footer .btn{flex:1;margin-top:0}@media (max-width: 768px){.app-toast-stack{top:max(14px,env(safe-area-inset-top,14px));left:max(14px,env(safe-area-inset-left,14px));right:max(14px,env(safe-area-inset-right,14px))}.app-toast{width:100%}.header{padding:calc(14px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) 14px calc(14px + env(safe-area-inset-left,0px))}.content{width:100%;padding:18px 14px 104px}.card{padding:18px 16px;margin-bottom:16px}.info-item{align-items:flex-start}.supervision-target-top{grid-template-columns:1fr;display:grid}.supervision-target-grid{grid-template-columns:1fr}.modal-footer-stack-sm{flex-direction:column}.modal-footer-stack-sm .btn{width:100%;min-height:48px}}@media (max-width: 540px){.modal{padding:8px;padding-top:max(8px,env(safe-area-inset-top,8px));align-items:stretch;justify-content:stretch}.app-toast{padding:14px;border-radius:16px}.header{gap:10px}.modal-content{width:min(100%,calc(100vw - 20px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:0 10px}input.dark-control,select.dark-control,textarea.dark-control,.app-container .form-group input,.app-container .form-group select,.app-container .form-group textarea,.modal .form-group input,.modal .form-group select,.modal .form-group textarea{min-height:52px;border-radius:14px}}@media (hover: none){.btn-primary:hover{transform:none}}a,button,input,select,textarea,label,[role=button]{touch-action:manipulation}.rtask-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:.9rem 1rem;margin-bottom:.75rem}.rtask-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.rtask-title{font-weight:600;font-size:.95rem;color:var(--text-primary);flex:1}.rtask-desc{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 .35rem}.rtask-meta{font-size:.78rem;color:var(--text-secondary);margin:.2rem 0 0}.rtask-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.rtask-evidence-wrap{display:flex;flex-direction:column;gap:.4rem;padding:.6rem;background:var(--input-bg);border-radius:8px;border:1px solid var(--border-color)}.rtask-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}input[type=file].rtask-file-input{display:block}.rtask-file-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:#0ea5e91f;border:2px dashed rgba(14,165,233,.55);border-radius:12px;color:var(--primary-text);font-weight:600;font-size:15px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;min-height:48px}.rtask-file-input:focus-visible~.rtask-file-label,.rtask-file-label:focus-within{outline:2px solid var(--primary-text);outline-offset:2px}.rtask-file-label i{font-size:18px}.rtask-file-label:active{background:#0ea5e938}.rtask-file-label-has-file{background:#10b98126;border-color:#10b9818c;border-style:solid;color:#065f46}.rtask-attachments{display:flex;flex-direction:column;gap:6px;margin:4px 0}.rtask-attachments:empty{display:none}.rtask-attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:var(--card-bg);font-size:13px}.rtask-attachment-item i.fas{color:var(--success-text);flex-shrink:0}.rtask-attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtask-attachment-size{font-size:12px;color:var(--text-secondary);flex-shrink:0}.rtask-attachment-remove{background:none;border:none;color:var(--danger-text);cursor:pointer;padding:0 8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;line-height:1;flex-shrink:0}.rtask-attachment-remove:hover{background:#f8717126}.rtask-evidence-buttons{display:flex;gap:8px;flex-wrap:wrap}.rtask-evidence-buttons .btn{flex:1;min-width:120px}.rtask-notes-input{font-size:.875rem;padding:.4rem .6rem;border-radius:6px}.btn-sm{font-size:.82rem;padding:.35rem .75rem;border-radius:6px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#0f172a14;color:var(--text-secondary);border:1px solid var(--border-color)}.badge.badge-success{background:#10b98124;color:#065f46;border-color:#10b98159}.badge.badge-warning{background:#f59e0b24;color:#92400e;border-color:#f59e0b59}.badge.badge-danger{background:#ef444424;color:#b91c1c;border-color:#ef444459}.btn-inline,.lang-btn{min-height:44px}.link-btn{min-height:44px;display:inline-flex;align-items:center}select{min-height:44px}.consent-check{min-height:44px;display:flex;align-items:center;gap:10px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.fa-spin{animation-duration:1s!important;animation-iteration-count:infinite!important}}.isla-caida{display:flex;flex-direction:column;gap:12px;margin:16px}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/fonts/fa-solid-900-B8JUKG5g.woff2) format("woff2")}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}.fa-solid,.fas{font-weight:900}/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-lock{--fa:""}.fa-user{--fa:""}.fa-key{--fa:""}.fa-star{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-clipboard{--fa:""}.fa-image{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-user-tie{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-file-excel{--fa:""}.fa-arrow-right{--fa:""}.fa-clipboard-check{--fa:""}.fa-pen{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-trash{--fa:""}.fa-arrow-left{--fa:""}.fa-file-pdf{--fa:""}.fa-envelope{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-images{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-play{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-user-shield{--fa:""}.fa-copy{--fa:""}.fa-add,.fa-plus{--fa:"+"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-store{--fa:""}.fa-spinner{--fa:""}.fa-check{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-paper-plane{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
