@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --paper:#F2F5FA; --ink:#161F2E; --ink-soft:#64748B; --line:#DDE3EC;
  --blue:#2952CC; --blue-dark:#17307A; --blue-light:#EBEFFC; --blue-border:#C9D4F5; --blue-hover:#DCE3F9;
  --amber:#C77B2E; --amber-text:#8A5A1E; --amber-bg:#FBF3E9; --amber-border:#E6C99A;
  --red:#C0453B; --red-bg:#FBEBE9; --red-border:#EFC3BE;
  --green:#16A34A; --green-bg:#E7F5EE; --green-border:#A7E3BB;
  --card:#FFFFFF; --dark-surface:#161F2E;
  --shadow-sm:0 1px 2px rgba(20,45,92,0.04), 0 2px 4px rgba(20,45,92,0.04), 0 4px 8px rgba(20,45,92,0.03);
  --shadow-md:0 2px 4px rgba(20,45,92,0.06), 0 8px 16px rgba(20,45,92,0.08), 0 16px 32px rgba(20,45,92,0.06);
  --shadow-lg:0 4px 8px rgba(20,45,92,0.08), 0 12px 24px rgba(20,45,92,0.12), 0 24px 48px rgba(20,45,92,0.08);
}

/* tema noua "Modern" - intunecata, inspirata de Linear/Kinship/Noteflow. Nu doar culori
   inversate - fiecare relatie de contrast a fost regandita separat pentru fundal inchis
   (ex: ce era "fundal deschis + text inchis" devine "fundal usor tintat + text deschis"). */
html[data-theme="modern"]{
  --paper:#0D0D10; --ink:#F1F0ED; --ink-soft:#96958E; --line:#2A2A2F;
  --blue:#6C5CE7; --blue-dark:#B4A9F5; --blue-light:#201C3B; --blue-border:#3A3465; --blue-hover:#29253F;
  --amber:#E0A752; --amber-text:#E0A752; --amber-bg:#2E2210; --amber-border:#4A3A18;
  --red:#E2665C; --red-bg:#331A18; --red-border:#522724;
  --green:#4ADE80; --green-bg:#163420; --green-border:#2A5940;
  --card:#18181C; --dark-surface:#000000;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.3), 0 1px 1px rgba(0,0,0,0.2);
  --shadow-md:0 8px 24px rgba(0,0,0,0.4), 0 2px 6px rgba(0,0,0,0.25);
  --shadow-lg:0 12px 32px rgba(0,0,0,0.5), 0 4px 10px rgba(0,0,0,0.3);
}
html[data-theme="modern"] .card{border-radius:18px;}
html[data-theme="modern"] .task-row, html[data-theme="modern"] .entry{border-radius:14px;}
html[data-theme="modern"] .btn-main, html[data-theme="modern"] .btn-secondary{border-radius:10px;}

.theme-picker{display:flex;gap:14px;flex-wrap:wrap;}
.theme-option{cursor:pointer;text-align:center;}
.theme-option input{position:absolute;opacity:0;width:0;height:0;}
.theme-swatch{
  width:96px;height:64px;border-radius:12px;border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;gap:6px;
  transition:border-color 0.15s;
}
.theme-option input:checked + .theme-swatch{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light);}
.theme-swatch-classic{background:#F2F5FA;}
.theme-swatch-modern{background:#0D0D10;}
.theme-swatch-dot{width:12px;height:12px;border-radius:50%;}
.theme-option-label{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.theme-option input:checked ~ .theme-option-label{color:var(--ink);}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;padding:0 0 24px;}
a{color:var(--blue-dark);}
.wrap{max-width:760px;margin:0 auto;padding:20px 16px;}
@media (max-width:480px){
  .wrap{padding:16px 12px;}
}
@media (min-width:1100px){
  .wrap{max-width:1040px;}
}
@media (min-width:1400px){
  .wrap{max-width:1180px;}
}
body.has-bottom-nav{padding-bottom:24px;}

.topbar{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;padding:16px 16px;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:40;}
.topbar .inner{max-width:760px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
@media (min-width:1100px){ .topbar .inner{max-width:1040px;} }
@media (min-width:1400px){ .topbar .inner{max-width:1180px;} }
.topbar h1{font-size:17px;margin:0;font-weight:700;letter-spacing:-0.01em;}
.topbar h1 .company-tag{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:600;
  background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.3);
  padding:2px 9px; border-radius:20px; margin-left:9px; vertical-align:middle;
}
.nav-badge{
  display:inline-block; margin-left:4px; background:var(--red); color:#fff;
  font-size:9.5px; padding:1px 5px; border-radius:8px; font-family:'IBM Plex Mono',monospace;
}
.topbar .who{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:rgba(255,255,255,0.75);display:flex;align-items:center;gap:10px;}
.who-name{white-space:nowrap;}
.who-btn{
  color:#fff; text-decoration:none; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.28);
  padding:5px 11px; border-radius:20px; font-size:11px; transition:background 0.15s;
}
.who-btn:hover{background:rgba(255,255,255,0.26);}
.who-btn-danger{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.2);}

.lang-toggle{display:flex; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.28); border-radius:20px; padding:2px; gap:2px;}
.lang-opt{
  color:rgba(255,255,255,0.75); text-decoration:none; font-size:10.5px; font-weight:700;
  padding:4px 9px; border-radius:16px; font-family:'IBM Plex Mono',monospace; transition:background 0.15s, color 0.15s;
}
.lang-opt.active{background:var(--card); color:var(--blue-dark);}
.lang-toggle-dark{flex-shrink:0;}
.lang-toggle-light{display:inline-flex; background:var(--paper); border-color:var(--line);}
.lang-toggle-light .lang-opt{color:var(--ink-soft);}
.lang-toggle-light .lang-opt.active{background:var(--blue); color:#fff;}

.menu-btn{
  display:none; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); color:#fff;
  width:38px; height:38px; border-radius:10px; font-size:17px; cursor:pointer; flex-shrink:0;
  align-items:center; justify-content:center;
}
.notif-bell-mobile{
  display:none; position:relative; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); color:#fff;
  width:38px; height:38px; border-radius:10px; font-size:16px; text-decoration:none; flex-shrink:0;
  align-items:center; justify-content:center;
}
.notif-bell-mobile .nav-badge, .notif-bell-desktop .nav-badge{
  position:absolute; top:-4px; right:-4px; background:var(--red); color:#fff; font-size:10px; font-weight:700;
  min-width:16px; height:16px; border-radius:20px; display:flex; align-items:center; justify-content:center; padding:0 3px;
}
.notif-bell-desktop{position:relative;}

.notif-row{
  display:flex; gap:12px; align-items:flex-start; padding:13px 10px; border-radius:10px;
  text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); transition:background 0.15s;
}
.notif-row:last-child{border-bottom:none;}
.notif-row:hover{background:var(--paper);}
.notif-row.notif-unread{background:var(--blue-light);}
.notif-row.notif-unread:hover{background:var(--blue-hover);}
.notif-icon{font-size:19px; flex-shrink:0; margin-top:1px;}
.notif-title{font-weight:700; font-size:14px;}
.notif-body{font-size:13px; color:var(--ink-soft); margin-top:2px;}
.notif-time{font-size:11px; color:var(--ink-soft); margin-top:5px; font-family:'IBM Plex Mono',monospace;}

.toast{
  position:fixed; top:14px; left:50%; z-index:200;
  background:var(--dark-surface); color:#fff; font-size:13px; font-weight:600;
  padding:11px 18px; border-radius:30px; box-shadow:0 8px 24px rgba(0,0,0,0.25);
  transform:translate(-50%, -20px); opacity:0; transition:transform 0.3s ease, opacity 0.3s ease;
  white-space:nowrap; max-width:90vw; overflow:hidden; text-overflow:ellipsis;
}
.toast.toast-visible{transform:translate(-50%, 0); opacity:1;}
@media (min-width:769px){ .toast{top:20px;} }

