:root{--blue:#15803d;--blue-l:#21a366;--blue-bg:#e7f4ec;--dark:#1a2b22;--dark2:#22382c;--line:#e2e8f0;--bg:#f1f5f2;--txt:#2a3340;--muted:#7a828a;--ok:#16a34a;--warn:#e67e22;--red:#e11d48;--teal:#0d9488}
*{box-sizing:border-box;margin:0;padding:0}
.cal-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin-bottom:8px}
.cal-navwrap{min-width:0;overflow:hidden}
.cal-medwrap{position:relative;justify-self:end}
.cal-medpop{position:absolute;top:100%;right:0;z-index:60;margin-top:5px;width:320px;max-width:86vw;background:var(--panel,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:10px 12px;display:none}
.cal-medpop.open{display:block}
.cal-medchips{display:flex;gap:5px;flex-wrap:wrap;max-height:220px;overflow:auto}
@media(max-width:760px){.cal-top{grid-template-columns:1fr}.cal-medwrap{justify-self:start}.cal-medpop{right:auto;left:0}}
.cal-nav{margin:6px 0 8px}
.cal-nav .cn-row{display:flex;gap:3px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.cal-nav .cn-days{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
.cn-y,.cn-m{padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;cursor:pointer;color:var(--txt);flex:none}
.cn-y:hover,.cn-m:hover{background:var(--blue-bg)}
.cn-y.on,.cn-m.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.cn-d{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:34px;height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;flex:none;line-height:1.1}
.cn-d:hover{background:var(--blue-bg)}
.cn-d .cn-dn{font-size:13px;font-weight:700;color:var(--txt)}
.cn-d .cn-dw{font-size:9px;color:var(--muted)}
.cn-d.we{background:#fff8f0}
.cn-d.on{background:var(--blue);border-color:var(--blue)}
.cn-d.on .cn-dn,.cn-d.on .cn-dw{color:#fff}
@media(max-width:780px){.tcgrid{grid-template-columns:1fr!important}}
.tchart{position:relative;width:100%;max-width:760px;margin:0 auto;aspect-ratio:1024/493}
.tchart>img{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}
.tchot{position:absolute;padding:0;border:none;background:transparent;cursor:pointer;border-radius:8px;transition:box-shadow .12s,background .12s}
.tchot:hover{box-shadow:0 0 0 2px var(--blue);background:rgba(21,128,61,.10)}
.svc-dd{position:fixed;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.16);max-height:260px;overflow-y:auto}
.svc-opt{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 11px;cursor:pointer;font-size:13px;border-bottom:1px solid #f1f4f7}
.svc-opt:last-child{border-bottom:none}
.svc-opt:hover{background:var(--blue-bg)}
.svc-opt b{white-space:nowrap;color:var(--blue)}
body{font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:13.5px}
button{font-family:inherit;cursor:pointer;border:none;background:none}
a{color:var(--blue);text-decoration:none;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--blue-l);box-shadow:0 0 0 3px var(--blue-bg)}
/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f5132,#0d9488)}
.login-card{background:#fff;border-radius:16px;padding:38px 34px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.login-logo-full{margin:6px auto 16px;text-align:center}
.login-logo-full img{width:120px;height:120px;object-fit:cover;display:block;margin:0 auto;border-radius:24px}
.login-card h1{text-align:center;font-size:21px;margin-bottom:4px}
.login-card .sub{text-align:center;color:var(--muted);font-size:12.5px;margin-bottom:22px}
.login-card .field{margin-bottom:14px}
.login-card label{font-size:12px;color:var(--muted);font-weight:600;display:block;margin-bottom:5px}
.login-err{background:#fde8ec;color:var(--red);padding:9px 12px;border-radius:7px;font-size:12.5px;margin-bottom:12px;display:none}
/* SHELL */
.shell{display:flex;min-height:100vh}
.side{width:230px;background:var(--dark);color:#cdd5de;flex:none;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side .brand{padding:18px 16px 16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #2c4636}
.side .brand .brandlogo{width:60px;height:60px;object-fit:cover;display:block;border-radius:13px}
.side .brand .lg{width:38px;height:38px;border-radius:10px;background:#f6efe1;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none}
.side .brand .lg img{width:100%;height:100%;object-fit:cover;display:block}
.side .brand .nm{font-size:15px;font-weight:700;color:#fff;line-height:1.1}
.side .brand .sb{font-size:10.5px;color:#8b97a5}
.locsw{padding:10px 12px;border-bottom:1px solid #2c4636}
.locsw-h{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#8b97a5;font-weight:700;margin-bottom:6px}
.locsw-box{display:flex;align-items:center;gap:8px;background:#22382c;border:1px solid var(--lc);border-left-width:3px;border-radius:8px;padding:0 10px}
.locsw-box .dot{flex:none}
.locsw-sel{flex:1;background:transparent;border:none;color:#fff;font-size:13px;font-weight:600;padding:9px 4px;cursor:pointer;outline:none;box-shadow:none!important}
.locsw-sel:focus{box-shadow:none}
.locsw-sel option{background:#22382c;color:#fff}
.ttl-loc{color:var(--muted);font-weight:600;font-size:14px}
.nav{padding:10px 0;flex:1;overflow:auto}
.nav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 18px;color:#cdd5de;font-size:13.5px;border-left:3px solid transparent}
.nav button:hover{background:#22382c;color:#fff}
.nav button.active{background:#22382c;color:#fff;border-left-color:var(--blue-l);font-weight:600}
.nav .ic{width:18px;text-align:center}
.side .who{padding:13px 16px;border-top:1px solid #2c4636;font-size:12px}
.side .who .nm{color:#fff;font-weight:600}
.side .who .rl{color:#8b97a5;font-size:11px;text-transform:capitalize}
.side .who button{color:#cdd5de;font-size:11.5px;margin-top:8px;padding:6px 10px;border:1px solid #36523f;border-radius:6px}
.side .who button:hover{background:var(--red);border-color:var(--red);color:#fff}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 22px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10}
.topbar h2{font-size:17px;font-weight:700}
.topbar .sp{flex:1}
.content{padding:20px 22px;flex:1}
/* COMMON */
.btn{padding:8px 14px;border-radius:7px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#11652f}
.btn-green{background:var(--ok);color:#fff}.btn-green:hover{filter:brightness(.92)}
.btn-ghost{background:#fff;color:var(--blue);border-color:var(--line)}.btn-ghost:hover{background:var(--blue-bg)}
.btn-red{background:#fff;color:var(--red);border-color:#f3c6cf}.btn-red:hover{background:var(--red);color:#fff}
.btn-sm{padding:5px 10px;font-size:12px}
.iconbtn{width:30px;height:30px;border-radius:7px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.iconbtn:hover{background:var(--blue-bg)}
.card{background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:16px;overflow:hidden}
.card h3{padding:13px 16px;font-size:14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.card .bd{padding:16px}
.card .bd.p0{padding:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 17px;border-left:4px solid var(--blue)}
.stat .n{font-size:25px;font-weight:800;color:var(--dark)}
.stat .l{font-size:12px;color:var(--muted);margin-top:3px}
.stat.g{border-left-color:var(--ok)}.stat.o{border-left-color:var(--warn)}.stat.t{border-left-color:var(--teal)}.stat.r{border-left-color:var(--red)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f7f9fc;color:#5a6470;text-align:left;padding:10px 13px;font-weight:600;border-bottom:2px solid var(--line);white-space:nowrap}
td{padding:10px 13px;border-bottom:1px solid #eef2f6}
tbody tr:hover td{background:#f8fafc}
.num{text-align:right;font-variant-numeric:tabular-nums}
.tag{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600}
.tag-green{background:#dcfce7;color:#15803d}.tag-blue{background:var(--blue-bg);color:var(--blue)}.tag-orange{background:#fdeede;color:#b45309}.tag-red{background:#fde8ec;color:var(--red)}.tag-gray{background:#eef2f6;color:var(--muted)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.toolbar .sp{flex:1}
.search{flex:1;min-width:220px;max-width:420px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}
.field label{font-size:12px;color:var(--muted);font-weight:600;display:block;margin-bottom:5px}
.field .val{padding:7px 0;font-weight:500}
.empty{text-align:center;padding:46px 20px;color:var(--muted)}
.pager{display:flex;gap:5px;align-items:center;justify-content:flex-end;padding:12px 0;font-size:12.5px;color:var(--muted)}
.pager button{min-width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 8px}
.pager button.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.subtabs button{padding:8px 14px;border-radius:8px;font-size:12.5px;background:#fff;color:#55606c;font-weight:600;border:1px solid var(--line)}
.subtabs button.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs button{padding:10px 15px;font-size:13px;color:#55606c;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
.overlay{position:fixed;inset:0;background:rgba(20,28,38,.55);display:none;align-items:flex-start;justify-content:center;z-index:60;padding:38px 16px;overflow:auto}
.overlay.show{display:flex}
.modal{background:#fff;border-radius:13px;width:100%;max-width:600px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.modal.lg{max-width:860px}
.modal h3{padding:15px 18px;font-size:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.modal h3 .x{cursor:pointer;font-size:20px;color:var(--muted)}
.modal .bd{padding:18px;max-height:68vh;overflow:auto}
.modal .ft{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--dark);color:#fff;padding:12px 20px;border-radius:9px;font-size:13.5px;z-index:80;transition:transform .3s;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.err{background:var(--red)}
.permgrid{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}
.permgrid .pl{font-weight:600;font-size:13px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.seg button{padding:6px 12px;font-size:12px;background:#fff;color:#55606c}
.seg button.on{background:var(--blue);color:#fff}
.mini{font-size:11.5px;color:var(--muted)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hidden{display:none!important}
.dot{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:middle}
.teeth{max-width:680px;margin:8px auto}
.teeth .r{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}
.tooth{width:38px;height:46px;border:1px solid #cbd5e1;border-radius:6px 6px 11px 11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;cursor:pointer}
.tooth:hover{outline:2px solid var(--blue)}
.picklist{max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:7px;margin-top:4px}
.picklist:empty{display:none}
.picklist-item{padding:7px 10px;cursor:pointer;border-bottom:1px solid #eef2f6}
.picklist-item:last-child{border-bottom:none}
.picklist-item:hover{background:var(--blue-bg)}
.xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.xitem{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.xthumb{height:120px;background:#0f1418;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}
.xthumb img{width:100%;height:100%;object-fit:cover}
.xpdf{color:#fff;text-align:center;font-size:13px;font-weight:600}
.xmeta{padding:7px 9px;display:flex;flex-direction:column;gap:1px}
.xdel{position:absolute;top:5px;right:5px;background:rgba(255,255,255,.9)}
/* FIȘĂ PARODONTALĂ (grid de sondare) */
.periogrid{border-collapse:collapse;font-size:11px}
.periogrid th,.periogrid td{border:1px solid #eef2f6;padding:1px 2px;text-align:center}
.periogrid thead th{background:#f7f9fc;font-weight:700;min-width:50px}
.periogrid tbody th{background:#fafbfc;text-align:right;white-space:nowrap;font-weight:600;color:#5a6470;padding-right:7px;position:sticky;left:0;z-index:1}
.periogrid tr.sep td,.periogrid tr.sep th{border-top:2px solid #cbd5e1}
.pi3{display:flex;gap:1px;justify-content:center}
.pio{width:24px;padding:2px 1px;text-align:center;font-size:11px;border:1px solid var(--line);border-radius:3px}
.pis{width:40px;padding:2px;font-size:11px}
.pic{width:15px;height:15px;accent-color:var(--red)}
/* FIȘE COMPLETABILE (structurate) */
.fform{font-size:14px;line-height:1.5}
.fhead{background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}
.fttl{font-weight:800;font-size:16px;text-align:center;margin:4px 0}
.fnote{text-align:center;font-size:12px;color:var(--muted);margin-bottom:8px}
.fh{background:var(--blue-bg);color:var(--blue);font-weight:700;padding:8px 12px;border-radius:7px;margin:16px 0 8px}
.fsub{font-weight:700;margin:12px 0 6px}
.fp{margin:7px 0}
.flist{margin:6px 0 6px 20px;line-height:1.65}
.fchkrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fchk{display:flex;align-items:center;gap:10px;padding:9px 6px;cursor:pointer;min-height:42px;flex:1;min-width:200px}
.fchk input{width:24px;height:24px;flex:none;accent-color:var(--blue)}
.fall{font-weight:700;color:var(--blue);max-width:140px}
.fchktxt{flex:2;min-width:160px}
.ffield{margin:9px 0}
.ffield label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.ftxt{width:100%;padding:11px 12px;font-size:15px;border:1px solid var(--line);border-radius:8px}
.fyn{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0}
.fyn-q{flex:1;min-width:200px}
.fyn-b{display:inline-flex;gap:8px}
.ynbtn{min-width:74px;padding:11px 18px;font-size:15px;font-weight:700;border:2px solid var(--line);border-radius:9px;background:#fff;color:#55606c}
.ynbtn.on-yes{background:var(--ok);border-color:var(--ok);color:#fff}
.ynbtn.on-no{background:var(--red);border-color:var(--red);color:#fff}
.fsig{margin:8px 0 14px}
.fsig-l{font-size:12.5px;margin-bottom:4px}
.fsig canvas.sigpad{border:1px dashed #aaa;border-radius:8px;background:#fff;touch-action:none;width:100%;max-width:380px;height:110px}
.fsig-img{height:74px;border:1px solid #ddd;border-radius:6px;background:#fff}
.fdate{font-size:12.5px;color:var(--muted);margin:4px 0 12px}
#fscreen{position:fixed;inset:0;background:#fff;z-index:200;display:flex;flex-direction:column}
.fscreen-bar{background:var(--dark);color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
/* ========== TELEFON / TABLETĂ (meniu lateral glisant) ========== */
/* listă compactă de date (ex. Date personale) */
.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 14px}
.dl-i{display:flex;flex-direction:column;gap:1px;border-bottom:.5px solid var(--line);padding-bottom:5px;min-width:0}
.dl-i.wide{grid-column:1 / -1}
.dl-l{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.dl-v{font-size:13.5px;word-break:break-word;line-height:1.25}
.hamb{display:none}
#sideback{display:none}
.lg-mobile,.sb-m{display:none}
@media(max-width:860px){
  .hamb{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:22px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--dark);flex:none}
  .side{position:fixed;top:0;left:0;height:100vh;width:248px;transform:translateX(-100%);transition:transform .25s ease;z-index:80}
  body.nav-open .side{transform:translateX(0);box-shadow:8px 0 30px rgba(0,0,0,.35)}
  #sideback{position:fixed;inset:0;background:rgba(15,20,30,.5);z-index:75}
  body.nav-open #sideback{display:block}
  .main{min-width:0}
  .topbar{position:sticky;top:0;padding:10px 12px;gap:10px}
  .topbar h2{font-size:16px;line-height:1.15}
  .ttl-loc{display:block;font-size:11px}
  .content{padding:12px 10px 28px}
  .tabs{margin-bottom:10px}
  .tabs button{padding:8px 11px;font-size:12.5px}
  #ptab .card .bd{padding:12px 12px}
  .dl{gap:7px 12px}
  /* tabele — derulare orizontală în card, nu sparg ecranul */
  .card .bd{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{font-size:12.5px}
  th,td{padding:8px 9px}
  /* carduri/stat-uri pe un rând */
  .stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
  .stat .n{font-size:21px}
  /* layout-uri în 2 coloane → o coloană */
  [style*="grid-template-columns:1.4fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1.4fr"]>*{min-width:0}
  /* modale pe tot ecranul */
  .overlay{padding:0;align-items:stretch}
  .modal,.modal.lg{max-width:100%;width:100%;min-height:100vh;border-radius:0}
  .modal .bd{max-height:none}
  .modal .ft{position:sticky;bottom:0;background:#fff;flex-wrap:wrap}
  .modal .ft .btn{flex:1;justify-content:center;min-width:120px}
  /* formulare: un câmp pe rând */
  .formgrid{grid-template-columns:1fr}
  .toolbar .search{max-width:none}
}
/* ===== compactare generală pentru telefon (toate ecranele) ===== */
@media(max-width:860px){
  .content{padding:10px 8px 26px}
  .card{margin-bottom:10px;border-radius:9px}
  .card h3{padding:9px 12px;font-size:13.5px}
  .card .bd{padding:11px 12px}
  .card .bd.p0{padding:0}
  th{padding:7px 8px;font-size:11px}
  td{padding:7px 8px;font-size:12.5px}
  .stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}
  .stat{padding:9px 11px;border-radius:9px;border-left-width:3px}
  .stat .n{font-size:19px}
  .stat .l{font-size:11px;margin-top:1px}
  .toolbar{gap:7px;margin-bottom:10px}
  .btn{padding:7px 11px;font-size:12.5px}
  .btn-sm{padding:5px 9px;font-size:12px}
  .subtabs{gap:5px;margin-bottom:10px}
  .subtabs button{padding:6px 10px;font-size:12px}
  .field label{margin-bottom:3px;font-size:11.5px}
  input,select,textarea{padding:8px 9px}
  .modal h3{padding:11px 14px;font-size:14px}
  .modal .bd{padding:12px 13px}
  .pager{padding:8px 0}
  .empty{padding:26px 14px}
  .tag{padding:2px 7px;font-size:11px}
  /* calendar: mutăm selectorul de medici jos, ca bară lipită de partea de jos */
  .cal-wrap{display:flex;flex-direction:column}
  .cal-wrap .toolbar{order:1}
  .cal-wrap #calbody{order:2}
  .cal-medsel{order:3;margin:0!important;position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:8px 2px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;z-index:6;gap:7px}
  .cal-medsel .csm-l{display:none}
  .cal-medsel>*{flex:none}
  /* brand pe mobil: logo auriu în pătrat rotunjit + „aplicație medic" */
  .lg-desktop,.sb-d{display:none!important}
  .lg-mobile{display:flex!important;width:40px;height:40px;border-radius:11px;overflow:hidden;background:#f6efe1;align-items:center;justify-content:center;flex:none}
  .lg-mobile img{width:100%;height:100%;object-fit:cover}
  .sb-m{display:inline}
}

/* ---- Fișă de evaluare status dentar ---- */
.fisa-cat{margin-bottom:14px}
.fisa-cath{font-size:13px;font-weight:600;color:var(--blue);background:var(--blue-bg);padding:6px 10px;border-radius:7px;margin:0 0 8px}
.fisa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 12px}
.fisa-it{display:flex;align-items:center;gap:8px;padding:2px 0}
.fisa-it label{flex:1;font-size:13px;color:var(--txt);font-weight:400}
.fisa-it input{width:118px;height:30px;font-size:12px;flex:none}

/* ---- Servicii & prețuri: categorii pliabile + căutare ---- */
.svc-cat{border:1px solid var(--line);border-radius:8px;margin-bottom:6px;overflow:hidden;background:#fff}
.svc-cat-h{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;background:#f7f9fc;user-select:none}
.svc-cat-h:hover{background:var(--blue-bg)}
.svc-arrow{color:var(--muted);font-size:11px;transition:transform .15s;width:10px;display:inline-block}
.svc-cat.open .svc-arrow{transform:rotate(90deg)}
.svc-cat-nm{color:var(--blue);font-weight:700}
.svc-cat-ct{font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 8px;font-weight:600}
.svc-cat-body{display:none}
.svc-cat.open .svc-cat-body{display:block}
.svc-cat-body table{width:100%;border-collapse:collapse}
.svc-cat-body td{padding:6px 12px;border-top:1px solid #eef2f6}

/* ---- Popup click-pe-dinte din Fișa de evaluare ---- */
.vbk-grp{margin-bottom:10px}
.vbk-gh{font-size:12px;font-weight:600;color:var(--blue);margin-bottom:5px}
.vbk-chips{display:flex;flex-wrap:wrap;gap:6px}
.vbk-chip{padding:5px 10px;border-radius:14px;font-size:12px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;user-select:none}
.vbk-chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ---- Panou inline „dinte" sub hartă (Fișa de evaluare) ---- */
.fisa-tpanel{border:1px solid var(--blue-l);background:var(--blue-bg);border-radius:9px;padding:11px 13px}

/* ---- Clopoțel de notificări (bara de sus, pe fiecare pagină) ---- */
.notifbell{position:relative;background:none;border:none;cursor:pointer;font-size:20px;line-height:1;padding:5px 7px;border-radius:9px}
.notifbell:hover{background:rgba(0,0,0,.06)}
.notifbell .notifbadge{position:absolute;top:-1px;right:-1px;background:#e11d48;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 0 0 2px #fff}
.notifbell.has{animation:notifpulse 2.4s ease-in-out infinite}
@keyframes notifpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
.notifbell.ring{animation:notifring .5s ease-in-out 3}
@keyframes notifring{0%,100%{transform:rotate(0)}20%{transform:rotate(-16deg)}60%{transform:rotate(16deg)}}
/* ---- Editor plan: linii intervenții aliniate ca tabel (nu se mai sparg pe ecrane înguste) ---- */
.plan-items{overflow-x:auto}
.plan-itemhdr,.plan-itemrow{display:grid;grid-template-columns:minmax(0,2.4fr) 56px minmax(0,1.3fr) 90px 54px 80px 64px;gap:6px;align-items:center;min-width:620px}
.plan-itemhdr{font-size:9.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:0 0 4px;border-bottom:1px solid var(--line)}
.plan-itemrow{border-bottom:1px dashed #eef2f6;padding:5px 0}
.plan-itemrow>*{min-width:0}
.plan-itemrow input,.plan-itemrow select{width:100%;min-width:0}
.plan-itemrow .pmoney{text-align:right;font-weight:700}
.plan-itemrow .pacts{display:flex;gap:2px;justify-content:flex-end}
.plan-itemhdr .r{text-align:right}.plan-itemhdr .c{text-align:center}

/* ---- Discuție medici (chat per pacient) ---- */
.chatlist{display:flex;flex-direction:column;gap:8px;max-height:52vh;min-height:180px;overflow-y:auto;padding:10px;background:#eef2f7;border:1px solid var(--line);border-radius:10px}
.chatmsg{display:flex;max-width:80%;align-self:flex-start}
.chatmsg.mine{align-self:flex-end}
.chatbub{border-radius:12px;padding:6px 10px;box-shadow:0 1px 2px rgba(0,0,0,.08);font-size:13px;line-height:1.35}
.chatauthor{font-weight:800;font-size:11px;margin-bottom:2px}
.chattext{white-space:pre-wrap;word-break:break-word}
.chattime{font-size:9.5px;opacity:.7;text-align:right;margin-top:2px}
.chatlock{font-size:9.5px;font-style:italic;font-weight:700;opacity:.85;margin-bottom:2px}
.chatbub.direct{outline:2px dashed rgba(180,83,9,.55);outline-offset:1px}
.tabbadge{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;background:var(--red);color:#fff;border-radius:9px;font-size:10px;font-weight:800;padding:0 4px;vertical-align:middle;margin-left:2px}

/* ---- Ședințe în execuția planului (fila Tratamente) ---- */
.treatsess{border:1px solid var(--line);border-radius:9px;margin-bottom:10px;overflow:hidden}
.treatsess-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 11px;background:var(--blue-bg);border-bottom:1px solid var(--line)}
.treatsess table{margin:0;table-layout:fixed}
.treatsess .c-chk{width:34px}.treatsess .c-dinte{width:80px}.treatsess .c-cant{width:64px}.treatsess .c-total{width:120px}.treatsess .c-stare{width:120px}.treatsess .c-act{width:86px}
.treatsess td{white-space:normal;word-break:break-word;vertical-align:top}
.notifrow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);cursor:pointer}
.notifrow:hover{background:rgba(0,0,0,.03)}
.card.flash{animation:cardflash 1.6s ease}
@keyframes cardflash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 3px #f6c343}}
