/* =========================================
   OU Fichaje – Front UI (mobile-first)
   ========================================= */

:root{
  /* Variables (luego las conectamos a Ajustes si quieres) */
  --oufich-radius: 14px;
  --oufich-gap: 10px;

  --oufich-border: #e6e8eb;
  --oufich-bg: #fff;
  --oufich-shadow: 0 10px 28px rgba(0,0,0,.06);

  --oufich-primary: #2271b1; /* WP blue */
  --oufich-danger:  #dc3232;
  --oufich-warn:    #ffb900;
  --oufich-ok:      #46b450;

  --oufich-text: #1d2327;
  --oufich-muted: rgba(0,0,0,.65);
}

.oufich-employee-panel{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color: var(--oufich-text);
}

/* Grid cards */
.oufich-ep-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: var(--oufich-gap);
  margin-top: 12px;
}

/* Action buttons row/stack */
.oufich-ep-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

/* Table scroll smooth */
.oufich-ep-tablewrap{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

.oufich-ep-table{
  width:100%;
  border-collapse: collapse;
  font-size:13px;
  min-width: 420px;
}

/* Optional sticky bottom actions on mobile */
.oufich-ep-sticky{
  margin-top: 14px;
}

/* MÓVIL */
@media (max-width: 640px){
  .oufich-ep-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .oufich-ep-actions{
    flex-direction: column;
  }

  .oufich-ep-actions a,
  .oufich-ep-actions button{
    width:100%;
    text-align:center;
    padding: 10px 14px;
    border-radius: var(--oufich-radius);
  }

  .oufich-ep-sticky{
    position: sticky;
    bottom: 10px;
    z-index: 20;
    padding: 10px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    border: 1px solid var(--oufich-border);
    border-radius: var(--oufich-radius);
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
  }
}

/* MÓVIL PEQUEÑO */
@media (max-width: 420px){
  .oufich-ep-grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   OU Fichaje 1.3.0 – Responsive app interface
   Conserva toda la información y reorganiza su presentación.
   ========================================================= */
.oufich-employee-panel,
.oufich-clock-panel{
  --oufich-app-navy:#0b1f3a;
  --oufich-app-navy-2:#102b50;
  --oufich-app-surface:#f4f7fb;
  --oufich-app-blue:#2563eb;
  --oufich-app-green:#16a34a;
  --oufich-app-orange:#ea580c;
  --oufich-app-red:#dc2626;
  --oufich-app-muted:#64748b;
  box-sizing:border-box;
}
.oufich-employee-panel *,
.oufich-clock-panel *{box-sizing:border-box}
.oufich-employee-panel{
  width:min(1180px,calc(100% - 32px));
  margin:22px auto 100px;
  padding:0;
  background:var(--oufich-app-surface);
  border:1px solid #dfe7f1;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(15,23,42,.10);
}
.oufich-app-header{
  min-height:76px;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:linear-gradient(135deg,var(--oufich-app-navy),var(--oufich-app-navy-2));
  color:#fff;
}
.oufich-app-brand,.oufich-app-user{display:flex;align-items:center;gap:12px}
.oufich-app-brandmark,.oufich-app-avatar{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  flex:0 0 auto;font-weight:900;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)
}
.oufich-app-avatar{border-radius:50%;background:#fff;color:var(--oufich-app-navy)}
.oufich-app-brand strong,.oufich-app-user strong{display:block;color:#fff;font-size:15px;line-height:1.2}
.oufich-app-brand span:not(.oufich-app-brandmark),.oufich-app-user span:not(.oufich-app-avatar){display:block;color:rgba(255,255,255,.72);font-size:11px;margin-top:3px}
.oufich-app-user{text-align:right}
.oufich-welcome-card{
  margin:20px 20px 0;padding:22px;border-radius:20px;background:#fff;border:1px solid #e4eaf2;
  display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)
}
.oufich-eyebrow{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--oufich-app-blue);margin-bottom:5px}
.oufich-welcome-card h2,.oufich-section-heading h3,.oufich-clock-panel__heading h2{margin:0;color:#0f172a}
.oufich-welcome-card h2{font-size:24px}.oufich-welcome-card p,.oufich-clock-panel__heading p{margin:6px 0 0;color:var(--oufich-app-muted);font-size:13px}
.oufich-state-pill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2f7;color:#475569}
.oufich-state-pill span{width:8px;height:8px;border-radius:50%;background:#94a3b8}
.oufich-state-pill--working{background:#ecfdf3;color:#166534}.oufich-state-pill--working span{background:#22c55e}
.oufich-state-pill--paused{background:#fff7ed;color:#9a3412}.oufich-state-pill--paused span{background:#f97316}
.oufich-state-pill--finished{background:#eff6ff;color:#1d4ed8}.oufich-state-pill--finished span{background:#3b82f6}
.oufich-state-pill--excused{background:#eff6ff;color:#1d4ed8}.oufich-state-pill--excused span{background:#3b82f6}
.oufich-dashboard-section{margin:16px 20px 0;padding:18px;border-radius:20px;background:#fff;border:1px solid #e4eaf2;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.oufich-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.oufich-section-heading h3{font-size:17px}.oufich-section-heading time{font-size:13px;font-weight:800;color:#475569}
.oufich-kpi-grid{gap:12px}.oufich-kpi-card{box-shadow:none;border:1px solid #e7edf5;padding:15px;display:flex;align-items:center;gap:12px;min-height:92px}
.oufich-kpi-icon{width:38px;height:38px;border-radius:12px;background:#eff6ff;position:relative;flex:0 0 auto}
.oufich-kpi-icon:after{content:"";position:absolute;inset:11px;border:2px solid var(--oufich-app-blue);border-radius:50%}
.oufich-kpi-card--entry .oufich-kpi-icon{background:#ecfdf3}.oufich-kpi-card--entry .oufich-kpi-icon:after{border-color:var(--oufich-app-green)}
.oufich-kpi-card--exit .oufich-kpi-icon{background:#fef2f2}.oufich-kpi-card--exit .oufich-kpi-icon:after{border-color:var(--oufich-app-red)}
.oufich-kpi-card--pause .oufich-kpi-icon{background:#fff7ed}.oufich-kpi-card--pause .oufich-kpi-icon:after{border-color:var(--oufich-app-orange)}
.oufich-kpi-label{color:#64748b;opacity:1}.oufich-kpi-value{color:#0f172a;font-size:20px}.oufich-pending{font-size:14px;color:#94a3b8}.oufich-live-hint{margin-top:4px;font-size:11px;color:#64748b}
.oufich-document-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.oufich-btn--document{justify-content:flex-start!important;min-height:68px;padding:12px!important;border-radius:14px!important;background:#f8fafc!important;color:#0f172a!important;border:1px solid #e2e8f0!important;text-align:left!important}
.oufich-btn--document>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#e8efff;color:#1d4ed8;font-size:10px;font-weight:900}.oufich-btn--document strong,.oufich-btn--document small{display:block;color:#0f172a}.oufich-btn--document small{margin-top:3px;color:#64748b;font-size:11px}
.oufich-download-status{margin-top:10px;padding:11px 13px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a;color:#854d0e;font-size:12px}
.oufich-embedded-section{margin:16px 20px 0}.oufich-embedded-section>.oufich-wrap,.oufich-embedded-section>div{max-width:none!important;margin-left:0!important;margin-right:0!important}
.oufich-count-badge{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:800}
.oufich-action-tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#475569;font-size:11px;font-weight:800}.oufich-action-tag--in,.oufich-action-tag--resume{background:#ecfdf3;color:#166534}.oufich-action-tag--out{background:#fef2f2;color:#991b1b}.oufich-action-tag--pause{background:#fff7ed;color:#9a3412}
.oufich-empty-state{padding:24px;text-align:center;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b}
.oufich-mobile-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:9999;width:min(620px,calc(100% - 24px));padding:7px;display:none;grid-template-columns:repeat(5,1fr);gap:4px;border-radius:18px;background:rgba(11,31,58,.97);box-shadow:0 18px 45px rgba(15,23,42,.28);backdrop-filter:blur(12px)}
.oufich-mobile-nav a{min-width:0;padding:7px 3px;border-radius:12px;text-decoration:none!important;color:rgba(255,255,255,.75)!important;text-align:center}.oufich-mobile-nav a:hover,.oufich-mobile-nav a:focus{background:rgba(255,255,255,.11);color:#fff!important}.oufich-mobile-nav span,.oufich-mobile-nav small{display:block}.oufich-mobile-nav span{font-size:17px;line-height:1}.oufich-mobile-nav small{font-size:9px;margin-top:5px}

.oufich-clock-panel{padding:22px!important;border:1px solid #dfe7f1!important;border-radius:22px!important;background:#fff!important;box-shadow:0 18px 45px rgba(15,23,42,.08)!important}
.oufich-clock-panel__heading{margin-bottom:16px}.oufich-clock-panel__heading h2{font-size:28px}.oufich-clock-user-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;padding:13px;border:1px solid #e7edf5;border-radius:15px;background:#f8fafc}
.oufich-clock-state{padding:10px 12px;border-radius:12px;background:var(--oufich-state-bg);color:var(--oufich-state-text);border:1px solid var(--oufich-state-border);min-width:170px}
.oufich-clock-panel .oufich-clock-btn{min-height:52px;border-radius:14px;font-size:15px;box-shadow:none;transition:transform .15s ease,filter .15s ease}.oufich-clock-panel .oufich-clock-btn:active{transform:scale(.985)}

@media (max-width:900px){
  .oufich-employee-panel{width:calc(100% - 24px);border-radius:20px}
  .oufich-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oufich-mobile-nav{display:grid}
}
@media (max-width:640px){
  body{--oufich-mobile-safe-bottom:92px}
  .oufich-employee-panel{width:100%;margin:0 0 var(--oufich-mobile-safe-bottom);border-left:0;border-right:0;border-radius:0;box-shadow:none}
  .oufich-app-header{padding:12px 15px;min-height:66px}.oufich-app-brandmark{width:37px;height:37px}.oufich-app-user>div{display:none}.oufich-app-avatar{width:37px;height:37px}
  .oufich-welcome-card,.oufich-dashboard-section{margin-left:12px;margin-right:12px;border-radius:17px;padding:15px}.oufich-welcome-card{align-items:flex-start}.oufich-welcome-card h2{font-size:20px}.oufich-welcome-card p{font-size:12px}.oufich-state-pill{padding:7px 10px;font-size:10px}
  .oufich-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oufich-kpi-card{min-height:82px;padding:11px;gap:9px}.oufich-kpi-icon{width:31px;height:31px;border-radius:9px}.oufich-kpi-icon:after{inset:9px}.oufich-kpi-value{font-size:17px}.oufich-kpi-label{font-size:10px}
  .oufich-document-actions{grid-template-columns:1fr}.oufich-embedded-section{margin-left:12px;margin-right:12px}
  .oufich-activity-table{min-width:0}.oufich-activity-table thead{display:none}.oufich-activity-table,.oufich-activity-table tbody,.oufich-activity-table tr,.oufich-activity-table td{display:block;width:100%}.oufich-activity-table tr{padding:11px 12px;margin-bottom:9px;border:1px solid #e4eaf2;border-radius:14px;background:#fff}.oufich-activity-table td{display:flex;justify-content:space-between;gap:14px;padding:5px 0!important;border:0!important;text-align:right}.oufich-activity-table td:before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;text-align:left}.oufich-activity-tablewrap{overflow:visible;padding:0}
  .oufich-clock-panel{width:calc(100% - 24px)!important;margin:12px auto!important;padding:16px!important;border-radius:18px!important}.oufich-clock-panel__heading h2{font-size:23px}.oufich-clock-user-row{display:grid;grid-template-columns:1fr;padding:11px}.oufich-clock-state{min-width:0;width:100%}.oufich-actions-grid{gap:9px}.oufich-clock-panel .oufich-clock-btn{min-height:55px;font-size:16px}
}
@media (max-width:390px){
  .oufich-kpi-grid{grid-template-columns:1fr}.oufich-kpi-card{min-height:68px}.oufich-welcome-card{display:block}.oufich-state-pill{margin-top:12px}
}

/* ==========================================================
 * Modo aplicación automático en páginas creadas por OU Fichaje
 * ========================================================== */
html:has(body.oufich-app-mode){background:#f4f7fb!important}
body.oufich-app-mode{
  margin:0!important;
  background:#f4f7fb!important;
  overflow-x:hidden!important;
}

/* Neutraliza contenedores habituales de WordPress, BeTheme, Elementor, Divi y temas similares. */
body.oufich-app-mode #Content,
body.oufich-app-mode #content,
body.oufich-app-mode #main,
body.oufich-app-mode main,
body.oufich-app-mode article,
body.oufich-app-mode .site,
body.oufich-app-mode .site-content,
body.oufich-app-mode .content-area,
body.oufich-app-mode .content_wrapper,
body.oufich-app-mode .section_wrapper,
body.oufich-app-mode .sections_group,
body.oufich-app-mode .entry-content,
body.oufich-app-mode .the_content_wrapper,
body.oufich-app-mode .container,
body.oufich-app-mode .wrap,
body.oufich-app-mode .mcb-wrap,
body.oufich-app-mode .mcb-wrap-inner,
body.oufich-app-mode .column,
body.oufich-app-mode .column_attr,
body.oufich-app-mode .elementor,
body.oufich-app-mode .elementor-section,
body.oufich-app-mode .elementor-container,
body.oufich-app-mode .elementor-widget-container,
body.oufich-app-mode .et_pb_row,
body.oufich-app-mode .et_pb_section,
body.oufich-app-mode .wp-block-group,
body.oufich-app-mode .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Elimina el marco web solo en las dos pantallas privadas de la aplicación. */
body.oufich-app-mode #Header_wrapper,
body.oufich-app-mode #Header,
body.oufich-app-mode header.site-header,
body.oufich-app-mode .site-header,
body.oufich-app-mode #Top_bar,
body.oufich-app-mode #Subheader,
body.oufich-app-mode .page-header,
body.oufich-app-mode .entry-header,
body.oufich-app-mode .post-header,
body.oufich-app-mode .page-title,
body.oufich-app-mode .entry-title,
body.oufich-app-mode .breadcrumbs,
body.oufich-app-mode .breadcrumb,
body.oufich-app-mode aside.sidebar,
body.oufich-app-mode aside.widget-area,
body.oufich-app-mode aside#secondary,
body.oufich-app-mode .sidebar,
body.oufich-app-mode #Footer,
body.oufich-app-mode footer.site-footer,
body.oufich-app-mode .site-footer{
  display:none!important;
}

body.oufich-app-mode #Wrapper,
body.oufich-app-mode .site,
body.oufich-app-mode .site-content{
  min-height:100dvh!important;
  background:#f4f7fb!important;
}

body.oufich-app-mode .oufich-employee-panel{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

body.oufich-app-mode .oufich-clock-panel{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:none!important;
  margin:22px auto calc(24px + env(safe-area-inset-bottom))!important;
}

body.admin-bar.oufich-app-mode .oufich-app-header{top:32px}

@media (max-width:782px){
  body.admin-bar.oufich-app-mode .oufich-app-header{top:46px}
}

@media (max-width:900px){
  body.oufich-app-mode .oufich-app-header{
    position:sticky;
    top:0;
    z-index:9990;
    padding-top:max(12px,env(safe-area-inset-top));
  }
  body.oufich-app-mode .oufich-mobile-nav{
    bottom:max(10px,env(safe-area-inset-bottom));
  }
}

@media (max-width:640px){
  body.oufich-app-mode .oufich-clock-panel{
    width:calc(100% - 24px)!important;
    margin:12px auto calc(104px + env(safe-area-inset-bottom))!important;
  }
}

/* =========================================================
 * v1.3.2 · Interfaz app fiel a la propuesta móvil/tablet
 * ======================================================= */
body.oufich-app-mode{
  --oufich-navy:#071a3a;--oufich-navy-2:#0d2b5b;--oufich-blue:#2563eb;
  --oufich-green:#16a34a;--oufich-red:#dc2626;--oufich-orange:#f97316;
  --oufich-bg:#f3f6fb;--oufich-card:#fff;--oufich-border:#e2e8f0;
  background:var(--oufich-bg)!important;color:#0f172a!important;
}
body.oufich-app-mode .oufich-employee-panel{max-width:1440px!important;margin:0 auto!important;padding:88px clamp(14px,2.5vw,34px) 104px!important;}
body.oufich-app-mode .oufich-app-header{position:fixed!important;z-index:9999!important;left:0;right:0;top:0;min-height:72px;padding:max(12px,env(safe-area-inset-top)) clamp(16px,3vw,32px) 12px!important;background:linear-gradient(135deg,var(--oufich-navy),var(--oufich-navy-2))!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:0 8px 24px rgba(7,26,58,.22)!important;display:flex!important;align-items:center;justify-content:space-between;}
body.oufich-app-mode.admin-bar .oufich-app-header{top:32px}
body.oufich-app-mode .oufich-app-brandmark{background:#fff!important;color:var(--oufich-navy)!important;border-radius:12px!important;}
body.oufich-app-mode .oufich-app-brand span,body.oufich-app-mode .oufich-app-user span{color:rgba(255,255,255,.72)!important}
body.oufich-app-mode .oufich-welcome-card{background:linear-gradient(135deg,var(--oufich-navy),#0c356c)!important;color:#fff!important;border:0!important;border-radius:20px!important;padding:22px!important;box-shadow:0 14px 34px rgba(7,26,58,.18)!important;}
body.oufich-app-mode .oufich-welcome-card h2,body.oufich-app-mode .oufich-welcome-card p,body.oufich-app-mode .oufich-welcome-card .oufich-eyebrow{color:#fff!important}
body.oufich-app-mode .oufich-clock-panel{width:100%!important;max-width:none!important;margin:16px 0!important;padding:18px!important;border-radius:20px!important;border:1px solid var(--oufich-border)!important;box-shadow:0 8px 26px rgba(15,23,42,.07)!important;}
body.oufich-app-mode .oufich-clock-panel__heading,body.oufich-app-mode .oufich-clock-user-row{display:none!important}
body.oufich-app-mode .oufich-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.oufich-app-mode .oufich-clock-btn{min-height:58px!important;border-radius:12px!important;font-weight:800!important;letter-spacing:.01em!important;text-transform:uppercase!important}
body.oufich-app-mode .oufich-clock-btn--in,body.oufich-app-mode .oufich-clock-btn--resume{background:var(--oufich-green)!important;color:#fff!important;border-color:var(--oufich-green)!important}
body.oufich-app-mode .oufich-clock-btn--out{background:#fff1f2!important;color:var(--oufich-red)!important;border-color:#fecdd3!important}
body.oufich-app-mode .oufich-clock-btn--pause{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important}
body.oufich-app-mode .oufich-dashboard-section,body.oufich-app-mode .oufich-embedded-section{background:#fff!important;border:1px solid var(--oufich-border)!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important;padding:18px!important;margin-top:16px!important}
body.oufich-app-mode .oufich-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
body.oufich-app-mode .oufich-kpi-card{border:1px solid var(--oufich-border)!important;border-radius:14px!important;min-height:112px!important;background:#fff!important;box-shadow:none!important}
body.oufich-app-mode .oufich-kpi-value{font-size:clamp(22px,3vw,34px)!important;color:#0f172a!important}
body.oufich-app-mode .oufich-kpi-card--entry .oufich-kpi-value{color:var(--oufich-green)!important}
body.oufich-app-mode .oufich-kpi-card--worked .oufich-kpi-value{color:var(--oufich-blue)!important}
body.oufich-app-mode .oufich-mobile-nav{position:fixed!important;z-index:10000!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;left:0!important;right:0!important;bottom:0!important;background:linear-gradient(135deg,var(--oufich-navy),var(--oufich-navy-2))!important;padding:8px 8px max(8px,env(safe-area-inset-bottom))!important;border:0!important;box-shadow:0 -8px 24px rgba(7,26,58,.22)!important}
body.oufich-app-mode .oufich-mobile-nav a{color:#fff!important;min-height:54px!important;border-radius:12px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none!important}
body.oufich-app-mode .oufich-mobile-nav a:nth-child(2){background:#fff!important;color:var(--oufich-navy)!important;transform:translateY(-13px);border-radius:50%!important;min-width:58px;max-width:58px;justify-self:center;box-shadow:0 8px 22px rgba(0,0,0,.2)}
@media (min-width:900px){
 body.oufich-app-mode .oufich-employee-panel{display:grid!important;grid-template-columns:1.1fr .9fr .9fr!important;gap:16px!important;align-items:start!important}
 body.oufich-app-mode .oufich-app-header,body.oufich-app-mode .oufich-welcome-card{grid-column:1/-1!important}
 body.oufich-app-mode #oufich-fichar{grid-column:1!important;margin:0!important}
 body.oufich-app-mode .oufich-dashboard-section[aria-labelledby="oufich-today-title"]{grid-column:2/4!important;margin-top:0!important}
 body.oufich-app-mode .oufich-documents-card{grid-column:1!important}
 body.oufich-app-mode #oufich-ausencias{grid-column:2!important}
 body.oufich-app-mode #oufich-actividad{grid-column:1/-1!important}
 body.oufich-app-mode .oufich-mobile-nav{max-width:820px!important;left:50%!important;right:auto!important;transform:translateX(-50%);border-radius:18px 18px 0 0!important}
}
@media (max-width:899px){
 body.oufich-app-mode .oufich-employee-panel{padding-top:84px!important}
 body.oufich-app-mode .oufich-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
 body.oufich-app-mode .oufich-employee-panel{padding-left:10px!important;padding-right:10px!important}
 body.oufich-app-mode .oufich-app-header{min-height:64px!important}
 body.oufich-app-mode .oufich-app-brand div span,body.oufich-app-mode .oufich-app-user div{display:none!important}
 body.oufich-app-mode .oufich-welcome-card{padding:16px!important;border-radius:16px!important}
 body.oufich-app-mode .oufich-actions-grid{grid-template-columns:1fr!important}
 body.oufich-app-mode .oufich-dashboard-section,body.oufich-app-mode .oufich-embedded-section,body.oufich-app-mode .oufich-clock-panel{padding:14px!important;border-radius:16px!important}
 body.oufich-app-mode .oufich-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 body.oufich-app-mode .oufich-kpi-card{min-height:96px!important;padding:12px!important}
 body.oufich-app-mode .oufich-kpi-value{font-size:22px!important}
}


/* v1.3.3: ajustes UX móvil, contador en cabecera y colores por acción */
body.oufich-app-mode .oufich-welcome-card{display:block!important;position:relative}
body.oufich-app-mode .oufich-welcome-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body.oufich-app-mode .oufich-welcome-copy{min-width:0;flex:1}
body.oufich-app-mode .oufich-company-logo-card{display:block;flex:0 0 auto;max-width:112px;max-height:58px;width:auto;height:auto;object-fit:contain;object-position:right top;border-radius:8px;background:rgba(255,255,255,.96);padding:6px}
body.oufich-app-mode .oufich-welcome-status-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin-top:18px}
body.oufich-app-mode .oufich-welcome-worked{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff}
body.oufich-app-mode .oufich-welcome-worked small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.78}
body.oufich-app-mode .oufich-welcome-worked strong{font-size:14px;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
body.oufich-app-mode .oufich-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

body.oufich-app-mode .oufich-clock-btn--in{background:var(--oufich-btn-in-bg)!important;color:var(--oufich-btn-in-tx)!important;border-color:var(--oufich-btn-in-bg)!important}
body.oufich-app-mode .oufich-clock-btn--out{background:var(--oufich-btn-out-bg)!important;color:var(--oufich-btn-out-tx)!important;border-color:var(--oufich-btn-out-bg)!important}
body.oufich-app-mode .oufich-clock-btn--pause{background:var(--oufich-btn-pause-bg)!important;color:var(--oufich-btn-pause-tx)!important;border-color:var(--oufich-btn-pause-bg)!important}
body.oufich-app-mode .oufich-clock-btn--resume{background:var(--oufich-btn-resume-bg)!important;color:var(--oufich-btn-resume-tx)!important;border-color:var(--oufich-btn-resume-bg)!important}

body.oufich-app-mode .oufich-mobile-nav{width:100vw!important;max-width:none!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;margin:0!important;border-radius:0!important;box-sizing:border-box!important}
body.oufich-app-mode .oufich-activity-tablewrap,
body.oufich-app-mode .oufich-activity-table,
body.oufich-app-mode .oufich-activity-table tbody,
body.oufich-app-mode .oufich-activity-table tr,
body.oufich-app-mode .oufich-activity-table td{touch-action:pan-y!important;overscroll-behavior:auto!important;-webkit-overflow-scrolling:touch!important}
body.oufich-app-mode .oufich-activity-tablewrap{overflow:visible!important;max-height:none!important}
body.oufich-app-mode .oufich-activity-table tr{user-select:text;-webkit-user-select:text}

@media (max-width:640px){
 body.oufich-app-mode .oufich-company-logo-card{max-width:86px;max-height:48px;padding:5px}
 body.oufich-app-mode .oufich-welcome-status-row{gap:8px;margin-top:14px}
 body.oufich-app-mode .oufich-welcome-worked{padding:7px 10px}
 body.oufich-app-mode .oufich-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.oufich-app-mode .oufich-kpi-card:last-child{grid-column:1/-1}
}
@media (max-width:390px){
 body.oufich-app-mode .oufich-company-logo-card{max-width:72px;max-height:42px}
 body.oufich-app-mode .oufich-welcome-top{gap:10px}
 body.oufich-app-mode .oufich-kpi-grid{grid-template-columns:1fr}
 body.oufich-app-mode .oufich-kpi-card:last-child{grid-column:auto}
}

/* v1.3.4: reduce el espacio entre la cabecera app y la tarjeta principal */
body.oufich-app-mode #Content,
body.oufich-app-mode #content,
body.oufich-app-mode #main,
body.oufich-app-mode main,
body.oufich-app-mode article,
body.oufich-app-mode .site-content,
body.oufich-app-mode .content-area,
body.oufich-app-mode .content_wrapper,
body.oufich-app-mode .sections_group,
body.oufich-app-mode .section_wrapper,
body.oufich-app-mode .entry-content,
body.oufich-app-mode .the_content_wrapper,
body.oufich-app-mode .mcb-section,
body.oufich-app-mode .mcb-wrap,
body.oufich-app-mode .mcb-wrap-inner,
body.oufich-app-mode .column,
body.oufich-app-mode .column_attr{
  margin-top:0!important;
  padding-top:0!important;
}
body.oufich-app-mode .oufich-employee-panel{
  padding-top:calc(72px + env(safe-area-inset-top) + 10px)!important;
}
body.oufich-app-mode .oufich-welcome-card{
  margin-top:0!important;
}
@media (max-width:899px){
  body.oufich-app-mode .oufich-employee-panel{
    padding-top:calc(64px + env(safe-area-inset-top) + 10px)!important;
  }
}
@media (max-width:520px){
  body.oufich-app-mode .oufich-employee-panel{
    padding-top:calc(64px + env(safe-area-inset-top) + 8px)!important;
  }
}

/* v1.3.5: estado finalizado y contador solo durante jornada activa */

/* =========================================================
   OU Fichaje 1.4.0 – Interfaz app fiel a la propuesta visual
   ========================================================= */
body.oufich-app-mode{
  --oufich-navy:#081f43;
  --oufich-navy-2:#0d356d;
  --oufich-surface:#f4f7fb;
  --oufich-card:#ffffff;
  --oufich-border:#e3e9f1;
  --oufich-muted:#667085;
  --oufich-blue:#2563eb;
  --oufich-green:#16a34a;
  --oufich-orange:#f97316;
  --oufich-red:#dc2626;
  margin:0!important;
  background:var(--oufich-surface)!important;
  color:#0f172a!important;
}
html.oufich-drawer-open,
html.oufich-drawer-open body{overflow:hidden!important}

body.oufich-app-mode .oufich-employee-panel{
  display:block!important;
  width:100%!important;
  max-width:1480px!important;
  min-height:100dvh!important;
  margin:0 auto!important;
  padding:calc(72px + env(safe-area-inset-top)) 0 calc(86px + env(safe-area-inset-bottom))!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:var(--oufich-surface)!important;
  box-shadow:none!important;
}
body.admin-bar.oufich-app-mode .oufich-employee-panel{padding-top:calc(104px + env(safe-area-inset-top))!important}

/* Cabecera de aplicación */
body.oufich-app-mode .oufich-app-header{
  position:fixed!important;
  z-index:10020!important;
  inset:0 0 auto 0!important;
  min-height:72px!important;
  padding:max(11px,env(safe-area-inset-top)) clamp(14px,2.5vw,30px) 11px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  background:linear-gradient(110deg,var(--oufich-navy),var(--oufich-navy-2))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 24px rgba(8,31,67,.2)!important;
}
body.admin-bar.oufich-app-mode .oufich-app-header{top:32px!important}
body.oufich-app-mode .oufich-app-menu-toggle{
  width:42px;height:42px;padding:10px;border:0;border-radius:11px;background:transparent;color:#fff;cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;gap:5px
}
body.oufich-app-mode .oufich-app-menu-toggle:hover,
body.oufich-app-mode .oufich-app-menu-toggle:focus-visible{background:rgba(255,255,255,.1);outline:2px solid rgba(255,255,255,.5);outline-offset:2px}
body.oufich-app-mode .oufich-app-menu-toggle span{display:block;width:20px;height:2px;border-radius:3px;background:#fff}
body.oufich-app-mode .oufich-app-brand{min-width:0;display:flex;align-items:center;gap:10px}
body.oufich-app-mode .oufich-app-brandmark{width:38px;height:38px;border-radius:10px;background:#fff!important;color:var(--oufich-navy)!important;font-size:12px}
body.oufich-app-mode .oufich-app-brandmark{padding:5px!important;overflow:hidden!important;display:grid!important;place-items:center!important}
body.oufich-app-mode .oufich-app-brandmark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
body.oufich-app-mode .oufich-app-brand strong{font-size:16px;letter-spacing:.01em;white-space:nowrap}
body.oufich-app-mode .oufich-app-brand span:not(.oufich-app-brandmark){font-size:10px}
body.oufich-app-mode .oufich-app-user{display:flex;align-items:center;gap:10px;text-align:right}
body.oufich-app-mode .oufich-app-user strong{font-size:12px}
body.oufich-app-mode .oufich-app-user span:not(.oufich-app-avatar){font-size:9px}
body.oufich-app-mode .oufich-app-avatar{width:38px;height:38px;border:2px solid rgba(255,255,255,.65);font-size:14px}

/* Menú lateral */
body.oufich-app-mode .oufich-app-drawer{
  position:fixed;z-index:10050;inset:0 auto 0 0;width:min(320px,86vw);padding:env(safe-area-inset-top) 14px max(18px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;background:linear-gradient(180deg,var(--oufich-navy),#06152d);color:#fff;
  transform:translateX(-104%);transition:transform .22s ease;box-shadow:20px 0 60px rgba(2,8,23,.32)
}
body.oufich-app-mode .oufich-app-drawer.is-open{transform:translateX(0)}
body.oufich-app-mode .oufich-app-drawer__head{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:8px 6px 14px;border-bottom:1px solid rgba(255,255,255,.13)}
body.oufich-app-mode .oufich-app-drawer__head button{width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;cursor:pointer}
body.oufich-app-mode .oufich-app-drawer nav{display:grid;gap:5px;padding-top:14px}
body.oufich-app-mode .oufich-app-drawer nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border-radius:11px;color:#fff!important;text-decoration:none!important;font-weight:650;font-size:14px}
body.oufich-app-mode .oufich-app-drawer nav a:hover,
body.oufich-app-mode .oufich-app-drawer nav a:focus{background:#17417c!important}
body.oufich-app-mode .oufich-app-drawer nav a span:first-child{width:22px;text-align:center;font-size:17px}
body.oufich-app-mode .oufich-app-drawer>small{margin-top:auto;padding:16px 8px 0;color:rgba(255,255,255,.58);font-size:10px;text-align:center}
body.oufich-app-mode .oufich-app-drawer-backdrop{position:fixed;z-index:10040;inset:0;background:rgba(2,8,23,.48);opacity:0;transition:opacity .18s ease}
body.oufich-app-mode .oufich-app-drawer-backdrop.is-visible{opacity:1}

body.oufich-app-mode .oufich-app-content{display:block!important;padding:16px clamp(14px,2.4vw,34px) 24px!important}

/* Tarjeta azul de bienvenida */
body.oufich-app-mode .oufich-welcome-card{
  width:100%!important;margin:0!important;padding:22px 24px!important;border:0!important;border-radius:18px!important;
  background:linear-gradient(125deg,var(--oufich-navy),#0c3b78)!important;color:#fff!important;
  box-shadow:0 14px 34px rgba(8,31,67,.17)!important
}
body.oufich-app-mode .oufich-welcome-card h1{margin:0!important;color:#fff!important;font-size:clamp(23px,3vw,34px)!important;font-weight:500!important;letter-spacing:-.025em}
body.oufich-app-mode .oufich-welcome-card p{margin:8px 0 0!important;color:rgba(255,255,255,.88)!important;font-size:14px!important}
body.oufich-app-mode .oufich-welcome-card .oufich-eyebrow{color:#fff!important;font-size:12px!important;letter-spacing:.055em!important}
body.oufich-app-mode .oufich-welcome-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}
body.oufich-app-mode .oufich-company-logo-card{max-width:122px!important;max-height:62px!important;padding:7px!important;background:rgba(255,255,255,.97)!important;border-radius:10px!important;object-fit:contain!important}
body.oufich-app-mode .oufich-welcome-status-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:18px!important}
body.oufich-app-mode .oufich-state-pill{min-height:38px;padding:9px 14px!important;font-size:12px!important}
body.oufich-app-mode .oufich-welcome-worked{min-height:38px;padding:8px 13px!important}
body.oufich-app-mode .oufich-welcome-worked strong{font-size:15px!important}

/* Fila superior: fecha, hora, jornada */
body.oufich-app-mode .oufich-overview-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
body.oufich-app-mode .oufich-overview-card{min-height:104px;padding:16px 18px;border:1px solid var(--oufich-border);border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;box-shadow:0 5px 15px rgba(15,23,42,.035)}
body.oufich-app-mode .oufich-overview-card>div{min-width:0}
body.oufich-app-mode .oufich-overview-card small{display:block;color:#475569;font-size:11px;font-weight:700}
body.oufich-app-mode .oufich-overview-card strong{display:block;margin-top:5px;color:#0f172a;font-size:clamp(16px,2vw,22px);line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.oufich-app-mode .oufich-overview-card>div>span{display:block;margin-top:5px;color:var(--oufich-blue);font-size:11px;font-weight:650}
body.oufich-app-mode .oufich-overview-icon{display:none}

/* Cuadrícula principal igual a la propuesta de tablet */
body.oufich-app-mode .oufich-primary-grid{display:grid!important;grid-template-columns:1.15fr .86fr .9fr!important;gap:14px!important;align-items:stretch!important;margin-top:14px!important}
body.oufich-app-mode .oufich-primary-grid>.oufich-clock-panel,
body.oufich-app-mode .oufich-primary-grid>.oufich-dashboard-section{margin:0!important;min-width:0!important;height:100%!important}
body.oufich-app-mode .oufich-dashboard-section,
body.oufich-app-mode .oufich-clock-panel,
body.oufich-app-mode .oufich-embedded-section{padding:17px!important;border:1px solid var(--oufich-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 17px rgba(15,23,42,.04)!important}
body.oufich-app-mode .oufich-section-heading{margin:0 0 14px!important}
body.oufich-app-mode .oufich-section-heading h2,
body.oufich-app-mode .oufich-clock-panel__heading h2{margin:0!important;color:#0f172a!important;font-size:16px!important;line-height:1.25}
body.oufich-app-mode .oufich-eyebrow{margin-bottom:4px!important;font-size:9px!important;color:#64748b!important}

/* Tarjeta Estado de hoy + botones */
body.oufich-app-mode .oufich-clock-panel{display:flex!important;flex-direction:column!important;width:auto!important;max-width:none!important}
body.oufich-app-mode .oufich-clock-panel__heading{order:10;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 12px!important}
body.oufich-app-mode .oufich-clock-user-row{display:none!important}
body.oufich-app-mode .oufich-clock-state-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;font-weight:800;white-space:nowrap}
body.oufich-app-mode .oufich-clock-state-badge--ok{background:#dcfce7;color:#166534}
body.oufich-app-mode .oufich-clock-state-badge--warn{background:#ffedd5;color:#9a3412}
body.oufich-app-mode .oufich-clock-state-badge--done{background:#dbeafe;color:#1d4ed8}
body.oufich-app-mode .oufich-clock-status-grid{order:20;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #edf1f6;border-radius:12px;overflow:hidden;background:#fbfcfe}
body.oufich-app-mode .oufich-clock-status-grid>div{min-height:72px;padding:12px 13px;border-bottom:1px solid #edf1f6}
body.oufich-app-mode .oufich-clock-status-grid>div:nth-child(odd){border-right:1px solid #edf1f6}
body.oufich-app-mode .oufich-clock-status-grid>div:last-child{grid-column:1/-1;border-bottom:0;border-right:0}
body.oufich-app-mode .oufich-clock-status-grid small{display:block;color:#64748b;font-size:10px}
body.oufich-app-mode .oufich-clock-status-grid strong{display:block;margin-top:6px;color:#0f172a;font-size:17px;font-variant-numeric:tabular-nums}
body.oufich-app-mode .oufich-clock-status-grid>div:first-child strong{color:var(--oufich-green)}
body.oufich-app-mode .oufich-clock-status-grid>div:nth-child(2) strong{color:var(--oufich-red)}
body.oufich-app-mode .oufich-clock-status-grid>div:last-child strong{color:var(--oufich-orange)}
body.oufich-app-mode .oufich-action-feedback{order:25;display:grid;gap:3px;margin:12px 0 0;padding:11px 12px;border-radius:11px;border:1px solid #bbf7d0;background:#ecfdf3;color:#166534}
body.oufich-app-mode .oufich-action-feedback strong{font-size:13px}
body.oufich-app-mode .oufich-action-feedback span{font-size:11px;line-height:1.45}
body.oufich-app-mode #oufich_fichar_form{order:30;display:flex!important;flex-direction:column!important;margin:12px 0 0!important}
body.oufich-app-mode #oufich_fichar_form>.oufich-actions-grid{order:10;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:0!important}
body.oufich-app-mode #oufich_fichar_form>.oufich-action-help{order:20;margin-top:8px;color:#64748b;font-size:10px;line-height:1.4}
body.oufich-app-mode #oufich_fichar_form>.oufich-incidents-box{order:30;margin:12px 0 0!important;padding:12px!important;border-style:solid!important;background:#f8fafc!important}
body.oufich-app-mode .oufich-clock-btn{width:100%!important;min-height:48px!important;margin:0!important;padding:11px 14px!important;border:1px solid transparent!important;border-radius:9px!important;box-shadow:none!important;font-size:12px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.025em!important;cursor:pointer}
body.oufich-app-mode .oufich-clock-btn--in{background:var(--oufich-btn-in-bg)!important;color:var(--oufich-btn-in-tx)!important;border-color:var(--oufich-btn-in-bg)!important}
body.oufich-app-mode .oufich-clock-btn--out{background:var(--oufich-btn-out-bg)!important;color:var(--oufich-btn-out-tx)!important;border-color:var(--oufich-btn-out-bg)!important}
body.oufich-app-mode .oufich-clock-btn--pause{background:var(--oufich-btn-pause-bg)!important;color:var(--oufich-btn-pause-tx)!important;border-color:var(--oufich-btn-pause-bg)!important}
body.oufich-app-mode .oufich-clock-btn--resume{background:var(--oufich-btn-resume-bg)!important;color:var(--oufich-btn-resume-tx)!important;border-color:var(--oufich-btn-resume-bg)!important}
body.oufich-app-mode .oufich-clock-btn:hover{filter:brightness(.94)}
body.oufich-app-mode .oufich-clock-btn[aria-busy="true"]{opacity:.7;cursor:wait}
body.oufich-app-mode .oufich-clock-secondary-panels{order:40;margin-top:12px}
body.oufich-app-mode .oufich-clock-secondary-panels>*{max-width:100%!important}
body.oufich-app-mode .oufich-privacy-card{order:50;margin:12px 0 0!important}

/* Resumen de hoy */
body.oufich-app-mode .oufich-summary-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:18px}
body.oufich-app-mode .oufich-summary-numbers>div{padding:4px 12px 12px}
body.oufich-app-mode .oufich-summary-numbers>div+div{border-left:1px solid #e6ebf2}
body.oufich-app-mode .oufich-summary-numbers span,
body.oufich-app-mode .oufich-summary-total span{display:block;color:#64748b;font-size:10px}
body.oufich-app-mode .oufich-summary-numbers strong{display:block;margin-top:6px;color:#0f172a;font-size:28px;font-variant-numeric:tabular-nums}
body.oufich-app-mode .oufich-summary-numbers .oufich-summary-worked{color:var(--oufich-blue)}
body.oufich-app-mode .oufich-summary-total{padding:13px 12px;border-top:1px solid #edf1f5}
body.oufich-app-mode .oufich-summary-total strong{display:block;margin-top:5px;font-size:16px}
body.oufich-app-mode .oufich-progress{height:8px;margin:3px 12px 0;border-radius:999px;background:#edf1f6;overflow:hidden}
body.oufich-app-mode .oufich-progress span{display:block;height:100%;border-radius:inherit;background:var(--oufich-blue);transition:width .25s ease}

/* Próximos eventos */
body.oufich-app-mode .oufich-event-list{display:grid}
body.oufich-app-mode .oufich-event-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:56px;padding:8px 0;border-bottom:1px solid #edf1f5}
body.oufich-app-mode .oufich-event-item:last-child{border-bottom:0}
body.oufich-app-mode .oufich-event-icon{width:20px;height:20px;border:2px solid var(--oufich-blue);border-radius:50%;position:relative}
body.oufich-app-mode .oufich-event-item--entry .oufich-event-icon{border-color:var(--oufich-green)}
body.oufich-app-mode .oufich-event-item--exit .oufich-event-icon{border-color:var(--oufich-red)}
body.oufich-app-mode .oufich-event-item--pause .oufich-event-icon{border-color:var(--oufich-orange)}
body.oufich-app-mode .oufich-event-item--done .oufich-event-icon{border-color:var(--oufich-blue);background:#dbeafe}
body.oufich-app-mode .oufich-event-item strong{display:block;font-size:12px;color:#0f172a}
body.oufich-app-mode .oufich-event-item small{display:block;margin-top:3px;color:#64748b;font-size:9px}
body.oufich-app-mode .oufich-event-item time{font-size:11px;font-weight:800;color:#0f172a}

/* Historial + columna lateral */
body.oufich-app-mode .oufich-secondary-grid{display:grid!important;grid-template-columns:minmax(0,1.75fr) minmax(300px,.85fr)!important;gap:14px!important;align-items:start!important;margin-top:14px!important}
body.oufich-app-mode .oufich-secondary-grid>.oufich-dashboard-section,
body.oufich-app-mode .oufich-side-stack>.oufich-dashboard-section{margin:0!important}
body.oufich-app-mode .oufich-side-stack{display:grid;gap:14px;min-width:0}
body.oufich-app-mode .oufich-activity-tablewrap{overflow:visible!important;max-height:none!important;padding:0!important;touch-action:pan-y!important;overscroll-behavior:auto!important}
body.oufich-app-mode .oufich-activity-table{min-width:0!important;touch-action:pan-y!important}
body.oufich-app-mode .oufich-activity-table tbody,
body.oufich-app-mode .oufich-activity-table tr,
body.oufich-app-mode .oufich-activity-table td{touch-action:pan-y!important;overscroll-behavior:auto!important}
body.oufich-app-mode .oufich-activity-table th{padding:8px 9px;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
body.oufich-app-mode .oufich-activity-table td{padding:10px 9px;color:#334155;font-size:11px}
body.oufich-app-mode .oufich-document-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important}
body.oufich-app-mode .oufich-btn--document{width:100%!important;min-height:60px!important}
body.oufich-app-mode .oufich-embedded-section>.oufich-wrap,
body.oufich-app-mode .oufich-embedded-section>div{margin:0!important;max-width:none!important}

/* Navegación inferior */
body.oufich-app-mode .oufich-mobile-nav{
  position:fixed!important;z-index:10030!important;inset:auto 0 0 0!important;width:100%!important;max-width:none!important;min-height:70px!important;
  margin:0!important;padding:7px 8px max(7px,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:3px!important;transform:none!important;border:0!important;border-radius:0!important;background:linear-gradient(110deg,var(--oufich-navy),var(--oufich-navy-2))!important;
  box-shadow:0 -7px 24px rgba(8,31,67,.2)!important;box-sizing:border-box!important
}
body.oufich-app-mode .oufich-mobile-nav a,
body.oufich-app-mode .oufich-mobile-nav button{min-width:0!important;min-height:52px!important;margin:0!important;padding:5px 2px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:rgba(255,255,255,.82)!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font:inherit!important;cursor:pointer!important;text-align:center!important}
body.oufich-app-mode .oufich-mobile-nav a:hover,
body.oufich-app-mode .oufich-mobile-nav button:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
body.oufich-app-mode .oufich-mobile-nav span{display:block!important;font-size:17px!important;line-height:1!important}
body.oufich-app-mode .oufich-mobile-nav small{display:block!important;margin:0!important;font-size:9px!important;color:inherit!important}
body.oufich-app-mode .oufich-mobile-nav .oufich-mobile-nav__primary{width:58px!important;min-width:58px!important;height:58px!important;min-height:58px!important;justify-self:center!important;transform:translateY(-14px)!important;border-radius:50%!important;background:#fff!important;color:var(--oufich-navy)!important;box-shadow:0 9px 22px rgba(2,8,23,.24)!important}

@media (min-width:1200px){
  body.oufich-app-mode .oufich-mobile-nav{left:50%!important;right:auto!important;width:min(860px,72vw)!important;transform:translateX(-50%)!important;border-radius:16px 16px 0 0!important}
}

@media (max-width:980px){
  body.oufich-app-mode .oufich-primary-grid{grid-template-columns:1fr 1fr!important}
  body.oufich-app-mode .oufich-primary-grid>.oufich-clock-panel{grid-column:1/-1!important}
  body.oufich-app-mode .oufich-secondary-grid{grid-template-columns:1fr!important}
  body.oufich-app-mode .oufich-side-stack{grid-template-columns:1fr 1fr!important}
}

@media (max-width:782px){
  body.admin-bar.oufich-app-mode .oufich-app-header{top:46px!important}
  body.admin-bar.oufich-app-mode .oufich-employee-panel{padding-top:calc(118px + env(safe-area-inset-top))!important}
}

@media (max-width:680px){
  body.oufich-app-mode .oufich-employee-panel{padding-top:calc(64px + env(safe-area-inset-top))!important}
  body.admin-bar.oufich-app-mode .oufich-employee-panel{padding-top:calc(110px + env(safe-area-inset-top))!important}
  body.oufich-app-mode .oufich-app-header{min-height:64px!important;padding:max(9px,env(safe-area-inset-top)) 10px 9px!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:8px!important}
  body.oufich-app-mode .oufich-app-menu-toggle{width:38px;height:38px;padding:9px}
  body.oufich-app-mode .oufich-app-brandmark{display:none!important}
  body.oufich-app-mode .oufich-app-brand strong{font-size:15px!important}
  body.oufich-app-mode .oufich-app-brand div span{display:none!important}
  body.oufich-app-mode .oufich-app-user>div{display:none!important}
  body.oufich-app-mode .oufich-app-avatar{width:38px;height:38px}
  body.oufich-app-mode .oufich-app-content{padding:9px 10px 18px!important}
  body.oufich-app-mode .oufich-welcome-card{padding:17px!important;border-radius:16px!important}
  body.oufich-app-mode .oufich-welcome-card h1{font-size:22px!important}
  body.oufich-app-mode .oufich-welcome-card p{font-size:12px!important;line-height:1.45}
  body.oufich-app-mode .oufich-welcome-card .oufich-eyebrow{font-size:10px!important}
  body.oufich-app-mode .oufich-company-logo-card{max-width:80px!important;max-height:46px!important;padding:5px!important}
  body.oufich-app-mode .oufich-welcome-status-row{margin-top:14px!important;gap:7px!important}
  body.oufich-app-mode .oufich-state-pill,
  body.oufich-app-mode .oufich-welcome-worked{min-height:34px!important;padding:7px 10px!important}

  body.oufich-app-mode .oufich-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}
  body.oufich-app-mode .oufich-overview-card{min-height:76px!important;padding:9px 5px!important;border-radius:10px!important}
  body.oufich-app-mode .oufich-overview-card small{font-size:8px!important}
  body.oufich-app-mode .oufich-overview-card strong{font-size:12px!important;margin-top:4px!important}
  body.oufich-app-mode .oufich-overview-card>div>span{font-size:8px!important;margin-top:3px!important}

  body.oufich-app-mode .oufich-primary-grid{grid-template-columns:1fr!important;gap:9px!important;margin-top:9px!important}
  body.oufich-app-mode .oufich-primary-grid>.oufich-clock-panel{grid-column:auto!important}
  body.oufich-app-mode .oufich-dashboard-section,
  body.oufich-app-mode .oufich-clock-panel,
  body.oufich-app-mode .oufich-embedded-section{padding:14px!important;border-radius:13px!important}
  body.oufich-app-mode .oufich-clock-status-grid>div{min-height:64px;padding:10px 11px}
  body.oufich-app-mode #oufich_fichar_form>.oufich-actions-grid{grid-template-columns:1fr!important}
  body.oufich-app-mode .oufich-clock-btn{min-height:52px!important;font-size:13px!important}
  body.oufich-app-mode .oufich-summary-numbers strong{font-size:25px!important}

  body.oufich-app-mode .oufich-secondary-grid{gap:9px!important;margin-top:9px!important}
  body.oufich-app-mode .oufich-side-stack{grid-template-columns:1fr!important;gap:9px!important}
  body.oufich-app-mode .oufich-activity-table thead{display:none!important}
  body.oufich-app-mode .oufich-activity-table,
  body.oufich-app-mode .oufich-activity-table tbody,
  body.oufich-app-mode .oufich-activity-table tr,
  body.oufich-app-mode .oufich-activity-table td{display:block!important;width:100%!important}
  body.oufich-app-mode .oufich-activity-table tr{margin:0 0 8px!important;padding:10px 11px!important;border:1px solid var(--oufich-border)!important;border-radius:11px!important;background:#fff!important;touch-action:pan-y!important}
  body.oufich-app-mode .oufich-activity-table td{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:4px 0!important;border:0!important;text-align:right!important;touch-action:pan-y!important}
  body.oufich-app-mode .oufich-activity-table td:before{content:attr(data-label);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;text-align:left}
}

@media (max-width:380px){
  body.oufich-app-mode .oufich-welcome-top{gap:8px!important}
  body.oufich-app-mode .oufich-company-logo-card{max-width:66px!important;max-height:40px!important}
  body.oufich-app-mode .oufich-overview-card strong{font-size:11px!important}
  body.oufich-app-mode .oufich-overview-card>div>span{display:none!important}
}
body.oufich-app-mode .oufich-clock-panel>.notice{order:25!important;margin:12px 0 0!important}
@media (display-mode:standalone){
  html:has(body.oufich-app-mode){margin-top:0!important}
  body.oufich-app-mode #wpadminbar{display:none!important}
  body.admin-bar.oufich-app-mode .oufich-app-header{top:0!important}
  body.admin-bar.oufich-app-mode .oufich-employee-panel{padding-top:calc(64px + env(safe-area-inset-top))!important}
}


/* =========================================================
   OU Fichaje 1.4.1 – navegación corregida y colores configurables
   ========================================================= */
body.oufich-app-mode .oufich-app-header{
  background:linear-gradient(110deg,var(--oufich-app-header-start),var(--oufich-app-header-end))!important;
  color:var(--oufich-app-header-text)!important;
}
body.oufich-app-mode .oufich-app-header strong,
body.oufich-app-mode .oufich-app-header span,
body.oufich-app-mode .oufich-app-menu-toggle{color:var(--oufich-app-header-text)!important}
body.oufich-app-mode .oufich-app-menu-toggle span{background:var(--oufich-app-header-text)!important}

body.oufich-app-mode .oufich-welcome-card{
  background:linear-gradient(125deg,var(--oufich-app-card-start),var(--oufich-app-card-end))!important;
  color:var(--oufich-app-card-text)!important;
}
body.oufich-app-mode .oufich-welcome-card h1,
body.oufich-app-mode .oufich-welcome-card h2,
body.oufich-app-mode .oufich-welcome-card p,
body.oufich-app-mode .oufich-welcome-card .oufich-eyebrow,
body.oufich-app-mode .oufich-welcome-card .oufich-welcome-worked,
body.oufich-app-mode .oufich-welcome-card .oufich-welcome-worked strong{color:var(--oufich-app-card-text)!important}

body.oufich-app-mode .oufich-app-drawer,
body.oufich-app-mode .oufich-mobile-nav{
  background:linear-gradient(110deg,var(--oufich-app-nav-start),var(--oufich-app-nav-end))!important;
  color:var(--oufich-app-nav-text)!important;
}
body.oufich-app-mode .oufich-app-drawer nav a,
body.oufich-app-mode .oufich-app-drawer__head,
body.oufich-app-mode .oufich-app-drawer__head button,
body.oufich-app-mode .oufich-mobile-nav a,
body.oufich-app-mode .oufich-mobile-nav button{color:var(--oufich-app-nav-text)!important}

/* Neutraliza la antigua regla que convertía por error "Ausencias" en un segundo botón circular. */
body.oufich-app-mode .oufich-mobile-nav a:nth-child(2){
  min-width:0!important;max-width:none!important;width:auto!important;height:auto!important;min-height:52px!important;
  transform:none!important;border-radius:10px!important;background:transparent!important;color:var(--oufich-app-nav-text)!important;
  box-shadow:none!important;justify-self:stretch!important;
}
body.oufich-app-mode .oufich-mobile-nav .oufich-mobile-nav__primary{
  width:58px!important;min-width:58px!important;max-width:58px!important;height:58px!important;min-height:58px!important;
  transform:translateY(-14px)!important;border-radius:50%!important;background:var(--oufich-app-nav-primary-bg)!important;
  color:var(--oufich-app-nav-primary-text)!important;box-shadow:0 9px 22px rgba(2,8,23,.24)!important;justify-self:center!important;
}

body.oufich-app-mode .oufich-btn--document,
body.oufich-app-mode a.oufich-btn--document{
  background:var(--oufich-pdf-btn-bg)!important;color:var(--oufich-pdf-btn-text)!important;
  border-color:var(--oufich-pdf-btn-bg)!important;
}
body.oufich-app-mode .oufich-btn--document strong,
body.oufich-app-mode .oufich-btn--document small{color:var(--oufich-pdf-btn-text)!important}
body.oufich-app-mode .oufich-btn--document>span{
  background:var(--oufich-pdf-badge-bg)!important;color:var(--oufich-pdf-badge-text)!important;
}

body.oufich-app-mode .oufich-app-drawer{pointer-events:auto!important;visibility:visible!important}
body.oufich-app-mode .oufich-app-drawer-backdrop[hidden]{display:none!important}
body.oufich-app-mode .oufich-app-drawer-backdrop:not([hidden]){display:block!important}
body.oufich-app-mode .oufich-app-menu-toggle,
body.oufich-app-mode [data-oufich-drawer-open]{touch-action:manipulation!important;-webkit-tap-highlight-color:transparent}

/* La navegación inferior es móvil/tablet. En escritorio se usa la cabecera y el menú lateral. */
@media (min-width:1200px){
  body.oufich-app-mode .oufich-mobile-nav{display:none!important}
  body.oufich-app-mode .oufich-employee-panel{padding-bottom:28px!important}
}


/* =========================================================
   OU Fichaje 1.4.2 – corrección definitiva del menú lateral
   ========================================================= */
/* El selector genérico `aside` del modo aplicación ocultaba también el propio drawer. */
body.oufich-app-mode aside.oufich-app-drawer{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  opacity:1!important;
  position:fixed!important;
  z-index:10050!important;
}
body.oufich-app-mode aside.oufich-app-drawer[aria-hidden="true"]{
  transform:translate3d(-104%,0,0)!important;
}
body.oufich-app-mode aside.oufich-app-drawer.is-open,
body.oufich-app-mode aside.oufich-app-drawer[aria-hidden="false"]{
  transform:translate3d(0,0,0)!important;
}
body.oufich-app-mode .oufich-app-drawer-backdrop{
  z-index:10040!important;
}


/* =========================================================
   OU Fichaje 1.5.5 – versión estable comercial en todos los dispositivos
   ========================================================= */
/* El icono y el subtítulo forman parte de la identidad de la app.
   No deben desaparecer en móvil, tablet ni en modo PWA. */
body.oufich-app-mode .oufich-app-brand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
body.oufich-app-mode .oufich-app-brand>div{
  min-width:0!important;
  display:block!important;
}
body.oufich-app-mode .oufich-app-brandmark{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  flex:0 0 44px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#fff!important;
}
body.oufich-app-mode .oufich-app-brandmark img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.oufich-app-mode .oufich-app-brand strong{
  display:block!important;
  margin:0!important;
  color:var(--oufich-app-header-text)!important;
  font-size:16px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
body.oufich-app-mode .oufich-app-brand div span{
  display:block!important;
  margin-top:4px!important;
  color:color-mix(in srgb,var(--oufich-app-header-text) 76%,transparent)!important;
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

@media (max-width:680px){
  body.oufich-app-mode .oufich-app-header{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:8px!important;
  }
  body.oufich-app-mode .oufich-app-brand{
    gap:8px!important;
    overflow:hidden!important;
  }
  body.oufich-app-mode .oufich-app-brandmark{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    flex-basis:40px!important;
    border-radius:10px!important;
  }
  body.oufich-app-mode .oufich-app-brand strong{
    font-size:14px!important;
  }
  body.oufich-app-mode .oufich-app-brand div span{
    display:block!important;
    font-size:9px!important;
    margin-top:3px!important;
  }
}

@media (max-width:380px){
  body.oufich-app-mode .oufich-app-header{
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    gap:6px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.oufich-app-mode .oufich-app-brand{
    gap:6px!important;
  }
  body.oufich-app-mode .oufich-app-brandmark{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    flex-basis:36px!important;
    border-radius:9px!important;
  }
  body.oufich-app-mode .oufich-app-brand strong{
    font-size:13px!important;
  }
  body.oufich-app-mode .oufich-app-brand div span{
    font-size:8px!important;
  }
}

/* Fallback para navegadores que todavía no soportan color-mix(). */
@supports not (color:color-mix(in srgb,#fff 50%,transparent)){
  body.oufich-app-mode .oufich-app-brand div span{
    color:rgba(255,255,255,.76)!important;
  }
}

/* =========================================================
   OU Fichaje 1.5.6 – cabecera limpia y espaciado compacto
   ========================================================= */
/* La identidad del usuario ya está en la tarjeta principal; se elimina
   el bloque duplicado de nombre, rol y avatar de la barra superior. */
body.oufich-app-mode .oufich-app-user{
  display:none!important;
}
body.oufich-app-mode .oufich-app-header{
  grid-template-columns:44px minmax(0,1fr)!important;
}

/* El recurso del icono contiene transparencia exterior. Se elimina el
   fondo blanco del contenedor y se amplía la imagen para ocuparlo. */
body.oufich-app-mode .oufich-app-brandmark{
  background:transparent!important;
  box-shadow:none!important;
}
body.oufich-app-mode .oufich-app-brandmark img{
  transform:scale(1.40)!important;
  transform-origin:center!important;
}

/* Acerca la tarjeta azul a la barra superior sin solaparla. */
body.oufich-app-mode .oufich-app-content{
  padding-top:6px!important;
}

@media (max-width:899px){
  body.oufich-app-mode .oufich-app-content{
    padding-top:5px!important;
  }
}

@media (max-width:680px){
  body.oufich-app-mode .oufich-app-header{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  body.oufich-app-mode .oufich-app-content{
    padding-top:4px!important;
  }
}

@media (max-width:380px){
  body.oufich-app-mode .oufich-app-header{
    grid-template-columns:36px minmax(0,1fr)!important;
  }
  body.oufich-app-mode .oufich-app-content{
    padding-top:3px!important;
  }
}

/* =========================================================
   OU Fichaje 1.5.8 – avisos PWA y separación superior
   ========================================================= */
/* Los avisos de instalación/actualización forman parte del contenido de la
   aplicación. Así nunca quedan ocultos detrás de la cabecera fija. */
body.oufich-app-mode .oufich-app-top-notices{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.oufich-app-mode .oufich-app-top-notices .oufich-pwa-notice{
  width:100%!important;
  max-width:none!important;
  margin:0 0 14px!important;
}
body.oufich-app-mode #oufich-pwa-install[aria-hidden="true"],
html.oufich-pwa-is-installed body.oufich-app-mode #oufich-pwa-install{
  display:none!important;
}
@media (display-mode:standalone){
  body.oufich-app-mode #oufich-pwa-install{
    display:none!important;
  }
}

/* Separación breve y uniforme entre la barra superior y la primera tarjeta
   o aviso visible. */
body.oufich-app-mode .oufich-app-content{
  padding-top:14px!important;
}
@media (max-width:899px){
  body.oufich-app-mode .oufich-app-content{
    padding-top:12px!important;
  }
}
@media (max-width:680px){
  body.oufich-app-mode .oufich-app-content{
    padding-top:10px!important;
  }
  body.oufich-app-mode .oufich-app-top-notices .oufich-pwa-notice{
    margin-bottom:12px!important;
  }
}
@media (max-width:380px){
  body.oufich-app-mode .oufich-app-content{
    padding-top:8px!important;
  }
}


/* 1.5.9 — formato temporal unificado HH:MM:SS */
body.oufich-app-mode .oufich-time-value{
  font-variant-numeric:tabular-nums!important;
  font-feature-settings:"tnum" 1;
  white-space:nowrap!important;
  letter-spacing:-.025em;
}
body.oufich-app-mode .oufich-summary-numbers strong.oufich-time-value{
  font-size:clamp(22px,2vw,28px)!important;
  line-height:1.08!important;
}
body.oufich-app-mode .oufich-summary-total strong.oufich-time-value{
  font-size:17px!important;
  line-height:1.2!important;
}
body.oufich-app-mode .oufich-time-format-note{
  margin:2px 12px 8px;
  color:#94a3b8;
  font-size:9px;
  line-height:1.3;
  letter-spacing:.02em;
}
body.oufich-app-mode .oufich-event-item time{
  min-width:72px;
  text-align:right;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
  font-feature-settings:"tnum" 1;
}
@media (max-width:680px){
  body.oufich-app-mode .oufich-summary-numbers>div{min-width:0;padding-left:8px!important;padding-right:8px!important}
  body.oufich-app-mode .oufich-summary-numbers strong.oufich-time-value{font-size:clamp(21px,7vw,25px)!important}
  body.oufich-app-mode .oufich-summary-total strong.oufich-time-value{font-size:16px!important}
  body.oufich-app-mode .oufich-event-item{grid-template-columns:22px minmax(0,1fr) auto!important;gap:7px!important}
  body.oufich-app-mode .oufich-event-item time{min-width:66px;font-size:10px!important}
}
@media (max-width:380px){
  body.oufich-app-mode .oufich-summary-numbers strong.oufich-time-value{font-size:19px!important}
  body.oufich-app-mode .oufich-time-format-note{font-size:8px}
  body.oufich-app-mode .oufich-event-item time{min-width:62px;font-size:9px!important}
}