.tabs{display:flex;gap:2px;margin-top:18px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.tab-btn{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;
  background:none;border:none;padding:10px 13px;cursor:pointer;color:var(--ink-soft);border-bottom:2px solid transparent;
  text-decoration:none;display:inline-block;border-radius:6px 6px 0 0;transition:background 0.15s, color 0.15s;
}
.tab-btn:hover{background:rgba(41,82,204,0.06);color:var(--blue-dark);}
.tab-btn.active{color:var(--blue-dark);border-bottom:2px solid var(--blue);font-weight:600;background:rgba(41,82,204,0.06);}

/* meniu derulant "Administrare" - grupeaza Utilizatori/Roluri/Jurnal/Aprobari/Setari */
.tab-dropdown{position:relative;display:inline-block;}
.tab-dropdown-btn{display:inline-flex;align-items:center;gap:5px;}
.tab-dropdown-caret{font-size:9px;opacity:0.7;}
.tab-dropdown-menu{
  display:none; position:absolute; top:calc(100% + 4px); right:0; z-index:60; min-width:210px;
  background:var(--card); border:1px solid var(--line); border-radius:11px;
  box-shadow:var(--shadow-md); padding:6px; flex-direction:column; gap:2px;
}
.tab-dropdown-menu.open{display:flex;}
.tab-dropdown-item{
  display:flex; align-items:center; gap:9px; padding:9px 11px; border-radius:8px;
  font-size:13px; color:var(--ink); text-decoration:none; transition:background 0.12s;
  font-family:'Inter',sans-serif; text-transform:none; letter-spacing:0;
}
.tab-dropdown-item:hover{background:var(--blue-light);}
.tab-dropdown-item.is-active{background:var(--blue-light); color:var(--blue-dark); font-weight:600;}

/* stare "se lucreaza" pe butoane, la trimiterea formularelor */
.is-busy{opacity:0.75; cursor:progress !important;}
.btn-spinner{
  display:inline-block; width:13px; height:13px; margin-right:7px; vertical-align:-2px;
  border:2px solid currentColor; border-right-color:transparent; border-radius:50%;
  animation:btn-spin 0.65s linear infinite;
}
@keyframes btn-spin{ to { transform:rotate(360deg); } }

/* ---------- navigare mobil: bară fixă jos + meniu "mai mult" ---------- */
.bottom-nav{display:none;}
.topbar-identity{display:none;}
.more-sheet-overlay{display:none;}
.more-sheet{display:none;}

@media (max-width: 768px){
  .tabs-desktop{display:none !important;}
  .who-desktop{display:none !important;}
  .menu-btn{display:flex;}
  .notif-bell-mobile{display:flex;}
  body.has-bottom-nav{padding-bottom:78px;}

  .bottom-nav{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:50;
    background:var(--card); border-top:1px solid var(--line); box-shadow:0 -2px 12px rgba(20,45,92,0.08);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  }
  .bn-item{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:2px;
    padding:6px 2px; text-decoration:none; color:var(--ink-soft); background:none; border:none; cursor:pointer;
    font-family:'Inter',sans-serif; min-width:0;
  }
  .bn-icon{font-size:19px; line-height:1; position:relative;}
  .bn-label{font-size:9.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
  /* Starea activa trebuie sa se vada dintr-o privire. Culoarea singura nu ajunge:
     iconitele sunt emoji, iar acestea nu se coloreaza prin "color". Le estompam pe
     cele inactive si adaugam o bara indicator deasupra tabului curent. */
  .bn-icon{transition:filter .15s, opacity .15s;}
  .bn-item:not(.active) .bn-icon{filter:grayscale(1); opacity:0.45;}
  .bn-item:not(.active) .bn-label{opacity:0.75;}
  .bn-item.active{color:var(--blue);}
  .bn-item.active .bn-label{font-weight:700;}
  .bn-item.active::before{
    content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:18px; height:3px; border-radius:0 0 3px 3px; background:var(--blue);
  }
  .bn-item{position:relative;}
  .bn-dot{position:absolute; top:-2px; right:-6px; width:7px; height:7px; border-radius:50%; background:var(--red); border:1.5px solid #fff;}

  /* buton rotund central: actiunea cea mai frecventa din teren (fisa noua) */
  .bn-fab-slot{flex:1; position:relative; min-width:0;}
  .bn-fab{
    position:absolute; left:50%; transform:translateX(-50%); top:-24px;
    width:54px; height:54px; border-radius:50%; border:4px solid var(--card);
    background:linear-gradient(135deg, var(--blue), var(--blue-dark)); color:#fff;
    font-size:26px; font-weight:300; line-height:1; text-decoration:none;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(41,82,204,0.42); transition:transform 0.18s;
  }
  .bn-fab:active{transform:translateX(-50%) scale(0.93);}
  .bn-fab.open{transform:translateX(-50%) rotate(45deg);}

  /* meniul rapid de sub butonul "+" */
  .add-sheet{max-height:none;}
  .quick-add-row{display:flex; gap:9px; padding:4px 0 8px;}
  .quick-add{
    flex:1; background:var(--paper); border:1px solid var(--line); border-radius:13px;
    padding:15px 8px; text-align:center; text-decoration:none; color:var(--ink);
    display:flex; flex-direction:column; align-items:center; gap:6px; transition:transform 0.12s;
  }
  .quick-add:active{transform:scale(0.95);}
  .quick-add-ic{font-size:22px; line-height:1;}
  .quick-add-t{font-size:11.5px; font-weight:600;}
  /* fisa noua e actiunea principala din teren - o evidentiem discret, fiind in mijloc */
  .quick-add-main{background:var(--blue-light); border-color:var(--blue-border);}
  .quick-add-main .quick-add-t{color:var(--blue-dark);}

  /* identitate compacta: firma + prenume, pe rand propriu sub titlu.
     Ocupa toata latimea si e ultima in ordine, ca sa nu impinga clopotelul
     si butonul de meniu pe alt rand. */
  .topbar .inner{flex-wrap:wrap; row-gap:2px;}
  .topbar-identity{
    display:block; order:9; flex-basis:100%; font-size:11.5px;
    color:rgba(255,255,255,0.82); letter-spacing:0.01em;
  }
  .topbar-identity strong{color:#fff; font-weight:600;}
  /* pe mobil numele firmei apare deja in randul de identitate - nu-l repetam langa titlu */
  .topbar h1 .company-tag{display:none;}
  .topbar h1{font-size:16px;}

  .more-sheet-overlay{
    display:block; position:fixed; inset:0; background:rgba(9,16,30,0.45); z-index:60;
    opacity:0; pointer-events:none; transition:opacity 0.2s;
  }
  .more-sheet-overlay.open{opacity:1; pointer-events:auto;}

  .more-sheet{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:70;
    background:var(--card); border-radius:18px 18px 0 0; box-shadow:0 -6px 24px rgba(20,45,92,0.18);
    padding:10px 8px calc(14px + env(safe-area-inset-bottom, 0px)); max-height:80vh; overflow-y:auto;
    transform:translateY(100%); transition:transform 0.25s ease;
  }
  .more-sheet.open{transform:translateY(0);}
  .more-sheet-handle{width:36px; height:4px; background:var(--line); border-radius:4px; margin:2px auto 12px;}
  .more-sheet-close{
    position:absolute; top:14px; right:14px; width:30px; height:30px; border-radius:50%;
    background:var(--paper); border:1px solid var(--line); color:var(--ink-soft); font-size:14px;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .more-sheet-user{padding:2px 8px 14px; border-bottom:1px solid var(--line); margin-bottom:8px; display:flex; align-items:center; gap:12px;}
  .more-sheet-user > div{display:flex; flex-direction:column;}
  .more-sheet-user strong{font-size:14.5px;}
  .more-sheet-user span{font-size:12px; color:var(--ink-soft); margin-top:2px;}
  .more-item{
    display:flex; align-items:center; gap:12px; padding:11px 8px; font-size:14.5px; color:var(--ink);
    text-decoration:none; border-radius:12px; font-weight:500;
  }
  .more-item:active{background:var(--blue-light);}
  .more-item-danger{color:var(--red);}
  .more-item-icon{
    width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:16px; flex-shrink:0;
  }
  .more-item-label{flex:1;}
  .more-item-chevron{color:var(--ink-soft); font-size:17px; opacity:0.6;}
  .more-section{display:flex; flex-direction:column; gap:1px;}

  .more-sheet-avatar{
    width:42px; height:42px; border-radius:50%; background:var(--blue-light); color:var(--blue-dark);
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:17px; flex-shrink:0;
    border:1px solid var(--blue-border);
  }

  .more-lang-row{display:flex; align-items:center; gap:12px; padding:8px 8px 14px;}
  .more-lang-row .lang-toggle{background:var(--paper); border-color:var(--line);}
  .more-lang-row .lang-opt{color:var(--ink-soft);}
  .more-lang-row .lang-opt.active{background:var(--blue); color:#fff;}
  .more-sheet-divider{height:1px; background:var(--line); margin:6px 4px;}

  /* zone de atingere mai generoase pe mobil */
  .btn-main, .btn-secondary{min-height:46px; font-size:14.5px;}
  .now-btn, .loc-btn{min-height:38px;}
  input[type=text], input[type=time], input[type=tel], input[type=month], input[type=password], select, textarea{padding:11px 12px; font-size:15px;}
}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:18px;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow 0.2s;}
.card-head{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line);background:rgba(41,82,204,0.03);}
.card-head h2{font-size:12.5px;margin:0;text-transform:uppercase;letter-spacing:0.09em;color:var(--ink-soft);font-weight:600;}
.card-body{padding:17px;}

.row{display:flex;gap:10px;margin-bottom:13px;flex-wrap:wrap;}
.row > div{flex:1;min-width:140px;}
label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);margin-bottom:5px;font-weight:600;}
input[type=text], input[type=time], input[type=tel], input[type=month], input[type=password], input[type=file], input[type=number], input[type=email], input[type=date], input[type=datetime-local], select, textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;
  font-family:'Inter',sans-serif;font-size:14px;background:var(--card);color:var(--ink);
  transition:border-color 0.15s, box-shadow 0.15s;
}
input[type=time], input[type=month]{font-family:'IBM Plex Mono',monospace;}

/* ascundem controalele native ale browserului pentru ora (ceas/spinner),
   ca să rămână vizibil doar butonul nostru "acum" */
input[type=time]::-webkit-calendar-picker-indicator{display:none; -webkit-appearance:none; margin:0;}
input[type=time]::-webkit-clear-button{display:none;}
input[type=time]::-webkit-inner-spin-button{display:none;}
textarea{resize:vertical;min-height:64px;}
input:focus, textarea:focus, select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,82,204,0.14);background:var(--card);}

