.dashboard-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.dashboard-status-card { border-radius:14px; padding:14px; border:1px solid #e4eaf1; background:#f7f9fb; }
.dashboard-status-card[data-dashboard-filter] { cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }
.dashboard-status-card[data-dashboard-filter]:active { transform:scale(.97); }
.dashboard-status-card[data-dashboard-filter]:focus-visible { outline:3px solid rgba(47,128,237,.3); outline-offset:2px; }
.dashboard-status-card span { display:block; color:#526274; font-size:14px; font-weight:700; }
.dashboard-status-card strong { display:block; margin-top:4px; color:#09213d; font-size:26px; }
.dashboard-status-card.working { background:#eaf9f0; border-color:#bde9ce; }
.dashboard-status-card.breaking { background:#fff6df; border-color:#f6dc98; }
.dashboard-status-card.finished { background:#eef5ff; border-color:#cbdfff; }
.dashboard-status-card.missing { background:#f5f6f8; border-color:#dfe3e8; }
.dashboard-status-card.hours { background:#eef5ff; border-color:#cbdfff; }
.dashboard-status-card.hours strong { font-size:21px; }
.dashboard-status-card.alerts { background:#eaf9f0; border-color:#bde9ce; }
.dashboard-status-card.alerts.has-alerts { background:#fff0f0; border-color:#ffc7c7; }
.dashboard-status-card.alerts.has-alerts strong { color:#b42318; }
.dashboard-status-card.vacation { background:#f0f5ff; border-color:#cbd9ff; }
.dashboard-status-card.sickness { background:#fff1f3; border-color:#ffcbd3; }
.dashboard-status-card.absence { background:#f3efff; border-color:#d8ccff; }
.today-team-list { display:grid; gap:10px; margin-top:12px; }
.today-team-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 14px; border:1px solid #e3e8ee; border-radius:13px; background:#fff; }
.today-team-name { color:#09213d; font-size:16px; font-weight:800; }
.today-team-detail { margin-top:3px; color:#667689; font-size:13px; }
.today-team-warning { margin-top:6px; color:#a42128; font-size:13px; font-weight:750; }
.today-team-absence { display:inline-block; margin-top:7px; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:800; }
.today-team-absence.vacation { color:#2457a6; background:#e5edff; }
.today-team-absence.sickness { color:#a42128; background:#ffe7eb; }
.today-team-absence.absence { color:#5d3e9f; background:#eee7ff; }
.today-team-row[data-dashboard-employee] { cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }
.today-team-row[data-dashboard-employee]:active { transform:scale(.99); }
.today-team-row[data-check-employee] { border-color:#ffc7c7; box-shadow:0 0 0 1px rgba(180,35,24,.04); }
.today-team-row[data-check-employee]:active { transform:scale(.995); }
.today-team-row[data-check-employee]:focus-visible { outline:3px solid rgba(47,128,237,.28); outline-offset:2px; }
.today-team-action { margin-top:7px; color:#1769c2; font-size:13px; font-weight:850; }
.today-team-badge { white-space:nowrap; border-radius:999px; padding:7px 10px; font-size:12px; font-weight:800; }
.today-team-badge.working { color:#0c7a3c; background:#dcf7e7; }
.today-team-badge.breaking { color:#9b6400; background:#fff0c6; }
.today-team-badge.finished { color:#1c5ca8; background:#e1edff; }
.today-team-badge.missing { color:#68717d; background:#eceff2; }
.dashboard-attention { margin-top:12px; padding:11px 13px; border-radius:11px; color:#0c7a3c; background:#e7f8ee; font-weight:800; }
.dashboard-attention.has-alerts { color:#a42128; background:#ffe9e9; }
.dashboard-absence-box { margin-top:18px; padding-top:16px; border-top:1px solid #e3e8ee; }
.dashboard-absence-box h3 { margin:0 0 10px; color:#102a49; }
.dashboard-absence-list { display:grid; gap:8px; }
.dashboard-absence-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 12px; border:1px solid #e3e8ee; border-radius:12px; background:#fff; }
.absence-status { white-space:nowrap; padding:6px 9px; border-radius:999px; font-size:12px; font-weight:850; }
.absence-status.pending { color:#946200; background:#fff0c6; }
.absence-status.approved { color:#0c7a3c; background:#dcf7e7; }
.absence-status.rejected { color:#a42128; background:#ffe7e7; }
.absence-list-row .absence-status { display:inline-block; vertical-align:middle; }
.absence-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.absence-actions .btn { padding:8px 11px; }
.absence-datetime-label { display:block; margin:12px 0 6px; color:#526274; font-size:14px; font-weight:800; }
.clock-status-panel { display:grid; gap:3px; margin:14px 0 12px; padding:14px 16px; border:1px solid #dfe5ec; border-radius:14px; background:#f5f7fa; }
.clock-status-panel span { color:#667689; font-size:13px; font-weight:700; }
.clock-status-panel strong { color:#102a49; font-size:21px; }
.clock-status-panel small { color:#526274; font-size:13px; }
.clock-status-panel.working { background:#eaf9f0; border-color:#bde9ce; }
.clock-status-panel.breaking { background:#fff6df; border-color:#f6dc98; }
.clock-status-panel.finished { background:#eef5ff; border-color:#cbdfff; }
#clock button:disabled { opacity:.34; filter:grayscale(.25); cursor:not-allowed; }
#clock button[hidden] { display:none !important; }
#clock .grid2.single-action { grid-template-columns:1fr; }
.clock-feedback { margin-top:12px; padding:11px 13px; border-radius:11px; color:#0c7a3c; background:#e7f8ee; font-weight:750; }
.clock-feedback.bad { color:#a42128; background:#ffe9e9; }
.control-sheet-open { overflow:hidden; }
.control-overlay { position:fixed; inset:0; z-index:9999; display:flex; align-items:flex-end; justify-content:center; padding-top:48px; background:rgba(7,22,40,.54); backdrop-filter:blur(3px); }
.control-overlay.hidden { display:none; }
.control-sheet { width:min(720px,100%); max-height:88vh; overflow:auto; border-radius:24px 24px 0 0; background:#f5f7fb; box-shadow:0 -16px 50px rgba(9,33,61,.22); animation:control-sheet-up .2s ease-out; }
@keyframes control-sheet-up { from { transform:translateY(30px); opacity:.5; } to { transform:translateY(0); opacity:1; } }
.control-sheet-header { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:16px 18px; border-bottom:1px solid #dfe5ec; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.control-sheet-header h2 { margin:0; color:#09213d; font-size:19px; line-height:1.2; }
.control-icon-button { min-height:42px; padding:8px 10px; border:0; border-radius:11px; color:#1769c2; background:#edf4ff; font-size:14px; font-weight:850; }
.control-sheet-content { display:grid; gap:10px; padding:16px 16px calc(24px + env(safe-area-inset-bottom)); }
.control-employee-row,.control-absence-row { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid #e0e6ed; border-radius:14px; color:#102a49; background:#fff; text-align:left; }
.control-employee-row span:first-child,.control-absence-row span:first-child { display:grid; gap:4px; }
.control-employee-row b,.control-absence-row b { font-size:16px; }
.control-employee-row small,.control-absence-row small { color:#667689; font-size:13px; }
.control-empty { padding:24px 16px; border:1px dashed #cbd5df; border-radius:14px; color:#667689; background:#fff; text-align:center; font-weight:750; }
.control-current-status { display:grid; gap:4px; padding:16px; border:1px solid #dfe5ec; border-radius:16px; background:#fff; }
.control-current-status span,.control-current-status small { color:#667689; font-size:13px; }
.control-current-status strong { color:#102a49; font-size:24px; }
.control-current-status.working { background:#eaf9f0; border-color:#bde9ce; }
.control-current-status.breaking { background:#fff6df; border-color:#f6dc98; }
.control-current-status.finished { background:#eef5ff; border-color:#cbdfff; }
.control-absence-chip,.control-warning { padding:10px 12px; border-radius:12px; font-size:13px; font-weight:800; }
.control-absence-chip.vacation { color:#2457a6; background:#e5edff; }
.control-absence-chip.sickness { color:#a42128; background:#ffe7eb; }
.control-absence-chip.absence { color:#5d3e9f; background:#eee7ff; }
.control-warning { color:#a42128; background:#ffe9e9; }
.control-field-label { margin:6px 0 -4px; color:#526274; font-size:14px; font-weight:850; }
.control-sheet-content h3 { margin:8px 0 0; color:#102a49; font-size:16px; }
.control-quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.control-quick-actions .btn { min-height:48px; }
.control-main-action { margin-top:6px; }
.employee-role vercel-live-feedback,.employee-role vercel-toolbar,.employee-role [data-vercel-toolbar],.employee-role iframe[src*="vercel.live"] { display:none !important; }
#reports .sectionTitle { gap:8px; flex-wrap:wrap; }
.invite-link-content { gap:14px; }
.invite-ready { padding:12px 14px; border-radius:12px; color:#0c7a3c; background:#e7f8ee; font-weight:850; }
.invite-url { min-height:104px; resize:none; font-size:14px; line-height:1.45; }
.activation-screen { position:fixed; inset:0; z-index:20000; display:grid; place-items:center; overflow:auto; padding:22px; background:linear-gradient(160deg,#071d35,#0e3155); }
.activation-card { width:min(480px,100%); display:grid; gap:12px; padding:24px; border-radius:24px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.activation-brand { color:#1769c2; font-size:18px; font-weight:900; }
.activation-card h1 { margin:4px 0 0; color:#09213d; font-size:28px; }
.activation-card h2 { margin:2px 0 0; color:#102a49; font-size:20px; }
.activation-card p { margin:0 0 4px; color:#5f7084; line-height:1.5; }
.activation-card .field { margin:0; }
.activation-feedback { min-height:22px; color:#0c7a3c; font-size:14px; font-weight:750; }
.activation-feedback.bad { color:#b42318; }
@media (max-width:760px) {
  .dashboard-status-grid { grid-template-columns:1fr 1fr; }
  .today-team-row { grid-template-columns:1fr; gap:8px; }
  .today-team-badge { justify-self:start; }
  .control-sheet { max-height:92vh; }
  .control-sheet-header { padding:13px 14px; }
}
.assistant-fab{position:fixed;right:18px;bottom:24px;width:58px;height:58px;border:0;border-radius:50%;background:#0b64d8;color:#fff;font-weight:900;font-size:17px;box-shadow:0 10px 28px rgba(11,100,216,.35);z-index:1200;cursor:pointer}.assistant-fab span{display:grid;place-items:center;width:100%;height:100%}.assistant-overlay{position:fixed;inset:0;background:rgba(8,25,47,.42);display:flex;align-items:flex-end;justify-content:center;z-index:1300;padding:16px}.assistant-overlay.hidden{display:none}.assistant-panel{width:min(680px,100%);height:min(690px,86vh);background:#fff;border-radius:24px 24px 18px 18px;box-shadow:0 24px 80px rgba(5,25,55,.28);display:flex;flex-direction:column;overflow:hidden}.assistant-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px;border-bottom:1px solid #e7ebf0}.assistant-header h2{margin:0;color:#10243f}.assistant-header p{margin:5px 0 0;color:#68768a;font-size:14px;line-height:1.35}.assistant-messages{flex:1;overflow:auto;padding:18px;background:#f5f8fc;display:flex;flex-direction:column;gap:10px}.assistant-message{max-width:86%;padding:12px 14px;border-radius:16px;white-space:pre-wrap;line-height:1.42}.assistant-message.ai{align-self:flex-start;background:#fff;color:#172b46;border:1px solid #e0e6ee}.assistant-message.user{align-self:flex-end;background:#0b64d8;color:#fff}.assistant-message.pending{color:#6e7d90}.assistant-message.bad{border-color:#efb6bc;color:#a1242f}.assistant-form{display:flex;gap:10px;align-items:flex-end;padding:14px;background:#fff;border-top:1px solid #e7ebf0}.assistant-form textarea{margin:0;resize:none;min-height:72px}.assistant-form .btn{min-width:88px;margin-bottom:0}@media(max-width:600px){.assistant-fab{right:14px;bottom:86px}.assistant-overlay{padding:0}.assistant-panel{height:92vh;border-radius:22px 22px 0 0}.assistant-form{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
.hide-vercel-tools vercel-live-feedback,.hide-vercel-tools vercel-toolbar,.hide-vercel-tools [data-vercel-toolbar],.hide-vercel-tools [data-vercel-feedback],.hide-vercel-tools iframe[src*="vercel.live"],.hide-vercel-tools iframe[src*="vercel.com/toolbar"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.plan-description{margin:-4px 0 14px;padding:14px 15px;border:1px solid #d9e5f4;border-radius:14px;background:#f4f8fd;color:#18314f}.plan-description div{display:flex;justify-content:space-between;gap:12px;align-items:center}.plan-description span{font-size:13px;font-weight:800;color:#0b64d8}.plan-description p{margin:7px 0 0;color:#607187;font-size:14px;line-height:1.4}
.billing-card{border:1px solid #bcd8ff;background:linear-gradient(145deg,#f7fbff,#eef6ff)}.billing-card h3{margin:0 0 6px;color:#102a49}.billing-sandbox{margin:12px 0 8px;padding:10px 12px;border-radius:11px;color:#815500;background:#fff2c9;font-size:13px;font-weight:800}.billing-card .btn{margin-top:4px}
.billing-complete{display:grid;gap:10px;margin-top:12px;padding:16px;border:1px solid #a9e1bf;border-radius:14px;color:#0b6535;background:#e9f9ef}.billing-complete b{font-size:18px}.billing-complete span{font-weight:850}.billing-complete p{margin:0;color:#456b57;line-height:1.45}.billing-complete>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:10px;border-top:1px solid #bee8cd}.billing-complete small{color:#557564;font-weight:750}.billing-days{font-size:24px!important;color:#075c30}
.employee-break-editor{margin-top:14px;padding:14px;border:1px solid #dbe3ec;border-radius:16px;background:#f8fafc}.employee-break-row{display:grid;grid-template-columns:1fr 1fr 44px;gap:10px;align-items:end;margin-top:10px}.employee-break-row .field{margin-bottom:0}.employee-break-remove{min-width:44px;height:44px;padding:0;font-size:24px}@media(max-width:640px){.employee-break-row{grid-template-columns:1fr 1fr}.employee-break-remove{grid-column:1/-1;width:100%}}
.site-address-result{display:block;width:100%;padding:12px 14px;margin:7px 0;border:1px solid #d7e0eb;border-radius:12px;background:#fff;color:#10233f;text-align:left;font:inherit;cursor:pointer}.site-address-result:active{background:#edf5ff}
