:root{--bg:#f4f4f1;--panel:#fff;--ink:#151515;--muted:#6f6f6a;--line:#deded8;--accent:#f58216;--ok:#168a46;--bad:#b92f2f;--warn:#b87400;--dark:#111}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}button{cursor:pointer}.app{width:100%;min-height:100vh}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 26px;background:#111;color:#fff;position:sticky;top:0;z-index:20}
.brand{font-weight:900;font-size:18px}.brand small{font-size:12px;color:#bbb}.wrap{width:100%;padding:20px 28px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.space{justify-content:space-between}.btn{border:0;border-radius:13px;padding:11px 15px;font-weight:800;background:#e8e8e4;color:#111}
.btn.primary{background:var(--accent)}.btn.ok{background:var(--ok);color:#fff}.btn.bad{background:var(--bad);color:#fff}.big{font-size:24px;width:100%;padding:20px}.hide{display:none!important}
label{display:block;font-weight:800;font-size:13px;margin:10px 0 5px}input,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:#111}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login{width:min(560px,100%);padding:34px}.logo-strip{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-bottom:26px;min-height:78px}
.logo-box{height:62px;min-width:105px;display:flex;align-items:center;justify-content:center}.logo-box img{max-height:62px;max-width:150px;object-fit:contain}.logo-fallback{font-weight:900;font-size:19px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fafafa}
.login-sub{font-size:15px;color:var(--muted);text-align:center;margin-bottom:18px}.employee{max-width:650px;margin:0 auto}.clock{font-size:54px;text-align:center;font-weight:900;letter-spacing:-1px}.date{text-align:center;color:var(--muted);margin-bottom:18px}
.notice{padding:12px;border-radius:12px;background:#fff3d8}.confirm{padding:13px;border-radius:12px;background:#e7f7ed;color:#096735;font-weight:800;margin-top:12px}
.nav{display:flex;gap:8px;overflow:auto;margin-bottom:18px}.nav button{white-space:nowrap;border:0;border-radius:999px;padding:10px 14px;font-weight:800;background:#ecece9}.nav button.active{background:#111;color:#fff}
.tab{display:none}.tab.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;width:100%}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.stat{font-size:30px;font-weight:900}.muted{color:var(--muted)}.small{font-size:12px}.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-weight:800;font-size:12px;background:#eee}.pill.ok{background:#e7f7ed;color:#096735}.pill.warn{background:#fff2d5;color:#875700}.pill.bad{background:#fde7e7;color:#991f1f}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tablewrap{overflow:auto}.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.company-picker{display:flex;gap:8px;flex-wrap:wrap}.company-picker label{margin:0;border:1px solid var(--line);padding:9px 11px;border-radius:999px;display:flex;gap:7px;align-items:center}.company-picker input{width:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.page-title{margin:0 0 14px}.section-note{margin-top:-6px;margin-bottom:14px;color:var(--muted);font-size:13px}
.role-badge{font-size:11px;font-weight:900;border-radius:999px;padding:4px 7px;background:#eee}.role-badge.admin{background:#111;color:#fff}
#employees .list-card,#zones .list-card,#employees .form-card,#zones .form-card{min-height:650px}
@media(max-width:1000px){.span-3,.span-4,.span-6,.span-8{grid-column:span 12}#employees .list-card,#zones .list-card,#employees .form-card,#zones .form-card{min-height:auto}}
@media(max-width:680px){.wrap{padding:12px}.top{padding:12px 14px}.login{padding:22px}.form-grid{grid-template-columns:1fr}.clock{font-size:44px}.logo-strip{gap:12px}.logo-box{min-width:82px;height:50px}.logo-box img{max-height:50px;max-width:110px}}

#schedules .schedule-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#schedules .schedule-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fafaf8}
#schedules .assignment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:1000px){#schedules .schedule-profile-grid{grid-template-columns:1fr 1fr}#schedules .assignment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){#schedules .schedule-profile-grid,#schedules .assignment-grid{grid-template-columns:1fr}}


textarea{font:inherit;color:var(--ink);background:#fff}
@media(max-width:680px){#punchCorrectionModal .form-grid{grid-template-columns:1fr}}

.login-main-logo{text-align:center;margin-bottom:18px}
.login-main-logo img{width:min(210px,52vw);height:auto;border-radius:24px;display:block;margin:0 auto}
.login-company-logos{display:flex;align-items:center;justify-content:center;gap:18px;margin:8px 0 22px}
.login-company-logos img{max-width:105px;max-height:48px;object-fit:contain}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.filter-grid{grid-template-columns:1fr}.login-company-logos img{max-width:82px;max-height:38px}}

.schedule-editor-grid{display:grid;grid-template-columns:120px 130px 1fr 1fr;gap:8px 12px;align-items:center}
.schedule-editor-grid .hdr{font-weight:900;color:var(--muted);font-size:.9rem}
.rule-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:10px;align-items:center}
.rule-grid .rule-head{font-weight:900;color:var(--muted)}
@media(max-width:760px){.schedule-editor-grid{grid-template-columns:90px 1fr 1fr}.schedule-editor-grid .work-toggle{grid-column:2/4}.rule-grid{grid-template-columns:1fr}}

/* iPhone / installed PWA safe-area fix */
body{
  padding-top:env(safe-area-inset-top);
}
.top{
  padding-top:calc(12px + env(safe-area-inset-top));
  min-height:calc(72px + env(safe-area-inset-top));
}
.top .actions{
  align-items:center;
}
@supports(padding:max(0px)){
  .top{
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
  }
}
@media(max-width:700px){
  .top{
    gap:10px;
    padding-bottom:12px;
  }
  .top .actions{
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .top .actions .btn,
  .top .actions select{
    min-height:44px;
  }
}


body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url("/static/logos/mafer.png"),url("/static/logos/pbf.png"),url("/static/logos/prestamax.png");
  background-repeat:no-repeat;background-position:8% 24%,92% 48%,18% 86%;
  background-size:320px auto,300px auto,290px auto;opacity:.028;filter:grayscale(35%);
}
details.module-fold{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.85);overflow:hidden;margin-bottom:14px}
details.module-fold>summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:900;font-size:1.05rem;display:flex;align-items:center;justify-content:space-between}
details.module-fold>summary::-webkit-details-marker{display:none}
details.module-fold>summary::after{content:"＋";font-size:1.25rem}
details.module-fold[open]>summary::after{content:"−"}
details.module-fold .fold-body{padding:0 18px 18px}
.hr-access-grid{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1.5fr auto;gap:8px;align-items:end}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:6px;overflow:auto}
.calendar-head{font-weight:900;text-align:center;padding:6px;color:var(--muted)}
.calendar-day{min-height:110px;border:1px solid var(--line);border-radius:12px;padding:8px;background:rgba(255,255,255,.92)}
.calendar-day.outside{opacity:.35}.calendar-day .daynum{font-weight:900;margin-bottom:6px}
.calendar-event{font-size:.76rem;padding:4px 6px;border-radius:8px;margin:3px 0;background:#f0f0ec;line-height:1.25}
.calendar-event.vacation{background:#e7f3ff}.calendar-event.permission{background:#fff1cf}.calendar-event.sick{background:#fde8e8}.calendar-event.absence{background:#ffdede}.calendar-event.holiday{background:#e9f7e9}.calendar-event.other{background:#eee8ff}
@media(max-width:900px){.hr-access-grid{grid-template-columns:1fr 1fr}.calendar-day{min-height:90px}}


/* Ghost-logo visibility fix: previous z-index:-1 placed them behind the body background */
body::before{z-index:0!important;opacity:.055!important}
body>header,body>main,body>section,body>.top,body>.shell,body>.wrap,body>#app,body>div{position:relative;z-index:1}


.calendar-day.today{outline:3px solid var(--accent);outline-offset:-3px;background:#fff9ef}
.calendar-event .employee-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:1px}
.zone-map{height:480px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}

.employee-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.employee-card{position:relative;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);padding:18px;cursor:pointer;transition:.15s transform,.15s box-shadow;overflow:hidden}
.employee-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.employee-card .company-bar{position:absolute;left:0;right:0;top:0;height:7px}
.employee-photo{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#ecece7;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.employee-photo.large{width:110px;height:110px;font-size:36px}
.employee-photo img{width:100%;height:100%;object-fit:cover}
.company-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.company-chip{font-size:.74rem;font-weight:900;padding:4px 8px;border-radius:999px;color:white}
.company-chip.MAFER{background:#f97316}.company-chip.PBF{background:#2563eb}.company-chip.PRESTAMAX{background:#dc2626}
.policy-card{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:rgba(255,255,255,.94)}
.policy-progress{height:8px;background:#ecece7;border-radius:999px;overflow:hidden;margin:8px 0}.policy-progress>div{height:100%;background:#16a34a}
@media(max-width:700px){.employee-card-grid{grid-template-columns:1fr 1fr}.employee-photo{width:68px;height:68px}.employee-photo.large{width:90px;height:90px}}


.attendance-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.attendance-stat{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.88)}
.attendance-stat .num{font-size:1.65rem;font-weight:900;line-height:1.1}
.attendance-stat .lbl{font-size:.78rem;color:var(--muted);margin-top:4px}
.attendance-review{border:1px solid #f1c96b;background:#fff8e6;border-radius:12px;padding:10px 12px;margin:7px 0}
.attendance-status{font-size:.72rem;font-weight:900;padding:4px 7px;border-radius:999px;display:inline-block}
.attendance-status.present{background:#dcfce7;color:#166534}.attendance-status.late{background:#fef3c7;color:#92400e}
.attendance-status.missing_in,.attendance-status.missing_out{background:#fee2e2;color:#991b1b}
.attendance-status.scheduled,.attendance-status.off{background:#eee;color:#555}
.attendance-status.absence_vacation,.attendance-status.absence_permission,.attendance-status.absence_sick,.attendance-status.absence_holiday,.attendance-status.absence_other,.attendance-status.absence_absence{background:#e8e5ff;color:#4c1d95}


.login-shell{min-height:calc(100vh - 20px);display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,480px);align-items:center;gap:42px;max-width:1080px;margin:auto;padding:32px}
.login-hero h1{font-size:clamp(3rem,7vw,6rem);margin:6px 0;letter-spacing:-.05em}.login-hero p{font-size:1.1rem;max-width:520px;color:var(--muted)}.login-kicker{font-weight:900;letter-spacing:.18em;font-size:.78rem}.login-feature-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.login-feature-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800}.card.login{box-shadow:0 18px 60px rgba(0,0,0,.10);border-radius:24px}
@media(max-width:780px){.login-shell{grid-template-columns:1fr;padding:18px}.login-hero{text-align:center}.login-hero h1{font-size:3.5rem}.login-feature-row{justify-content:center}}

.partial-time-tag{display:inline-block;margin-top:3px;font-size:.72rem;font-weight:900;padding:3px 7px;border-radius:999px;background:#e0f2fe;color:#075985}

/* ===== v0.24.0 Professional UI layer ===== */
:root{--surface:#fff;--surface-soft:#f7f8fa;--ink:#171717;--muted-2:#667085;--shadow-soft:0 8px 30px rgba(17,24,39,.07);--shadow-hover:0 14px 36px rgba(17,24,39,.11)}
body{background:linear-gradient(180deg,#f8f9fb 0,#f3f5f7 100%);color:var(--ink)}
.card{border:1px solid rgba(17,24,39,.07);box-shadow:var(--shadow-soft);border-radius:18px}
.btn{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(17,24,39,.09)}
.top{box-shadow:0 3px 16px rgba(0,0,0,.12)}
.nav{position:sticky;top:74px;z-index:25;background:rgba(248,249,251,.92);backdrop-filter:blur(14px);padding:10px 4px;gap:6px;border-bottom:1px solid rgba(17,24,39,.06)}
.nav button{border-radius:999px;padding:10px 15px;font-weight:800;white-space:nowrap}.nav button.active{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.module-fold,.dashboard-fold{border:1px solid rgba(17,24,39,.08);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(17,24,39,.04)}
.module-fold>summary,.dashboard-fold>summary{padding:15px 17px;font-weight:900;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.dashboard-fold-body{padding:0 17px 17px}
input,select,textarea{border-radius:12px!important;border-color:#d8dde5!important;background:#fff!important}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(255,128,0,.12);border-color:#ff8000!important;outline:none}
.page-title{letter-spacing:-.02em}.section-note{color:var(--muted-2);line-height:1.5}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:stretch;background:radial-gradient(circle at 10% 15%,rgba(255,128,0,.17),transparent 32%),radial-gradient(circle at 88% 80%,rgba(37,99,235,.12),transparent 34%),#101214;padding:0}
.login-hero{position:relative;padding:clamp(42px,7vw,100px);display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden}.login-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-110px;top:-100px;box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.015);animation:slowFloat 12s ease-in-out infinite alternate}.login-hero h1{font-size:clamp(3rem,8vw,6.7rem);letter-spacing:-.06em;margin:8px 0 14px;line-height:.9}.login-kicker{font-weight:900;letter-spacing:.18em;font-size:.78rem;color:#ff9a32}.login-feature-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.login-feature-row span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:8px 11px;border-radius:999px;font-size:.8rem}.login-shell>.card.login{align-self:center;margin:40px clamp(24px,5vw,80px);padding:30px;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.culture-login-card{position:relative;z-index:2;margin-top:34px;max-width:720px;padding:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border-radius:20px}.culture-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:#ff9a32}.culture-value{font-size:clamp(1.35rem,2.5vw,2.2rem);font-weight:900;line-height:1.15;margin-top:8px;min-height:2.5em}.culture-value-pop{animation:valuePop .45s ease}.culture-company-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.culture-company-tab{border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.18);color:#fff;border-radius:999px;padding:7px 11px;font-weight:800}.culture-company-tab.active{background:#fff;color:#111}.culture-company-copy{margin-top:13px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.culture-copy{font-size:.86rem;line-height:1.45;margin-top:5px;color:rgba(255,255,255,.8)}
@keyframes valuePop{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes slowFloat{from{transform:translate(0,0)}to{transform:translate(-25px,20px)}}

/* Dashboard */
.dashboard-shell{display:grid;gap:16px}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;background:linear-gradient(135deg,#111 0,#242424 72%,#342315 100%);color:#fff}.dashboard-hero .section-note{color:rgba(255,255,255,.68);margin:6px 0 0}.dashboard-kicker{font-size:.7rem;letter-spacing:.14em;font-weight:900;color:#ff8a16}.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-actions .btn:not(.primary){background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.12)}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.metric-card{background:#fff;border:1px solid rgba(17,24,39,.07);box-shadow:var(--shadow-soft);border-radius:17px;padding:16px;display:flex;gap:12px;align-items:center}.metric-card .stat{font-size:1.75rem}.metric-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f2f4f7;font-weight:950}.metric-good .metric-icon{background:#e9f8ef;color:#16803c}.metric-warn .metric-icon{background:#fff4dd;color:#a15b00}.metric-bad .metric-icon{background:#fdeaea;color:#b42318}
.dashboard-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chart-card{min-height:280px}.chart-card h3{margin-top:0}.donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin-top:18px}.donut-chart{width:150px;height:150px;border-radius:50%;position:relative;display:grid;place-items:center}.donut-chart:after{content:"";position:absolute;inset:25px;background:#fff;border-radius:50%}.donut-center{position:relative;z-index:1;text-align:center;display:grid}.donut-center b{font-size:1.7rem}.donut-center span{font-size:.7rem;color:#667085}.chart-legend{display:grid;gap:8px}.chart-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:.78rem}.chart-legend i{width:9px;height:9px;border-radius:50%}.chart-legend.inline{display:flex;flex-wrap:wrap;margin-top:10px}.chart-legend.inline>div{display:flex;gap:6px}.legend-bad{background:#dc2626!important}.legend-warn{background:#f59e0b!important}.legend-ok{background:#16a34a!important}
.bar-chart{display:grid;gap:12px;margin-top:18px}.bar-row{display:grid;grid-template-columns:minmax(70px,1fr) 2fr auto;align-items:center;gap:8px;font-size:.78rem}.bar-track{height:8px;border-radius:99px;background:#eef1f5;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff850f,#ffad57)}
.mini-column-chart{height:200px;display:flex;align-items:flex-end;gap:9px;margin-top:18px;padding-top:22px}.mini-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;position:relative}.mini-column i{width:min(26px,65%);background:linear-gradient(180deg,#111,#60646c);border-radius:8px 8px 3px 3px;min-height:6px}.mini-column span{font-size:.68rem;color:#667085}.mini-column-value{font-size:.62rem;font-weight:800;color:#667085}
.dashboard-priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.health-meter{height:13px;display:flex;border-radius:99px;overflow:hidden;background:#eef1f5;margin:14px 0 4px}.health-meter i.bad{background:#dc2626}.health-meter i.warn{background:#f59e0b}.health-meter i.ok{background:#16a34a}.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-kpis>div{background:#f6f7f9;border-radius:14px;padding:12px;display:grid;gap:4px}.mini-kpis span{font-size:.72rem;color:#667085}.mini-kpis b{font-size:1.3rem}.btn.subtle{padding:7px 10px;font-size:.75rem}

/* Organization */
.org-hero{background:linear-gradient(135deg,#fff8ef,#fff);border-left:4px solid #ff850f}.document-expiration-list{display:grid;gap:8px;margin-top:16px}.document-expiration-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e8ebef;border-radius:14px;background:#fff}.document-expiration-main{min-width:0}.org-department{margin-top:14px;border:1px solid #e8ebef;border-radius:15px;overflow:hidden}.org-department-head{padding:11px 13px;background:#f7f8fa;display:flex;justify-content:space-between;align-items:center}.org-people-grid{padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.org-person{border:1px solid #e6e8ec;background:#fff;border-radius:13px;text-align:left;padding:12px;display:grid;gap:3px;cursor:pointer}.org-person:hover{border-color:#ff9a32;box-shadow:0 6px 18px rgba(17,24,39,.07)}.org-person-name{font-weight:900}.org-person small{color:#667085}.culture-editor{border:1px solid #e8ebef;border-radius:15px;padding:14px;margin-top:12px}.culture-editor h4{margin:0 0 8px}.empty-state{padding:24px;text-align:center;color:#667085;background:#f8f9fb;border-radius:14px}

@media(max-width:1200px){.dashboard-kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-visual-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-hero{padding:38px 24px 20px;min-height:auto}.login-hero h1{font-size:3.6rem}.login-shell>.card.login{margin:20px 18px 38px}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-actions{justify-content:flex-start}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-visual-grid,.dashboard-priority-grid,.dashboard-lower-grid{grid-template-columns:1fr}.donut-wrap{grid-template-columns:130px 1fr}.donut-chart{width:130px;height:130px}.document-expiration-row{grid-template-columns:1fr}.nav{top:64px;overflow-x:auto;flex-wrap:nowrap}.chart-card{min-height:auto}}


/* v0.24.1 experience polish */
.login-hero .hub-title{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.045em;margin:.15em 0 .2em;line-height:1.02}
.hub-brand-row{display:flex;align-items:center;gap:10px;font-weight:950;font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.04em;margin-bottom:18px;flex-wrap:wrap}.hub-separator{opacity:.28}.hub-mafer{color:#f97316}.hub-pbf{color:#2563eb}.hub-prestamax{color:#dc2626}.hub-intro{max-width:720px;font-size:1.05rem}.login-feature-row span{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:999px}
.login-card-welcome{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}.login-card-welcome span{font-size:1.25rem;font-weight:900}.login-card-welcome small{color:var(--muted)}
.login-company-logos-prominent{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 20px}.login-company-logo{border:1px solid var(--line);border-radius:16px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fff;min-height:106px}.login-company-logo img{max-width:92px;max-height:52px;object-fit:contain}.login-company-logo b{font-size:.78rem;letter-spacing:.04em}.company-mafer b{color:#f97316}.company-pbf b{color:#2563eb}.company-prestamax b{color:#dc2626}
.metric-action{appearance:none;border:1px solid var(--line);font:inherit;text-align:left;color:inherit;width:100%;cursor:pointer;position:relative}.metric-action:after{content:'›';position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:1.45rem;opacity:.28}.metric-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.10);border-color:#cbd5e1}.metric-action:focus-visible{outline:3px solid rgba(249,115,22,.25);outline-offset:2px}
.dashboard-focus-flash{animation:dashboardFocus 1.1s ease-in-out 2}@keyframes dashboardFocus{0%,100%{box-shadow:0 0 0 rgba(249,115,22,0)}45%{box-shadow:0 0 0 6px rgba(249,115,22,.22),0 18px 36px rgba(15,23,42,.14)}}
.tc-calendar-picker{position:fixed;inset:0;background:rgba(15,23,42,.38);backdrop-filter:blur(4px);z-index:10000;display:grid;place-items:center;padding:18px}.tc-calendar-picker.hide{display:none}.tc-calendar-panel{width:min(390px,100%);background:#fff;border-radius:22px;padding:16px;box-shadow:0 24px 70px rgba(15,23,42,.28)}.tc-calendar-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;gap:8px}.tc-calendar-head b{text-transform:capitalize;font-size:1.05rem}.tc-calendar-week,.tc-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.tc-calendar-week{margin:14px 0 6px;text-align:center;color:var(--muted);font-size:.76rem;font-weight:900}.tc-cal-day{border:0;background:#f8fafc;border-radius:11px;aspect-ratio:1;cursor:pointer;font-weight:800}.tc-cal-day:hover{background:#fff1e8}.tc-cal-day.today{box-shadow:inset 0 0 0 2px #f97316;color:#c2410c}.tc-cal-blank{aspect-ratio:1}.tc-calendar-actions{display:flex;justify-content:space-between;margin-top:12px}
.org-company-pyramid{border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:18px;background:linear-gradient(180deg,#fff,#fbfcfe)}.org-company-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.org-company-title b{font-size:1.2rem}.org-company-title.company-mafer b{color:#f97316}.org-company-title.company-pbf b{color:#2563eb}.org-company-title.company-prestamax b{color:#dc2626}.org-pyramid-level{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0}.org-level-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted)}.org-level-people{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;width:100%}.level-1 .org-level-people{max-width:420px}.level-2 .org-level-people{max-width:780px}.level-3 .org-level-people{max-width:100%}.org-pyramid-person{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;min-width:160px;max-width:220px;display:flex;flex-direction:column;gap:3px;cursor:pointer;text-align:center;box-shadow:0 4px 12px rgba(15,23,42,.04)}.org-pyramid-person:hover{border-color:#94a3b8;transform:translateY(-1px)}.org-pyramid-person span{font-size:.8rem;color:var(--muted)}.org-pyramid-person small{font-size:.68rem;color:var(--muted)}.level-1 .org-pyramid-person{border-width:2px;box-shadow:0 8px 20px rgba(15,23,42,.08)}.level-2:before,.level-3:before{content:'↓';color:#94a3b8;font-weight:900}
@media(max-width:680px){.login-company-logos-prominent{grid-template-columns:repeat(3,minmax(0,1fr))}.login-company-logo{padding:8px 4px;min-height:88px}.login-company-logo img{max-width:70px;max-height:42px}.org-pyramid-person{min-width:125px;max-width:46%;padding:9px}.tc-calendar-panel{border-radius:18px}.metric-action:after{right:8px}}

.employee-today-strip{margin:14px 0 4px;padding:10px 13px;border:1px solid var(--line);background:#f8fafc;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.86rem;flex-wrap:wrap}.employee-today-dot{opacity:.35}.today-status-in{color:#15803d}.today-status-out{color:#64748b}


/* v0.25.0 — Hub communications, inbox, search, attention workflows */
.daily-quote-card{
  margin-top:14px;padding:16px 18px;border-radius:18px;
  background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 14px 36px rgba(15,23,42,.08);backdrop-filter:blur(10px)
}
.quote-eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:8px}
.daily-quote-text{font-size:1.05rem;line-height:1.55;font-weight:750;color:#172033;font-family:Georgia,serif}
.daily-quote-author{margin-top:8px;font-size:.82rem;color:#64748b;font-weight:800}
.login-announcements{display:grid;gap:8px;margin-top:12px}
.login-announcement{padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.86);border:1px solid var(--line);font-size:.88rem}
.login-announcement.important{border-left:4px solid #f59e0b}.login-announcement.urgent{border-left:4px solid #dc2626}

.top{gap:14px}.top-center{flex:1;max-width:620px;margin:0 auto;position:relative}
.global-search-box{position:relative;width:100%}
.global-search-box input{padding-left:38px;padding-right:82px;background:#fff;border-radius:13px;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.global-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;color:#64748b;font-size:1.15rem}
.global-search-shortcut{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.68rem;color:#94a3b8;border:1px solid #e2e8f0;border-radius:6px;padding:2px 5px;background:#f8fafc}
.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:90;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px rgba(15,23,42,.18);overflow:hidden;max-height:420px;overflow-y:auto}
.global-search-result{width:100%;border:0;background:white;display:grid;grid-template-columns:28px 1fr;text-align:left;gap:9px;padding:11px 13px;border-bottom:1px solid #f1f5f9;cursor:pointer}
.global-search-result:hover{background:#f8fafc}.global-search-result span:last-child{display:grid;gap:2px}.global-search-result small{color:#64748b}

.inbox-button{position:relative;min-width:42px;font-size:1.05rem}
.inbox-badge{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;border-radius:999px;background:#dc2626;color:white;font-size:.65rem;font-weight:900;display:grid;place-items:center;padding:0 5px;border:2px solid white}
.inbox-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.25);z-index:199;backdrop-filter:blur(2px)}
.inbox-drawer{position:fixed;z-index:200;right:0;top:0;height:100dvh;width:min(430px,94vw);background:#fff;box-shadow:-20px 0 60px rgba(15,23,42,.22);padding:20px;overflow-y:auto}
.inbox-header{position:sticky;top:-20px;background:white;z-index:2;padding:12px 0;border-bottom:1px solid var(--line)}
.inbox-header h3{margin:2px 0 0}.inbox-tools{padding:12px 0}
.inbox-item{position:relative;width:100%;display:grid;grid-template-columns:38px 1fr 10px;gap:9px;align-items:flex-start;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f7;padding:12px 4px;cursor:pointer}
.inbox-item:hover{background:#f8fafc}.inbox-item.unread{background:#fffaf2}
.inbox-item-icon{width:34px;height:34px;border-radius:11px;background:#f1f5f9;display:grid;place-items:center}
.inbox-item-copy{display:grid;gap:3px}.inbox-item-copy span{font-size:.83rem;color:#475569;line-height:1.35}.inbox-item-copy small{font-size:.7rem;color:#94a3b8}
.inbox-unread-dot{width:8px;height:8px;border-radius:50%;background:#f97316;margin-top:8px}
body.inbox-open{overflow:hidden}

.employee-news-panel{margin:12px 0 2px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.employee-news-panel summary{cursor:pointer;padding:11px 13px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.employee-news-body{padding:0 10px 10px;display:grid;gap:8px}
.hub-announcement{padding:11px 12px;border-radius:13px;background:white;border:1px solid #e8edf3}
.hub-announcement.important{border-left:4px solid #f59e0b}.hub-announcement.urgent{border-left:4px solid #dc2626}
.hub-announcement-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2563eb;margin-right:5px}

.announcement-admin-card{padding:14px;border:1px solid var(--line);border-radius:15px;margin-bottom:10px;background:#fff}
.announcement-admin-card.inactive{opacity:.58;background:#f8fafc}.check-line{display:flex;align-items:center;gap:8px;margin-top:12px}.check-line input{width:auto}

.attention-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #eef2f7}
.attention-item:last-child{border-bottom:0}.attention-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.attention-actions .btn{padding:7px 9px;font-size:.76rem}.attention-accept{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#166534!important}
.empty-state{padding:18px;text-align:center;color:#94a3b8;font-size:.86rem}

@media(max-width:900px){
  .top{flex-wrap:wrap}.top-center{order:3;width:100%;max-width:none}.global-search-shortcut{display:none}
  .attention-item{grid-template-columns:1fr}.attention-actions{justify-content:flex-start}
}
@media(max-width:600px){
  .daily-quote-card{padding:14px}.daily-quote-text{font-size:.98rem}
  .inbox-drawer{width:100vw}.global-search-box input{padding-right:12px}
}