.addr-row{display:flex;gap:6px;}
.addr-row input{flex:1;}
.loc-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;white-space:nowrap;background:var(--blue-light);border:1px solid var(--blue-border);color:var(--blue-dark);padding:0 12px;border-radius:8px;cursor:pointer;transition:background 0.15s;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.loc-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.loc-btn-compact{
  flex:0 0 44px !important; width:44px; padding:0 !important; font-size:17px;
  display:flex; align-items:center; justify-content:center;
}

.type-toggle-group{display:flex;gap:8px;}
.license-main-tabs{flex-wrap:wrap;}
.license-main-tabs .type-toggle{min-width:100px;}
.type-toggle{
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px; text-align:center; padding:13px 8px; border:1.5px solid var(--line); border-radius:9px;
  font-size:13px; font-weight:600; color:var(--ink-soft); cursor:pointer; user-select:none; line-height:1; background:var(--card);
  transition:border-color 0.15s, background 0.15s, color 0.15s;
}
.type-toggle.active{border-color:var(--blue); background:var(--blue-light); color:var(--blue-dark); box-shadow:0 2px 8px rgba(41,82,204,0.15);}
.loc-note{font-size:11px;color:var(--ink-soft);margin-top:5px;}

.suggestions{
  display:none; position:absolute; z-index:20; top:100%; left:0; right:0;
  background:var(--card); border:1px solid var(--line); border-top:none; border-radius:0 0 8px 8px;
  max-height:220px; overflow-y:auto; box-shadow:var(--shadow-md);
}
.sugg-item{padding:9px 11px; font-size:13.5px; cursor:pointer; border-bottom:1px solid var(--paper);}
.sugg-item:last-child{border-bottom:none;}
.sugg-item:hover{background:var(--blue-light); color:var(--blue-dark);}

.badge-marfa{
  display:inline-block; margin-top:3px; margin-left:6px; font-size:10px;
  background:var(--amber-bg); border:1px solid var(--amber-border); color:var(--amber-text);
  padding:1px 7px; border-radius:20px;
}

.lightbox-overlay{
  display:none; position:fixed; inset:0; background:rgba(9,16,30,0.92);
  z-index:100; align-items:center; justify-content:center; padding:20px;
  cursor:zoom-out;
}
.lightbox-overlay img{max-width:100%; max-height:100%; border-radius:8px;}

.time-field{position:relative;}
@media (max-width:480px){
  .time-field{flex-basis:100% !important; min-width:100% !important;}
}
.task-schedule-field{flex:0 0 150px; min-width:130px !important;}
.date-input-wrap{position:relative;}
.date-input-wrap input[type=date]{
  width:100%; padding:11px 36px 11px 12px; font-size:14px; border-radius:9px;
  border:1.5px solid var(--line); background:var(--card); color:var(--ink);
  font-family:'Inter',sans-serif; -webkit-appearance:none; appearance:none;
  min-height:44px;
}
.date-input-wrap input[type=date]:focus{border-color:var(--blue); outline:none;}
.date-input-wrap input[type=date]::-webkit-calendar-picker-indicator{
  position:absolute; right:0; top:0; width:40px; height:100%; opacity:0; cursor:pointer; margin:0; padding:0;
}
.reminder-input-wrap{position:relative;}
.reminder-input-wrap input[type=datetime-local]{
  width:100%; padding:11px 12px; font-size:14px; border-radius:9px;
  border:1.5px solid var(--line); background:var(--card); color:var(--ink);
  font-family:'Inter',sans-serif; -webkit-appearance:none; appearance:none;
  min-height:44px;
}
.reminder-input-wrap input[type=datetime-local]:focus{border-color:var(--blue); outline:none;}
.date-input-icon{
  position:absolute; right:11px; top:50%; transform:translateY(-50%); font-size:16px;
  pointer-events:none; color:var(--blue-dark);
}
input[type=date]::-webkit-calendar-picker-indicator{
  background:var(--blue-light); border-radius:6px; padding:4px; cursor:pointer;
}
@media (max-width:480px){
  .task-schedule-field{flex-basis:100% !important; min-width:100% !important;}
}
.time-row{display:flex; gap:6px; align-items:stretch;}
.time-row input[type=time]{flex:1; min-width:0;}
.now-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;background:var(--blue-light);border:1px solid var(--blue-border);color:var(--blue-dark);padding:0 10px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap;}
.now-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}

canvas.sig{width:100%;height:110px;background:var(--card);border:1px solid var(--line);border-radius:8px;touch-action:none;display:block;}
.sig-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.clear-sig{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);background:none;border:none;cursor:pointer;text-decoration:underline;}

.btn-main{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;border:none;padding:11px 18px;font-size:14px;font-weight:600;letter-spacing:0.01em;border-radius:11px;cursor:pointer;box-shadow:0 3px 10px rgba(41,82,204,0.3);transition:box-shadow 0.2s cubic-bezier(0.2,0.8,0.2,1), transform 0.2s cubic-bezier(0.2,0.8,0.2,1);display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;}
.btn-main:hover{box-shadow:0 6px 18px rgba(23,48,122,0.4); transform:translateY(-1px);}
.btn-main:active{transform:translateY(1px); transition:transform 0.05s;}
.btn-main.full{width:100%;}
.btn-main:disabled{background:var(--line);color:var(--ink-soft);box-shadow:none;cursor:not-allowed;}
.btn-secondary{background:var(--card);border:1.5px solid var(--blue);color:var(--blue-dark);padding:9px 15px;font-size:13px;font-weight:600;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;transition:background 0.15s, color 0.15s;}
.btn-secondary:hover{background:var(--blue);color:#fff;}
.btn-danger{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--red);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;}

.status-msg{font-family:'IBM Plex Mono',monospace;font-size:12px;margin-top:10px;padding:10px 12px;border-radius:8px;}
.status-ok{background:var(--blue-light);color:var(--blue-dark);border:1px solid var(--blue-border);}
.status-err{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border);}
.inline-action-link{font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:1px;}
.inline-action-link:hover{opacity:0.75;}

