*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Arial,sans-serif;background:#f8f9fa;color:#333;padding:15px;font-size:16px}
.c{max-width:900px;margin:auto}
.hp{text-align:center;padding:20px 20px 30px 20px;position:relative}
.auth-box-top{position:absolute;top:15px;left:15px;background:#fff;padding:8px 12px;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.05);display:flex;align-items:center;gap:10px;z-index:10;max-width:260px;text-align:left;}
.hp .lg{width:130px;height:130px;border-radius:50%;object-fit:cover;border:4px solid #1a3a6b;box-shadow:0 6px 20px rgba(0,0,0,.12);margin-bottom:15px;background:#fff}
.hp h1{font-size:28px;color:#1a3a6b;margin-bottom:5px;font-weight:700}
.hp .tg{font-size:15px;color:#666;margin-bottom:25px;word-break:normal;overflow-wrap:break-word;padding:0 10px;line-height:1.4;}
.hp .hb{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:600px;margin:0 auto}
.hp .hb .btn-home{padding:16px;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;background:#545b62;color:#fff;box-shadow:0 4px 6px rgba(0,0,0,.08);position:relative;width:100%}
.hp .hb .btn-home:hover{transform:translateY(-3px);box-shadow:0 8px 15px rgba(0,0,0,.15);background:#495057}
.nav{display:flex;gap:6px;margin-bottom:15px;flex-wrap:wrap;background:#ffffff;padding:10px;border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.nav .btn-nav{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;background:#f1f3f5;color:#495057;transition:all .2s ease;position:relative}
.nav .btn-nav:hover{background:#1a3a6b;color:#fff}
.nav .btn-nav.active{background:#1a3a6b;color:#fff;box-shadow:0 3px 8px rgba(26,58,107,.3);border-bottom:3px solid #2b8a3e}
.bp{background:#1a3a6b;color:#fff!important}
.bs{background:#2b8a3e;color:#fff!important}
.bx{background:#495057;color:#fff!important}
.bw{background:#1864ab;color:#fff!important}
.bd{background:#c92a2a;color:#fff!important}
.bw2{background:#2b8a3e;color:#fff!important}
.btn-royal{background-color:#4169E1!important;color:#FFFFFF!important;box-shadow:0 4px 6px rgba(65,105,225,0.2);font-weight:bold;padding:12px 18px;border-radius:8px;width:100%;border:none;font-size:16px}
.btn-royal:hover{background-color:#3154bd!important;transform:translateY(-1px)}
.callbtn, .wappbtn, .reschedbtn, .reviewbtn, .gcalbtn, .wbtn, .smsbtn, .mapsbtn, .wazebtn, .ebtn{border:none;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;color:#fff!important}
.callbtn{background:#7950f2} .wappbtn{background:#2b8a3e} .reschedbtn, .smsbtn, .reviewbtn{background:#f59f00} .gcalbtn, .ebtn{background:#1c7ed6} .wbtn{background:#2b8a3e} .mapsbtn{background:#1a3a6b;padding:7px 14px;font-size:13px} .wazebtn{background:#228be6;padding:7px 14px;font-size:13px}
.page{display:none} .page.active{display:block}
.bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.btn{padding:9px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;color:#fff!important}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sec{background:#fff;border-radius:10px;padding:16px;margin-bottom:10px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.sec h2{font-size:15px;color:#1a3a6b;margin-bottom:10px;border-bottom:1px solid #f1f3f5;padding-bottom:6px;font-weight:700}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.f{margin-bottom:10px}
.f label{display:block;font-size:13px;color:#495057;margin-bottom:4px;font-weight:500}
.f input,.f textarea,.f select{width:100%;padding:9px;border:1px solid #ced4da;border-radius:8px;font-size:15px;background:#fff}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:#1a3a6b;box-shadow:0 0 0 3px rgba(26,58,107,.1)}
table{width:100%;border-collapse:collapse;margin-bottom:8px}
th{background:#1a3a6b;color:#fff;padding:8px;font-size:13px;text-align:left;font-weight:600}
td{padding:6px 8px;border-bottom:1px solid #f1f3f5;font-size:14px}
td input{width:100%;padding:6px;border:1px solid #ced4da;border-radius:6px;font-size:14px}
.ft{border-collapse:separate;border-spacing:0;width:100%;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;margin-top:8px;}
.ft th{background:#1a3a6b;color:#fff;padding:10px;font-size:13px;text-align:left;border-bottom:none;}
.ft td{padding:10px;border-bottom:1px solid #f1f3f5;font-size:13px;}
.ft tr:last-child td{border-bottom:none;}
.ft tbody tr{transition:background 0.2s;}
.ft tbody tr:hover{background-color:#f8f9fa;}
.rm{color:#c92a2a;cursor:pointer;font-size:16px;font-weight:bold}
.res{max-width:340px;margin-left:auto}
.rr{display:flex;justify-content:space-between;padding:6px 12px;font-size:14px;gap:30px}
.rr span:first-child{white-space:nowrap;color:#495057}
.rr span:last-child{white-space:nowrap;text-align:right;font-weight:600}
.rr.t{font-weight:bold;font-size:16px;border-top:2px solid #1a3a6b;padding-top:8px;margin-top:6px;color:#1a3a6b}
.hl{max-height:400px;overflow-y:auto}
.hi{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #f1f3f5;font-size:14px}
.hi .ac{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hi .ac button,.hi .ac a{padding:6px 10px;font-size:12px;border-radius:6px;color:#fff!important}
.sub{text-align:center;color:#6c757d;font-size:13px;margin-bottom:10px}
.sb{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}
.sb.r{background:#495057;color:#fff} .sb.a{background:#1864ab;color:#fff} .sb.ap{background:#2b8a3e;color:#fff} .sb.re{background:#c92a2a;color:#fff} .sb.c{background:#1a3a6b;color:#fff} .sb.ca{background:#868e96;color:#fff}
.pb{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.pb.pg{background:#2b8a3e;color:#fff} .pb.pe{background:#1864ab;color:#fff} .pb.pa{background:#0b9ed9;color:#fff} .pb.at{background:#c92a2a;color:#fff}
.ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ch h3{font-size:18px;color:#1a3a6b;font-weight:700}
.ch .btn{padding:8px 16px;font-size:14px}
.ct{width:100%;border-collapse:collapse;margin-bottom:10px}
.ct th{background:#1a3a6b;color:#fff;padding:10px;font-size:13px;text-align:center}
.ct td{border:1px solid #dee2e6;padding:0;text-align:center;height:75px;vertical-align:top;font-size:14px;position:relative; cursor:pointer;}
.ct td:hover { filter: brightness(0.95); }
.ct td .dn{display:block;padding:4px 8px;text-align:left;font-weight:bold;color:#333}
.ct td.today{border: 2px solid #1a3a6b !important;}
.ct td.ho{background:#d0ebff} .ct td.ho .dn{color:#1864ab}
.ct td.he{background:#ebfbee} .ct td.he .dn{color:#2b8a3e}
.ct td .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:2px 1px}
.dot.o{background:#1864ab} .dot.e{background:#2b8a3e}
.ct td.om{color:#adb5bd;background:#f8f9fa}
.ct td.cal-block { background: #ffe3e3; } .ct td.cal-block .dn { color: #c92a2a; text-decoration: line-through; }
.ct td.cal-mod { background: #fff3bf; } .ct td.cal-mod .dn { color: #f59f00; }
.ct td.cal-avail { background: #ebfbee; }
.cel{margin-top:10px}
.cev{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #dee2e6;border-radius:8px;margin-bottom:8px;font-size:14px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.02)}
.cev.oe{background:#f8f9fa;border-color:#1c7ed6}
.cev .et{font-weight:700;color:#1a3a6b}
.cev .ed{color:#c92a2a;cursor:pointer;font-size:18px;font-weight:bold}
.cev .ac2{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cf{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px} .cf .full{grid-column:1/-1}
.ds{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px}
.dc{background:#fff;border-radius:10px;padding:14px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.04);border-top:4px solid #1a3a6b;cursor:pointer;transition:transform .2s}
.dc:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.dc .n{font-size:22px;font-weight:700;color:#1a3a6b}
.dc .l{font-size:12px;color:#6c757d;margin-top:4px;font-weight:500}
.dc.ra .n{color:#495057} .dc.pe .n{color:#1864ab} .dc.ap .n{color:#2b8a3e} .dc.re .n{color:#c92a2a} .dc.co .n{color:#1a3a6b}
.fs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}
.fb{text-align:center;padding:16px;border-radius:10px;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.06);cursor:pointer;transition:all 0.3s ease;position:relative;overflow:hidden}
.fb:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.fb:active{transform:translateY(0)}
.fb.r{background:#2b8a3e} .fb.d{background:#c92a2a} .fb.s{background:#1a3a6b}
.fb .v{font-size:22px;font-weight:700} .fb .l{font-size:12px;margin-top:4px;opacity:.9}
.fc{background:#fff;border-radius:10px;padding:16px;margin-bottom:10px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.fc h3{font-size:16px;color:#1a3a6b;margin-bottom:10px;font-weight:700}
.fr{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f3f5;font-size:14px}
.fr:last-child{border:none}
.fr .v{font-weight:700;color:#1a3a6b}
.ph{display:none;margin-bottom:12px}
.ph .phead-top{text-align:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #1a3a6b}
.ph .phead-top h1{font-size:22px;color:#1a3a6b;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.ph .phead-top .pdt{font-size:12px;color:#495057;margin-top:2px;font-weight:600}
.ph .pt{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:12px}
.ph .pl{display:flex;align-items:center;gap:12px}
.ph .pl img{width:55px;height:55px;border-radius:50%;object-fit:cover;border:2px solid #1a3a6b;background:#fff}
.ph .pl h2{font-size:18px;color:#1a3a6b;border:none;padding:0;margin:0;font-weight:700}
.ph .pl .pc2{font-size:10px;color:#495057;margin-top:3px}
.ph .pcl{padding:12px;font-size:11px;line-height:1.7;background:#f8f9fa;border:1px solid #dee2e6;border-left:4px solid #1a3a6b;border-radius:6px;margin-bottom:12px}
.ph .pcl p{margin:0}
.ph .pcl strong{color:#1a3a6b;min-width:70px;display:inline-block}
.pcond{display:none;margin-top:15px;text-align:left;font-size:11px;line-height:1.7;background:#f8f9fa;border:1px solid #dee2e6;border-left:4px solid #2b8a3e;padding:12px;border-radius:6px;color:#333}
.pcond p{margin:0}
.pcond strong{color:#1a3a6b}
.pf{display:none;margin-top:25px;border-top:1px solid #dee2e6;padding-top:10px;font-size:10px;color:#6c757d;text-align:center;line-height:1.5}
.psig{display:none;margin-top:35px;justify-content:space-between;align-items:center;font-size:11px;color:#000;padding:0 20px}
.psig .sig-box{text-align:center;width:40%;position:relative;height:60px;display:flex;flex-direction:column;justify-content:flex-end}
.psig .ln{border-top:1px solid #000;margin-bottom:4px;width:100%}
.psig .nm{font-weight:bold;color:#000}
.sync{position:fixed;top:10px;right:10px;background:#1a3a6b;color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;z-index:999;display:none;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.sync.show{display:flex}
.sync .dot{width:8px;height:8px;border-radius:50%;background:#1c7ed6;animation:pulse 1s infinite}
@keyframes pulse{0%{opacity:1}50%{opacity:.3}100%{opacity:1}}
.alertb{background:#e7f5ff;border:2px solid #1c7ed6;border-radius:10px;padding:14px;margin-bottom:12px;display:none;position:relative}
.alertb.show{display:block}
.alertb h3{color:#1864ab;font-size:15px;margin-bottom:6px;font-weight:700}
.alertb .ae{padding:8px 0;border-bottom:1px solid #bac8ff;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.alertb .ae:last-child{border:none}
.alertb .ae strong{color:#1a3a6b}
.fatura-alert{background:#fff9db;color:#f08c00;border:1px solid #ffe066;padding:10px 14px;border-radius:8px;font-weight:bold;margin-bottom:12px;display:none}
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:10px}
.img-card{position:relative;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#f8f9fa;height:100px}
.img-card img{width:100%;height:100%;object-fit:cover}
.img-card .del-img{position:absolute;top:4px;right:4px;background:rgba(201,42,42,0.9);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:bold;font-size:12px}
.pdf-photos{display:none;margin-top:20px}
.pdf-photos h3{font-size:12px;color:#1a3a6b;margin-bottom:8px;border-bottom:1px solid #1a3a6b;padding-bottom:4px;text-transform:uppercase;letter-spacing:0.5px}
.pdf-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pdf-photo-grid img{width:100%;height:130px;object-fit:cover;border:1px solid #dee2e6;border-radius:6px}
.foto-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.btn-foto-opt{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 5px rgba(0,0,0,.05);border:none;flex:1;min-width:140px;color:#fff!important}
.btn-foto-opt.cam{background:#1a3a6b} .btn-foto-opt.gal{background:#1c7ed6}
.btn-foto-opt:hover{transform:translateY(-1px)}
.map-box{width:100%;height:220px;border-radius:8px;overflow:hidden;margin-top:8px;border:1px solid #dee2e6;display:none}
.fab-save{position:fixed;bottom:25px;right:25px;background:#2b8a3e;color:#fff;border:none;border-radius:30px;padding:14px 24px;font-size:16px;font-weight:700;cursor:pointer;z-index:900;box-shadow:0 6px 20px rgba(43,138,62,.4);transition:transform .2s}
.fab-save:hover{transform:scale(1.05)}
.mc-box{background:#fff;width:100%;max-width:500px;padding:20px;border-radius:12px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,0.2)}
.mc-box h3{color:#1a3a6b;margin-bottom:15px;font-size:18px}
.trial-badge{position:absolute;top:15px;right:15px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;color:#fff;display:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.badge-notif{background:#c92a2a;color:#fff;border-radius:50%;padding:2px 7px;font-size:11px;position:absolute;top:-5px;right:-5px;display:none;font-weight:bold}
.progress-bar-wrapper{width:100%;background:#e9ecef;border-radius:4px;overflow:hidden;margin-top:5px;height:8px}
.progress-fill{height:100%;border-radius:4px;transition:width 0.3s}
.admin-form-row { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.admin-form-col { flex: 1; min-width: 150px; position: relative; }
.admin-input-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); opacity: 0.6; font-size: 14px; }
.admin-form-col input, .admin-form-col select { padding-left: 36px !important; height: 42px; margin: 0; }
.admin-form-btn { height: 42px; padding: 0 20px; margin: 0; white-space: nowrap; display: flex; align-items: center; justify-content: center; font-size: 14px; border-radius: 8px;}
.filters-row { display: flex; gap: 8px; margin-bottom: 15px; flex-wrap: wrap; }
.btn-filter { border: none; padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.btn-filter:hover { transform: translateY(-1px); }
.f-todos { background: #e9ecef; color: #495057; } .f-todos.active { background: #495057; color: #fff; }
.f-ativos { background: #ebfbee; color: #2b8a3e; } .f-ativos.active { background: #2b8a3e; color: #fff; }
.f-vencer { background: #fff9db; color: #e67700; } .f-vencer.active { background: #f59f00; color: #fff; }
.f-bloq { background: #fff5f5; color: #c92a2a; } .f-bloq.active { background: #c92a2a; color: #fff; }
#toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; pointer-events:none;}
.toast { pointer-events:auto; background: #fff; color: #333; padding: 12px 16px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); font-size: 13px; font-weight: 500; opacity: 0; transform: translateX(120%); transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); display: flex; align-items: center; gap: 12px; border-left: 4px solid #1c7ed6; min-width: 250px; max-width:350px;}
.toast.show { opacity: 1; transform: translateX(0); }
.toast.success { border-left-color: #2b8a3e; } .toast.error { border-left-color: #c92a2a; }

.modal-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:2000; padding:20px; align-items:center; justify-content:center; }
.modal-overlay.show { display:flex; }

.btn-pulse { animation: pulse-btn 2s infinite; background: #1c7ed6; color:#fff!important; font-weight:bold; padding: 12px 20px; border-radius: 8px; border:none; cursor:pointer; width:100%; font-size:15px; margin-bottom: 15px; transition: all 0.3s ease; box-shadow:0 4px 6px rgba(0,0,0,0.1); }
.btn-pulse:hover { filter: brightness(1.1); transform: translateY(-1px); }
@keyframes pulse-btn { 0% { box-shadow: 0 0 0 0 rgba(28, 126, 214, 0.5); } 70% { box-shadow: 0 0 0 10px rgba(28, 126, 214, 0); } 100% { box-shadow: 0 0 0 0 rgba(28, 126, 214, 0); } }
.manual-content { display: none; background: #fff; padding: 20px; border-radius: 10px; font-size:14px; line-height: 1.6; border: 1px solid #e9ecef; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.manual-content details { margin-bottom:12px; border:1px solid #dee2e6; border-radius:8px; overflow:hidden; background:#f8f9fa; }
.manual-content details summary { font-weight:bold; cursor:pointer; color:#1a3a6b; padding:12px 15px; outline:none; background:#e7f5ff; font-size:15px; transition:background 0.2s; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.manual-content details summary::-webkit-details-marker { display:none; }
.manual-content details summary::after { content:'+'; font-size:18px; color:#1c7ed6; font-weight:bold; }
.manual-content details[open] summary { background:#1a3a6b; color:#fff; }
.manual-content details[open] summary::after { content:'-'; color:#fff; }
.manual-content .m-body { padding:15px; background:#fff; color:#495057; border-top:1px solid #dee2e6; }
.manual-content .m-body ul { margin-left:20px; margin-top:8px; margin-bottom:8px; }

@media print{
.np{display:none!important}
body{background:#fff;padding:15px;color:#000;font-size:12px}
.nav,.page:not(.active){display:none!important}
.hp{display:none!important}
.ph{display:block!important}
.pcond{display:block!important}
.pf{display:block!important}
.psig{display:flex!important}
.pdf-photos{display:block!important}
.sec{box-shadow:none;border:none;border-bottom:1px solid #dee2e6;padding:8px 0;margin-bottom:8px;border-radius:0}
.sec h2{border:none;font-size:12px;color:#1a3a6b;text-transform:uppercase}
.f input,.f textarea,.f select{border:none;color:#000;font-size:12px;padding:5px}
table{font-size:11px}
.ft th{background:#1a3a6b!important;color:#fff!important;border:none;padding:6px;font-size:10px;text-transform:uppercase}
td{border:none;border-bottom:1px solid #dee2e6;color:#000;padding:4px 6px;font-size:11px}
td input{border:none;font-size:10px;color:#000}
.bar{display:none!important}
.rr.t{border-top:2px solid #1a3a6b}
.rr span{color:#000}
.rr{font-size:12px}
.rr.t{font-size:14px;color:#1a3a6b}
.res{border-left:none}
.ph .pcl{background:#f8f9fa!important;-webkit-print-color-adjust:exact;border-left:4px solid #1a3a6b!important}
.pf{border-top:1px solid #ced4da}
.sub{color:#000}
.sync{display:none!important}
.alertb{display:none!important}
#toast-container{display:none!important}
}
@media(max-width:700px){
.g2,.cf,.fs{grid-template-columns:1fr}
.res{max-width:100%}
.ds{grid-template-columns:1fr 1fr}
.pdf-photo-grid{grid-template-columns:repeat(2,1fr)}
.admin-form-row { flex-direction: column; }
.auth-box-top{position:relative;top:auto;left:auto;margin-bottom:15px;max-width:100%;}
.trial-badge{position:relative;top:auto;right:auto;display:inline-block;margin-bottom:10px;}
.hp{padding-top:10px;}
}