.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.thumb{position:relative;width:74px;height:74px;border-radius:8px;overflow:hidden;border:1px solid var(--line);}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.thumb button{position:absolute;top:0;right:0;background:rgba(192,69,59,0.9);color:#fff;border:none;width:18px;height:18px;font-size:11px;cursor:pointer;line-height:1;}

.entry{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;margin-top:12px;padding:15px 18px;box-shadow:var(--shadow-sm);transition:box-shadow 0.2s cubic-bezier(0.2,0.8,0.2,1), transform 0.2s cubic-bezier(0.2,0.8,0.2,1);}
.entry:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
.entry:hover{box-shadow:var(--shadow-md); transform:translateY(-1px);}

.entry-select{display:none; align-items:flex-start; padding-top:2px; padding-right:10px; cursor:pointer;}
body.selecting-mode .entry-select{display:flex;}
.task-select-cb{display:none;}
body.selecting-mode .task-select-cb{display:inline-block !important;}
.entry-select input{width:18px; height:18px; accent-color:var(--blue); cursor:pointer;}
.entry-datetime{color:var(--blue-dark); font-weight:700;}

.bulk-bar{
  position:fixed; left:16px; right:16px; bottom:80px; z-index:45; max-width:340px; margin:0 auto;
  background:var(--dark-surface); color:#fff; border-radius:30px; padding:8px 8px 8px 16px;
  display:none; align-items:center; gap:10px; box-shadow:0 10px 30px rgba(0,0,0,0.3);
}
.bulk-bar.open{display:flex;}
#bulkCount{
  font-size:13px; font-weight:700; background:rgba(255,255,255,0.15); border-radius:50%;
  width:24px; height:24px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.bulk-bar-actions{display:flex; gap:6px; margin-left:auto;}
.bulk-icon-btn{
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.14); border:none; color:#fff;
  font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.bulk-icon-btn:active{background:rgba(255,255,255,0.28);}
.bulk-close-btn{
  width:30px; height:30px; border-radius:50%; background:none; border:1px solid rgba(255,255,255,0.3); color:#fff;
  font-size:13px; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center;
}
@media (min-width:769px){ .bulk-bar{bottom:24px;} }

.entry-actions{margin-top:12px; display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.action-btn{
  display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; text-decoration:none;
  padding:8px 13px; border-radius:20px; border:1.5px solid transparent; cursor:pointer; transition:transform 0.1s, box-shadow 0.15s;
}
.action-btn:active{transform:scale(0.96);}
.action-btn-blue{background:var(--blue-light); color:var(--blue-dark); border-color:var(--blue-border);}
.action-btn-purple{background:var(--blue-light); color:var(--blue-dark); border-color:var(--blue-border);}
.action-btn-neutral{background:var(--paper); color:var(--ink-soft); border-color:var(--line);}
.action-btn-red{background:var(--red-bg); color:var(--red); border-color:var(--red-border);}

.client-search-wrap{margin-bottom:14px;}
.client-search-wrap input{
  width:100%; padding:11px 14px; border-radius:10px; border:1.5px solid var(--line);
  font-size:14px; background:var(--paper);
}
.client-search-wrap input:focus{border-color:var(--blue); background:var(--card);}

.entry-id-wrap{display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.entry-email-status{
  width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700;
}
.entry-email-status.is-sent{background:var(--green-bg); color:var(--green);}
.entry-email-status.is-failed{background:var(--red-bg); color:var(--red);}

@media (max-width:480px){
  .entry-actions{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .action-label{display:none;}
  .action-btn{padding:9px; width:38px; height:38px; flex-shrink:0;}
}
.entry.entry-failed{border-left:4px solid var(--red);background:linear-gradient(to right, rgba(192,69,59,0.05), rgba(192,69,59,0) 40%);box-shadow:0 2px 8px rgba(192,69,59,0.1);}
.entry.entry-today{border-left:4px solid var(--green);background:linear-gradient(to right, rgba(22,163,74,0.06), rgba(22,163,74,0) 40%);}
.badge-today{
  display:inline-block; margin-left:7px; font-size:10px; font-weight:700; vertical-align:middle;
  background:var(--green-bg); border:1px solid var(--green-border); color:var(--green);
  padding:1px 8px; border-radius:20px;
}
.badge-email-failed{
  display:inline-block; margin-top:3px; margin-left:6px; font-size:10px; font-weight:700;
  background:var(--red-bg); border:1px solid var(--red-border); color:var(--red);
  padding:2px 8px; border-radius:20px;
}
.entry-top{display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;}
.entry-client{font-weight:600;font-size:14.5px;}
.entry-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin-top:3px;}
.entry-id{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--blue-dark);white-space:nowrap;text-align:right;}
.entry-tech{display:inline-block;margin-top:3px;font-size:10px;background:var(--paper);border:1px solid var(--line);padding:1px 6px;border-radius:20px;color:var(--ink-soft);}
.entry-detail{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:none;font-size:13.5px;line-height:1.5;}
.entry-detail.open{display:block;}
.entry-detail .sig-preview{max-width:220px;border:1px solid var(--line);border-radius:8px;margin-top:6px;background:var(--card);}
.empty-log{text-align:center;color:var(--ink-soft);font-size:13px;padding:26px 0;font-family:'IBM Plex Mono',monospace;}

.client-row, .user-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
.client-row:last-child, .user-row:last-child{border-bottom:none;}
.client-name{font-weight:600;font-size:14px;}
.client-sub{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.role-badge{font-size:10px;background:var(--paper);border:1px solid var(--line);padding:1px 7px;border-radius:20px;color:var(--ink-soft);margin-left:6px;}

.client-detail-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:16px;}
.client-detail-item label{font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);font-weight:600;margin-bottom:4px;display:block;}
.client-detail-value{font-size:14px;color:var(--ink);margin-bottom:8px;}
.client-detail-btn{font-size:12px;padding:7px 12px;}

table.report{width:100%;border-collapse:collapse;margin-top:6px;font-size:13px;}
table.report th, table.report td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);}
table.report th{font-family:'IBM Plex Mono',monospace;font-size:10.5px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:0.04em;}
table.report td.num{font-family:'IBM Plex Mono',monospace;text-align:right;}
.report-total{font-weight:700;}

.note{font-size:11.5px;color:var(--ink-soft);margin-top:10px;line-height:1.5;}

.dash-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:12px;margin-top:18px;}
.dash-stat{
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px;
  display:flex; align-items:center; gap:12px; box-shadow:0 3px 14px rgba(20,45,92,0.11);
  transition:transform 0.15s, box-shadow 0.15s;
  position:relative; overflow:hidden;
}
/* dunga subtire de accent, sus - da relief cardurilor pe fundalul deschis, fara sa incarce */
.dash-stat::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--blue), var(--blue-dark));
}
.dash-stat.accent-amber::before{background:linear-gradient(90deg, var(--amber), var(--amber-text));}
.dash-stat.accent-red::before{background:linear-gradient(90deg, var(--red), #8E2F27);}
.dash-stat.accent-green::before{background:linear-gradient(90deg, var(--green), #0F7A38);}
.dash-stat:hover{transform:translateY(-2px); box-shadow:var(--shadow-md);}
.dash-stat-icon{
  width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  font-size:19px; flex-shrink:0;
}
.dash-stat-value{font-family:'IBM Plex Mono',monospace; font-size:22px; font-weight:700; color:var(--ink); line-height:1.1;}
.dash-stat-label{font-size:11.5px; color:var(--ink-soft); margin-top:3px;}

.dash-bar-track{background:var(--paper); border:1px solid var(--line); border-radius:20px; height:9px; overflow:hidden;}
.dash-bar-fill{background:linear-gradient(90deg, var(--blue), #4C8DE8); height:100%; border-radius:20px; transition:width 0.3s;}

.dash-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--blue-light); color:var(--blue-dark);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px;
  flex-shrink:0; border:1px solid var(--blue-border);
}

.dash-recent-row{display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line);}
.dash-recent-row:last-child{border-bottom:none;}
.dash-recent-dot{width:9px; height:9px; border-radius:50%; flex-shrink:0;}

.login-box{
  width:100%; max-width:440px;margin:70px auto;padding:42px 44px;border-radius:18px;position:relative;z-index:2;
  background:var(--card); border:1px solid var(--line); box-shadow:0 10px 34px rgba(20,45,92,0.1);
}
.login-logo{display:block;max-width:180px;max-height:78px;margin:0 auto 22px;}
.login-box h1{font-size:21px;text-align:center;margin:0 0 26px;color:var(--ink);letter-spacing:-0.01em;}
@media (max-width:520px){
  .login-box{max-width:92vw;margin:50px auto;padding:32px 26px;}
}

body.login-page{
  min-height:100vh;
  background:var(--paper);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.login-bg{position:fixed; inset:0; overflow:hidden; z-index:0;}
.login-circuit{position:absolute; width:min(60vw,500px); height:auto;}
.login-circuit-tr{top:0; right:0;}
.login-circuit-bl{bottom:0; left:0; width:min(45vw,340px);}
.login-node{animation:loginNodePulse 1.8s ease-in-out infinite; transform-origin:center; transform-box:fill-box;}
@keyframes loginNodePulse{
  0%, 100% { opacity:0.45; transform:scale(1); }
  50% { opacity:1; transform:scale(1.4); }
}
@media (max-width:600px){
  .login-circuit-bl{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .login-node{ animation:none !important; }
}

.login-remember{
  display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft);
  margin:-4px 0 16px; cursor:pointer; user-select:none;
}
.login-remember input{width:16px; height:16px; accent-color:var(--blue); cursor:pointer;}

.login-copyright{
  position:relative; z-index:2; color:var(--ink-soft); font-size:11.5px;
  font-family:'IBM Plex Mono',monospace; margin-top:22px; text-align:center; padding:0 20px;
}

.company-pick-list{display:flex; flex-direction:column; gap:10px;}
.company-pick{
  display:flex; align-items:center; gap:12px; width:100%; text-align:left;
  background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:12px 14px;
  cursor:pointer; transition:border-color 0.15s, box-shadow 0.15s, transform 0.1s;
}
.company-pick:hover{border-color:var(--blue); box-shadow:0 3px 10px rgba(41,82,204,0.15); transform:translateY(-1px);}
.company-pick img{width:36px; height:36px; object-fit:contain; flex-shrink:0;}
.company-pick-initial{
  width:36px; height:36px; border-radius:9px; background:var(--blue-light); color:var(--blue-dark);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex-shrink:0;
}
.company-pick-name{flex:1; font-weight:600; font-size:14.5px; color:var(--ink);}
.company-pick-arrow{color:var(--ink-soft); font-size:16px;}

.logo-upload-row{
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 0; border-bottom:1px solid var(--line);
}
.logo-upload-row:last-of-type{border-bottom:none;}
.logo-upload-info{display:flex; align-items:center; gap:12px; min-width:120px;}
.logo-upload-info img{height:36px; max-width:90px; object-fit:contain;}
.logo-upload-placeholder{
  width:36px; height:36px; border-radius:8px; background:var(--paper); border:1px dashed var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-weight:700;
}
.logo-upload-form{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.logo-filename{font-size:12px; color:var(--ink-soft); max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
@media (max-width:600px){
  .logo-upload-row{flex-direction:column; align-items:stretch;}
  .logo-upload-form{width:100%;}
  .logo-filename{max-width:none; flex:1;}
}

.filter-bar{display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; justify-content:space-between;}
.filter-bar-field{display:flex; flex-direction:column; gap:5px; flex:1; min-width:150px;}
.filter-bar-field label{font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft); font-weight:700;}
.filter-bar-field form{width:100%;}
.filter-bar-field input[type=month]{
  width:100%; box-sizing:border-box; padding:8px 11px; font-size:12.5px; border-radius:9px; border:1.5px solid var(--line);
  font-family:'IBM Plex Mono',monospace; background:var(--card);
}
@media (max-width:480px){
  .filter-bar{flex-direction:column; align-items:stretch;}
  .filter-bar-field{width:100%;}
}
.filter-chip{
  display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:var(--blue-dark);
  background:var(--blue-light); border:1px solid var(--blue-border); padding:8px 14px; border-radius:20px; text-decoration:none;
  transition:background 0.15s, transform 0.1s; white-space:nowrap;
}
.filter-chip:hover{background:var(--blue-hover);}
.filter-chip:active{transform:scale(0.97);}
.filter-chip-active{background:var(--blue); color:#fff; border-color:var(--blue);}

.task-row{
  display:flex; gap:14px; align-items:flex-start; padding:14px 16px; margin-bottom:10px;
  background:var(--card); border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:11px;
  box-shadow:var(--shadow-sm); transition:opacity 0.3s, transform 0.2s cubic-bezier(0.2,0.8,0.2,1), box-shadow 0.2s cubic-bezier(0.2,0.8,0.2,1);
}
.task-row:hover{transform:translateX(2px) translateY(-1px); box-shadow:var(--shadow-md);}
.task-row.task-done{opacity:0.75;}
.task-row.task-today{border-left-color:var(--green); background:linear-gradient(to right, rgba(22,163,74,0.05), transparent 40%);}
.task-row.task-overdue{border-left-color:var(--red); background:linear-gradient(to right, rgba(192,69,59,0.06), transparent 40%);}
.task-row.task-scheduled{border-left-color:#C77B2E; background:linear-gradient(to right, rgba(199,123,46,0.08), transparent 40%);}
.task-row.task-migrated{border-left-color:#8B5CF6; background:linear-gradient(to right, rgba(139,92,246,0.07), transparent 40%);}
.task-migrated-note{font-size:12px; color:#6D28D9; margin-top:4px; font-weight:600;}
.task-pending-transfer-note{font-size:12px; color:var(--amber-text); margin-top:4px; font-weight:600;}
.cancel-transfer-link{
  background:none; border:none; padding:0; margin-left:6px; font-size:12px; font-weight:700;
  color:var(--red); text-decoration:underline; cursor:pointer;
}
.task-scheduled-date{
  font-size:12px; font-weight:600; color:var(--amber-text); margin-top:4px;
  background:var(--amber-bg); border:1px solid var(--amber-border); padding:4px 9px; border-radius:8px; display:inline-block;
}
.dash-company-group{margin-bottom:18px;}
.dash-company-group:last-child{margin-bottom:0;}
.dash-company-header{
  display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:0.04em; margin-bottom:10px; padding-bottom:6px; border-bottom:1px solid var(--line);
}
.dash-quick-action{margin-top:18px;}
.license-seats-field{flex:0 0 150px; min-width:130px !important;}
.reminder-days-field{flex:1; min-width:150px;}
.collapse-chevron{display:inline-block; font-size:14px; color:var(--ink-soft); transition:transform 0.2s;}
.collapse-chevron.open{transform:rotate(180deg);}
.push-toggle-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0;}
.push-toggle-label{font-weight:600; font-size:14px;}
.push-toggle-sub{font-size:12.5px; color:var(--ink-soft); margin-top:2px;}
.switch-toggle{
  position:relative; width:50px; height:28px; border-radius:20px; border:none; flex-shrink:0;
  background:#D6DCE5; cursor:pointer; transition:background 0.2s; padding:0;
}
.switch-toggle.on{background:var(--blue);}
.switch-toggle:disabled{opacity:0.5; cursor:default;}
.switch-toggle-knob{
  position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%;
  background:var(--card); box-shadow:0 1px 3px rgba(0,0,0,0.25); transition:transform 0.2s;
}
.switch-toggle.on .switch-toggle-knob{transform:translateX(22px);}
.settings-tabs{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px;}
.settings-tabs .type-toggle{flex-shrink:0; white-space:nowrap;}
@media (max-width:480px){
  .reminder-days-field{flex-basis:100% !important; min-width:100% !important;}
}
.number-stepper{display:flex; align-items:stretch; border:1.5px solid var(--line); border-radius:9px; overflow:hidden; background:var(--card);}
.number-stepper button{
  background:var(--paper); border:none; width:34px; flex-shrink:0; font-size:16px; font-weight:700;
  color:var(--blue-dark); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.number-stepper button:active{background:var(--blue-light);}
.number-stepper input{
  flex:1; min-width:0; border:none; text-align:center; font-size:14px; font-weight:600;
  -moz-appearance:textfield; padding:11px 4px; background:var(--card); color:var(--ink);
}
.number-stepper input::-webkit-outer-spin-button, .number-stepper input::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
@media (max-width:480px){
  .license-seats-field{flex-basis:100% !important; min-width:100% !important;}
}
.dash-cta{
  display:flex; align-items:center; gap:14px; margin-top:18px; padding:16px 18px; border-radius:16px;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark)); color:#fff; text-decoration:none;
  box-shadow:0 6px 18px rgba(41,82,204,0.32); transition:transform 0.15s, box-shadow 0.15s;
}
.dash-cta:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(41,82,204,0.4);}
.dash-cta:active{transform:translateY(0);}
.dash-cta-icon{
  width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,0.18);
  display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0;
}
.dash-cta-text{display:flex; flex-direction:column; gap:1px; flex:1;}
.dash-cta-text strong{font-size:15px;}
.dash-cta-text span{font-size:12px; opacity:0.85;}
.dash-cta-arrow{font-size:20px; opacity:0.8; flex-shrink:0;}
.task-row-clickable{cursor:pointer;}
.task-row-clickable:hover{box-shadow:var(--shadow-md);}
.dash-split-row{display:flex; gap:16px; align-items:stretch; margin-top:18px;}
.dash-split-row > .card{flex:1; min-width:0; margin-top:0;}
@media (max-width:768px){
  .dash-split-row{flex-direction:column;}
}

.password-wrap{position:relative;}
.password-wrap input{padding-right:42px !important; width:100%;}
.password-toggle-btn{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  background:none; border:none; font-size:16px; cursor:pointer; padding:6px; color:var(--ink-soft);
  line-height:1;
}
.badge-overdue{
  display:inline-block; margin-left:7px; font-size:10px; font-weight:700; vertical-align:middle;
  background:var(--red-bg); border:1px solid var(--red-border); color:var(--red);
  padding:1px 8px; border-radius:20px;
}
.badge-priority{
  display:inline-block; margin-left:7px; font-size:10px; font-weight:700; vertical-align:middle;
  padding:1px 8px; border-radius:20px;
}
.badge-priority-urgent{background:var(--red-bg); border:1px solid var(--red-border); color:var(--red);}
.badge-priority-high{background:var(--amber-bg); border:1px solid var(--amber-border); color:var(--amber-text);}
.badge-scheduled{
  display:inline-block; margin-left:7px; font-size:10px; font-weight:700; vertical-align:middle;
  background:var(--blue-light); border:1px solid var(--blue-border); color:var(--blue-dark);
  padding:1px 8px; border-radius:20px;
}

.cal-grid{display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; max-width:420px; margin:0 auto;}
.cal-dow{text-align:center; font-size:10px; font-weight:700; color:var(--ink-soft); padding:4px 0; text-transform:uppercase;}
.cal-cell{
  aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border-radius:9px; text-decoration:none; color:var(--ink); font-size:12.5px; position:relative;
  border:1.5px solid transparent; transition:background 0.15s;
}
.cal-cell-empty{visibility:hidden;}
.cal-cell:hover{background:var(--paper);}
.cal-cell-today{border-color:var(--blue); font-weight:700; color:var(--blue-dark);}
.cal-cell-selected{background:var(--blue); color:#fff;}

.year-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; max-width:420px; margin:0 auto;}
.year-month-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:16px 8px; border-radius:12px; text-decoration:none; color:var(--ink);
  border:1.5px solid var(--line); background:var(--card); transition:border-color 0.15s, background 0.15s;
}
.year-month-tile:hover{border-color:var(--blue);}
.year-month-tile-today{border-color:var(--blue); background:var(--blue-light);}
.year-month-tile-has{border-color:#C77B2E; background:rgba(199,123,46,0.08);}

.field-invalid{
  border-color:var(--red) !important; box-shadow:0 0 0 3px var(--red-bg) !important;
  animation:field-shake 0.4s ease;
}
@keyframes field-shake{
  10%, 90% { transform:translateX(-1px); }
  20%, 80% { transform:translateX(2px); }
  30%, 50%, 70% { transform:translateX(-4px); }
  40%, 60% { transform:translateX(4px); }
}
.year-grid-compact{grid-template-columns:repeat(3, 1fr); gap:6px;}
.year-grid-compact .year-month-tile{padding:10px 4px;}
.year-grid-compact .year-month-name{font-size:12px;}
.year-grid-compact .year-month-count{font-size:10px;}

.custom-picker-panel{
  display:none; position:fixed; z-index:200;
  min-width:260px; background:var(--card); border:1px solid var(--line); border-radius:12px;
  box-shadow:var(--shadow-md); padding:12px; max-height:80vh; overflow-y:auto;
}
.custom-picker-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-size:13px; font-weight:700; color:var(--ink);}
.custom-picker-nav{
  background:var(--paper); border:1px solid var(--line); border-radius:7px; width:28px; height:28px;
  font-size:15px; color:var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.custom-picker-nav:hover{border-color:var(--blue); color:var(--blue-dark);}
.custom-picker-footer{display:flex; gap:8px; margin-top:8px; border-top:1px solid var(--line); padding-top:8px;}
.custom-picker-navgroup{display:inline-flex; gap:4px;}
.date-presets{display:flex; gap:5px; flex-wrap:wrap; margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
.date-presets button{
  flex:1 1 auto; min-width:56px; background:var(--blue-light); border:1px solid var(--blue-border);
  border-radius:7px; padding:6px 4px; font-size:11.5px; font-weight:600; color:var(--blue-dark);
  cursor:pointer; font-family:'Inter',sans-serif; transition:background 0.12s;
}
.date-presets button:hover{background:var(--blue-hover);}
.date-presets button:active{transform:scale(0.96);}
.custom-picker-today, .custom-picker-clear{
  flex:1; background:var(--paper); border:1px solid var(--line); border-radius:7px; padding:6px 0;
  font-size:12px; font-weight:600; color:var(--ink-soft); cursor:pointer;
}
.custom-picker-today:hover{border-color:var(--blue); color:var(--blue-dark);}
.custom-picker-clear:hover{border-color:var(--red); color:var(--red);}
.year-month-tile-compact{padding:10px 4px;}
.year-month-tile-selected{border-color:var(--blue); background:var(--blue); }
.year-month-tile-selected .year-month-name{color:#fff;}

.custom-picker-time-row{display:flex; align-items:center; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
.custom-picker-time-row label{font-size:12px; font-weight:700; color:var(--ink-soft); text-transform:uppercase;}
.custom-picker-time-input{
  flex:1; border:1.5px solid var(--line); border-radius:8px; padding:8px 10px; font-size:15px;
  font-family:'IBM Plex Mono',monospace; text-align:center; background:var(--card); color:var(--ink); letter-spacing:0.05em;
}
.custom-picker-time-input:focus{border-color:var(--blue); outline:none;}
.custom-picker-confirm{
  flex:1; background:var(--blue); border:none; border-radius:7px; padding:8px 0;
  font-size:13px; font-weight:700; color:#fff; cursor:pointer;
}
.custom-picker-confirm:hover{opacity:0.9;}
.year-month-name{font-size:13.5px; font-weight:700;}
.year-month-count{font-size:11.5px; color:var(--amber-text); font-weight:600;}
.year-month-count-empty{color:var(--ink-soft); font-weight:400;}
@media (max-width:480px){
  .year-grid{grid-template-columns:repeat(2, 1fr);}
}
.cal-cell-selected .cal-daynum{color:#fff;}
.cal-cell-has-tasks .cal-daynum{font-weight:700;}
.cal-dot{
  font-size:9px; font-weight:700; background:var(--blue); color:#fff; border-radius:20px;
  min-width:15px; height:15px; display:flex; align-items:center; justify-content:center; padding:0 3px;
}
.cal-cell-selected .cal-dot{background:var(--card); color:var(--blue-dark);}
@media (max-width:400px){
  .cal-cell{font-size:11px;}
  .cal-dow{font-size:9px;}
}
.task-check{padding-top:2px;}
.task-checkbox{
  width:26px; height:26px; border-radius:50%; border:2px solid var(--line); background:var(--card);
  cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:0;
  transition:background 0.15s, border-color 0.15s, transform 0.1s;
}
.task-checkbox:active{transform:scale(0.9);}
.task-checkbox.checked{background:var(--green); border-color:var(--green);}
.task-checkbox.checked::after{content:'✓'; color:#fff; font-size:14px; font-weight:700;}
.task-checkbox:disabled{opacity:0.5; cursor:wait;}
.task-title{font-weight:700; font-size:14.5px; color:var(--ink);}
.task-done .task-title{text-decoration:line-through; color:var(--ink-soft); font-weight:600;}
.task-desc{font-size:13px; color:var(--ink-soft); margin-top:4px; line-height:1.45;}
.task-meta{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-soft); margin-top:7px;}
.task-done-label{color:var(--green); font-weight:700;}
.task-countdown{
  font-size:10.5px; color:var(--amber-text); margin-top:6px; font-weight:600;
  background:var(--amber-bg); border:1px solid var(--amber-border); padding:3px 8px; border-radius:20px; display:inline-block;
}

/* ---- notificari de sistem (Veeam / Synology / cPanel) ---- */
.sev-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.sev-urgent{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border);}
.sev-warn{background:var(--amber-bg);color:var(--amber-text);border:1px solid var(--amber-border);}
.sev-ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);}
.sev-unknown{background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);}
.src-tag{font-size:10px;background:var(--paper);border:1px solid var(--line);padding:2px 8px;border-radius:20px;color:var(--ink-soft);}
.recurrent-tag{font-size:10px;font-weight:600;background:rgba(192,69,59,0.12);color:var(--red);padding:2px 8px;border-radius:20px;}
.alert-action{font-size:12.5px;color:var(--blue-dark);margin-top:5px;}
.alert-raw{
  font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.5;color:var(--ink-soft);
  background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px;
  max-height:280px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:0;
}
.alert-mini{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);}
.alert-mini:last-of-type{border-bottom:none;}
.alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px;}
/* eticheta de filtru care poate contine text lung (nume de server): se rupe pe randuri
   in loc sa iasa din card */
.filter-chip-wrap{
  /* inline-block, nu flex: altfel textul si numele serverului devin doua coloane separate */
  display:inline-block; margin-bottom:10px; max-width:100%; white-space:normal;
  text-align:left; line-height:1.4; word-break:break-word; height:auto; padding:7px 12px;
}

/* ---- stari si actiuni pe notificari ---- */
.status-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;}
.status-tag-work{background:var(--blue-light);color:var(--blue-dark);border:1px solid var(--blue-border);}
.status-tag-snooze{background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);}
.status-tag-done{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);}
.status-tag-ignored{background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);}
.alert-closed{opacity:0.62;}
.alert-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
/* fiecare buton e intr-un formular propriu; "contents" scoate formularul din calcul,
   ca butonul sa devina direct element flex - altfel butoanele se suprapun pe ecrane inguste */
.alert-actions form{display:contents;}
/* flex:0 0 auto = butoanele isi pastreaza latimea textului si trec pe randul urmator
   in loc sa se comprime pana devin ilizibile */
.alert-actions .action-btn{white-space:nowrap;flex:0 0 auto;}
/* pe ecrane late aratam eticheta completa, pe telefon una scurta */
.lbl-short{display:none;}
@media (max-width:520px){
  .lbl-full{display:none;}
  .lbl-short{display:inline;}
  /* butoanele de actiune din liste devin patrate cu iconita sub 480px (regula generala
     .action-btn). Cele de aici au text, deci anulam acel comportament si le facem sa
     imparta randul in mod egal - patru butoane pe un singur rand. */
  .alert-actions{gap:5px;flex-wrap:nowrap;}
  .alert-actions .action-btn{
    font-size:11px; padding:8px 4px;
    width:auto !important; height:auto !important;
    flex:1 1 0; min-width:0; justify-content:center; text-align:center;
    overflow:hidden; text-overflow:ellipsis;
  }
  /* actiunea principala are eticheta mai lunga, deci primeste mai mult spatiu din rand */
  .alert-actions .action-btn-green{flex:1.7 1 0;}
}
/* ecrane foarte inguste (sub 360px): renuntam la numarul din paranteza si stramtam
   putin butoanele, ca toate patru sa incapa fara text taiat */
@media (max-width:359px){
  .lbl-count{display:none;}
  .alert-actions{gap:4px;}
  .alert-actions .action-btn{font-size:10.5px;padding:8px 3px;}
}
/* text prea lung intr-un card de statistica (ex. "Preferinte"): il micsoram in loc sa-l taiem */
.dash-stat-text{font-size:14.5px;line-height:1.2;white-space:nowrap;}
@media (max-width:400px){ .dash-stat-text{font-size:13px;} }
.action-btn-green{background:var(--green-bg);color:var(--green);border-color:var(--green-border);}

/* ---- preferinte de afisare ---- */
.pref-row{padding:14px 0;border-bottom:1px solid var(--line);}
.pref-row:last-of-type{border-bottom:none;}
.pref-head{display:flex;gap:11px;align-items:center;margin-bottom:10px;}
.pref-icon{font-size:20px;line-height:1;}
.pref-name{font-size:14.5px;font-weight:600;}
.pref-meta{font-size:11.5px;color:var(--ink-soft);margin-top:1px;}
.pref-options{display:flex;gap:8px;flex-wrap:wrap;}
.pref-opt{
  flex:1 1 150px; min-width:0; cursor:pointer; border:1.5px solid var(--line); border-radius:10px;
  padding:9px 11px; display:flex; flex-direction:column; gap:2px; transition:border-color .15s, background .15s;
}
.pref-opt input{position:absolute;opacity:0;width:0;height:0;}
.pref-opt.is-on{border-color:var(--blue);background:var(--blue-light);}
.pref-opt-lbl{font-size:13px;font-weight:600;color:var(--ink);}
.pref-opt.is-on .pref-opt-lbl{color:var(--blue-dark);}
.pref-opt-hint{font-size:10.5px;color:var(--ink-soft);line-height:1.35;}

/* rand din cardul de dashboard, care duce la notificarea respectiva */
.alert-mini-link{text-decoration:none;color:inherit;transition:background .12s;border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px;}
.alert-mini-link:hover{background:var(--paper);}
.alert-mini-chevron{color:#CBD5E1;font-size:17px;align-self:center;flex-shrink:0;}
/* evidentiere scurta cand ajungi pe o notificare venind de pe dashboard */
.alert-focus{animation:alert-glow 2.4s ease;}
@keyframes alert-glow{
  0%, 60% { box-shadow:0 0 0 3px var(--blue-light), var(--shadow-md); }
  100% { box-shadow:var(--shadow-sm); }
}

/* corectarea clasificarii + reguli */
.fix-box{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);}
.fix-box summary{cursor:pointer;padding:10px 12px;font-size:12.5px;font-weight:600;color:var(--blue-dark);list-style:none;}
.fix-box summary::-webkit-details-marker{display:none;}
.fix-box[open] summary{border-bottom:1px solid var(--line);}
.fix-edited{font-weight:400;color:var(--ink-soft);font-size:11px;}
.fix-form{padding:12px;}
.fix-check{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:12px;text-transform:none;letter-spacing:0;cursor:pointer;}
.rule-count{font-size:10px;background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);padding:2px 8px;border-radius:20px;}
.rule-cond{font-size:12.5px;line-height:1.6;}
.rule-cond code{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;word-break:break-all;}

/* ============================================================
   Bara compacta de filtre (doar pe mobil)
   Pe desktop filtrele raman vizibile permanent, ca acum. Pe telefon ocupau
   un ecran intreg inainte de continut, asa ca le strangem intr-un panou.
   ============================================================ */
/* Elementele panoului de filtre exista doar pe mobil. Pe desktop filtrele sunt
   vizibile permanent, deci butonul "Gata" si etichetele de sub bara nu au ce cauta. */
/* Pe desktop filtrele sunt vizibile permanent, deci bara compacta (butonul
   "Filtre", cautarea din ea, "Gata" si etichetele) nu are ce cauta - acolo
   cautarea sta ca prim camp in cardul de filtre. */
.filter-compact-bar{display:none;}
.fc-done{display:none;}
.fc-chips{display:none;}

/* cautarea integrata in randul de filtre (desktop) */
.filter-bar-search{position:relative;}
.search-inline{position:relative;}
.search-inline input{padding-left:32px; padding-right:30px;}
.search-inline::before{
  content:'🔍'; position:absolute; left:10px; top:50%; transform:translateY(-50%);
  font-size:13px; opacity:0.45; pointer-events:none;
}
.search-inline-clear{
  position:absolute; right:9px; top:50%; transform:translateY(-50%);
  color:var(--ink-soft); text-decoration:none; font-size:14px; line-height:1; padding:3px;
}
.search-inline-clear:hover{color:var(--red);}
@media (max-width:900px){
  /* pe mobil cardul de filtre e in sertar, iar cautarea sta in bara compacta */
  .filter-bar-search{display:none;}
}


@media (max-width:900px){
  .filter-compact-bar{
    display:flex; gap:8px; align-items:stretch; margin-top:12px;
  }
  /* pe mobil revenim la iconita care se deschide */
  .filter-compact-bar .fc-open{display:flex;}
  .filter-compact-bar .fc-side{display:flex;}

  .fc-open{
    flex:1; display:flex; align-items:center; gap:8px; background:var(--card);
    border:1px solid var(--line); border-radius:11px; padding:10px 12px;
    font-size:13px; font-weight:600; color:var(--ink); cursor:pointer;
    box-shadow:var(--shadow-sm); font-family:'Inter',sans-serif; min-width:0;
  }
  .fc-open:active{transform:scale(0.985);}
  .fc-count{
    background:var(--blue); color:#fff; font-size:10px; font-weight:700;
    padding:1px 7px; border-radius:20px; margin-left:auto;
  }
  .fc-side{display:flex; gap:8px; flex-shrink:0;}

  /* etichetele filtrelor active, sub bara */
  .fc-chips{display:flex; gap:6px; flex-wrap:wrap; margin-top:8px;}
  .fc-chips:empty{display:none;}

  /* panoul propriu-zis: aceleasi carduri de filtre, mutate intr-un sertar */
  .filters-wrap{
    position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:var(--card); border-radius:24px 24px 0 0;
    padding:8px 14px calc(18px + env(safe-area-inset-bottom));
    box-shadow:0 -6px 26px rgba(20,45,92,0.20);
    transform:translateY(100%); transition:transform .28s cubic-bezier(.2,.8,.2,1);
    max-height:86vh; overflow-y:auto;
  }
  .filters-wrap.open{transform:translateY(0);}
  .filters-wrap::before{
    content:''; display:block; width:38px; height:4px; border-radius:4px;
    background:var(--line); margin:2px auto 10px;
  }
  /* cardurile din interior isi pierd rama proprie - ar fi carduri in card */
  .filters-wrap .card{
    box-shadow:none; border:none; background:none; margin:0; border-radius:0;
  }
  .filters-wrap .card + .card{border-top:1px solid var(--line);}
  .filters-wrap .card-body{padding:12px 0;}
  .filters-wrap .card-head{padding:10px 0 0; border:none; background:none;}

  .fc-scrim{
    position:fixed; inset:0; background:rgba(15,25,45,0.45); z-index:55;
    opacity:0; pointer-events:none; transition:opacity .25s;
  }
  .fc-scrim.open{opacity:1; pointer-events:auto;}

  .fc-done{
    display:block;
    width:100%; margin-top:14px; background:linear-gradient(135deg, var(--blue), var(--blue-dark));
    color:#fff; border:none; border-radius:11px; padding:13px; font-size:14px;
    font-weight:700; cursor:pointer; font-family:'Inter',sans-serif;
  }
}
@media (max-width:900px){
  .fc-viewbtn{
    display:flex; align-items:center; justify-content:center; width:44px;
    background:var(--card); border:1px solid var(--line); border-radius:11px;
    font-size:16px; text-decoration:none; box-shadow:var(--shadow-sm);
  }
  .fc-viewbtn.on{background:var(--blue-light); border-color:var(--blue-border);}
  .hide-on-mobile{display:none;}
}
.rule-ignored{font-size:10px;font-weight:600;background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);padding:2px 8px;border-radius:20px;}
@media (max-width:900px){
  /* varianta lata a butonului de vedere, cu eticheta - folosita cand e singurul lucru din bara */
  .fc-viewbtn-wide{flex:1; gap:6px; font-size:13px; font-weight:600; color:var(--ink); padding:10px 8px;}
  .fc-viewbtn-wide.on{color:var(--blue-dark);}
}
/* eticheta de filtru care se poate anula printr-un click */
.fc-chip-clear{text-decoration:none;}
.fc-chip-clear span{opacity:0.55; margin-left:2px; font-weight:700;}
.fc-chip-clear:hover span{opacity:1;}

/* analiza automata pornita/oprita pe fiecare sursa */
.ai-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
.ai-row:last-of-type{border-bottom:none;}
.ai-name{font-size:14.5px;font-weight:600;}
.ai-meta{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.ai-meta code{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-family:'IBM Plex Mono',monospace;font-size:11px;}
.ai-toggle{
  width:48px;height:27px;border-radius:20px;background:var(--line);border:none;
  position:relative;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0;
}
.ai-toggle.on{background:var(--blue);}
.ai-toggle-knob{
  position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;
  background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.ai-toggle.on .ai-toggle-knob{left:24px;}

/* raportul de verificare a securitatii */
.sec-summary{display:flex;gap:8px;flex-wrap:wrap;}
.sec-pill{font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;}
.sec-bad{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border);}
.sec-warn{background:var(--amber-bg);color:var(--amber-text);border:1px solid var(--amber-border);}
.sec-row{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);}
.sec-row:last-child{border-bottom:none;}
.sec-row-rau{background:rgba(192,69,59,0.04);margin:0 -14px;padding-left:14px;padding-right:14px;}
.sec-ic{font-size:15px;line-height:1.4;flex-shrink:0;}
.sec-title{font-size:14px;font-weight:600;}
.sec-detail{font-size:12.5px;color:var(--ink-soft);margin-top:2px;word-break:break-word;}
.sec-fix{font-size:12.5px;color:var(--blue-dark);margin-top:4px;}
.ai-partial{font-size:10px;font-weight:600;background:var(--amber-bg);color:var(--amber-text);border:1px solid var(--amber-border);padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle;}

/* drepturi stabilite separat pe fiecare firma */
.perm-box{margin:10px 0 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);}
.perm-box summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;color:var(--blue-dark);list-style:none;}
.perm-box summary::-webkit-details-marker{display:none;}
.perm-box[open] summary{border-bottom:1px solid var(--line);}
.perm-box > .note{padding:10px 12px 0;}
.perm-company{padding:12px;border-top:1px solid var(--line);}
.perm-company:first-of-type{border-top:none;}
.perm-company-name{font-size:14px;font-weight:700;margin-bottom:8px;}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px;}
.perm-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;}
.perm-item select{width:auto;min-width:74px;padding:5px 6px;font-size:12px;}
/* configurarea casutei de email, per firma */
.alerts-cfg{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.alerts-cfg-title{font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.06em;}

/* ---- cautare in liste ---- */
/* Cautarea sta in acelasi rand cu butonul de filtre, ca sa nu ocupe spatiu.
   Cand se deschide campul, butonul de filtre se retrage la iconita. */
.search-box{display:contents;}
.search-toggle{
  display:flex; align-items:center; justify-content:center; width:42px; flex-shrink:0;
  background:var(--card); border:1px solid var(--line); border-radius:11px;
  font-size:16px; cursor:pointer; box-shadow:var(--shadow-sm);
  transition:background .12s, border-color .12s;
}
.search-toggle.on{background:var(--blue-light); border-color:var(--blue-border);}
/* Pe desktop campul e mereu deschis (exista loc). Pe mobil apare doar la apasarea
   iconitei, ca sa nu ocupe latimea barei. */
.search-field{
  display:block; position:relative; flex:1; min-width:0; max-width:340px;
}
/* pe desktop punem lupa in interiorul campului, ca sa se vada ce e */
.search-field::before{
  content:'🔍'; position:absolute; left:11px; top:50%; transform:translateY(-50%);
  font-size:13px; opacity:0.5; pointer-events:none; z-index:1;
}
.search-field input{padding-left:33px;}
.search-toggle{display:none;}
@media (max-width:900px){
  .search-field{display:none; max-width:none;}
  .search-field.open{display:block;}
  .search-toggle{display:flex;}
  /* pe mobil lupa e deja pe buton, nu o mai repetam in camp */
  .search-field::before{display:none;}
  .search-field input{padding-left:12px;}
}
.search-field input{height:100%; margin:0;}
/* cand cautarea e deschisa, eticheta "Filtre" dispare - ramane doar iconita */
.filter-compact-bar.searching .fc-open span:not(:first-child):not(.fc-count){display:none;}
.filter-compact-bar.searching .fc-open{flex:0 0 auto; width:42px; justify-content:center;}
.search-field input{
  width:100%; padding-right:38px;
}
.search-clear{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--ink-soft); font-size:16px; cursor:pointer;
  line-height:1; padding:4px;
}
.search-active{
  display:inline-flex; align-items:center; gap:6px; background:var(--blue-light);
  border:1px solid var(--blue-border); color:var(--blue-dark); border-radius:20px;
  padding:5px 12px; font-size:12px; font-weight:600; text-decoration:none; margin-top:8px;
}
mark{background:#FDF0A8; color:inherit; padding:0 2px; border-radius:3px;}
/* caseta de selectie pe alertele din Logs ProIT */
.entry .alert-select-cb{width:18px;height:18px;cursor:pointer;}
/* butonul care porneste modul de selectie */
.select-mode-btn{
  background:var(--paper); border:1px solid var(--line); color:var(--ink-soft);
  border-radius:20px; padding:5px 12px; font-size:11.5px; font-weight:600;
  cursor:pointer; font-family:'Inter',sans-serif;
}
.select-mode-btn.is-on{background:var(--blue-light); border-color:var(--blue-border); color:var(--blue-dark);}
