*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#20394d;font:15px/1.5 Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;background:#087f8c;color:white;font-weight:600}button:hover{filter:brightness(.95)}button.secondary{background:#eaf1f6;color:#244558}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;padding:10px;border:1px solid #d8e3ec;border-radius:8px;background:white;color:#20394d}label{display:block;font-size:13px;font-weight:600}label input,label select,label textarea{margin-top:6px}h1{font-size:30px;letter-spacing:-1px;margin:4px 0}h2{font-size:18px;margin:0 0 16px}p{margin:8px 0}small{display:block;color:#758697;font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#142f43;color:#c5d7e3;padding:25px 17px;overflow:auto}.logo{width:174px;height:62px;object-fit:contain}.brand{font-size:25px;color:white;font-weight:700;margin:17px 10px 2px}.sidebar small{margin:0 10px 25px;color:#8db1c4}.nav{display:block;width:100%;text-align:left;background:transparent;color:#b8cedc;margin:3px 0;padding:11px 14px}.nav.active{background:#087f8c;color:white}.nav span{display:inline-block;width:25px}.sidefoot{margin:30px 10px;font-size:12px;color:#92aabc}.main{margin-left:238px}header{background:white;border-bottom:1px solid #e1e9f0;padding:15px 34px;display:flex;justify-content:space-between;align-items:center}.avatar{background:#d9f2f1;color:#087f8c;padding:9px;border-radius:50%;margin-right:8px}.content{padding:28px 34px;max-width:1550px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#087f8c}.muted{color:#778b9d}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.card,.panel{background:white;border:1px solid #e1e9f0;border-radius:14px;padding:23px}.card strong{display:block;font-size:30px;margin:9px 0}.card:first-child{background:#087f8c;color:white;border:0}.card:first-child small{color:#c5eded}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{margin-bottom:22px}.paneltop{display:flex;justify-content:space-between;align-items:center;gap:12px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:11px;color:#7c91a2;text-transform:uppercase;letter-spacing:.7px;background:#f7f9fc}th,td{padding:14px 12px;border-bottom:1px solid #edf1f5;white-space:nowrap}td button{padding:6px 10px;font-size:12px;margin:2px}.badge{display:inline-block;background:#e0f5ee;color:#148468;border-radius:6px;padding:4px 9px;font-size:12px}.badge.warn{background:#fff0d6;color:#a96b11}.badge.neutral{background:#edf1f8;color:#617689}.filters{display:flex;gap:12px;margin-bottom:18px}.filters input{max-width:350px}.notice{background:#eaf4f7;border-left:3px solid #1496a6;padding:13px 17px;font-size:13px;margin:15px 0;color:#466779}.agenda{display:flex;gap:17px;padding:16px 0;border-bottom:1px solid #edf1f5}.agenda time{font-size:16px;color:#087f8c;font-weight:700;min-width:50px}.agenda strong{display:block}.agenda .badge{margin-left:auto;align-self:center}.hero{border-radius:14px;background:linear-gradient(110deg,#dff3f3,#e8eefb);padding:25px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.hero h2{font-size:24px;margin:0}.toothmark{font-size:66px;color:#087f8c}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.wide{grid-column:1/-1}dialog{border:0;border-radius:16px;padding:28px;width:620px;max-width:95vw;box-shadow:0 20px 100px #102b4355}dialog::backdrop{background:#122f4366}.buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.teeth{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:18px 0}.tooth{background:#f0f5f9;color:#486479;border:1px solid #d4e2ec;padding:12px 4px}.tooth.marked{background:#fff0d6;color:#a96b11;border-color:#e8bd73}.tooth.done{background:#dcf4ec;color:#148468}.legend{font-size:13px;display:flex;gap:15px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.loginintro{background:#142f43;color:white;padding:10vw 7vw}.loginintro h1{font-size:49px;line-height:1.15;margin:30px 0 20px}.loginintro p{color:#bfd3e2}.loginform{padding:8vw;display:flex;flex-direction:column;justify-content:center}.loginform label{margin:17px 0}.loginform button{width:100%}.error{color:#ba3d3d;font-size:13px}#toast{position:fixed;bottom:25px;right:25px;background:#142f43;color:white;border-radius:9px;padding:14px 22px;display:none;z-index:10}.bars{display:flex;align-items:end;gap:15px;height:160px;margin:25px 0}.bar{flex:1;background:#22a4aa;border-radius:6px 6px 0 0;position:relative;min-height:3px}.bar span{position:absolute;bottom:-25px;left:0;width:100%;text-align:center;font-size:12px;color:#7c91a2}.balance{font-size:24px;font-weight:700;color:#087f8c}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.sidebar{width:190px}.main{margin-left:190px}.content{padding:22px}.logo{width:150px}}@media(max-width:650px){.sidebar{position:static;width:100%;padding:12px;display:flex;gap:5px;flex-wrap:wrap}.sidebar .logo,.sidebar small,.sidefoot{display:none}.brand{width:100%;margin:0 8px}.nav{width:auto;font-size:12px;padding:7px}.nav span{display:none}.main{margin:0}header{padding:12px}.content{padding:15px}.heading{align-items:start;flex-direction:column}.stats{gap:10px}.card{padding:15px}.card strong{font-size:24px}.login{grid-template-columns:1fr}.loginintro{padding:30px}.loginintro h1{font-size:32px}.loginform{padding:30px}.formgrid{grid-template-columns:1fr}.hero{padding:20px}.toothmark{display:none}}
/* Identidad Servitel Cloud: colores vivos y lectura amplia. */
:root{font-synthesis:none}body{font-size:16px}h1{font-size:34px;font-weight:800}h2{font-size:21px;font-weight:750}.sidebar{background:linear-gradient(175deg,#17376c,#172e51)}.nav{font-size:15px}.nav.active{background:linear-gradient(110deg,#147de2,#14aacf)}.sidebar a,.loginintro a{color:#c2edff}.hero{background:linear-gradient(115deg,#1663d9,#168ecf);color:white;box-shadow:0 9px 25px #1267d022}.hero .eyebrow{color:#c0e7ff}.hero h2{font-size:28px}.hero .toothmark{color:white}.card{border:0;border-left:4px solid #168fe5;background:#e5f1ff}.card:first-child{background:linear-gradient(120deg,#157bd5,#079bb8);color:white}.card:nth-child(2){background:#dff8ee;border-color:#09a77c;color:#087957}.card:nth-child(3){background:#fff1cf;border-color:#f1a416;color:#9a630e}.card:nth-child(4){background:#eee7ff;border-color:#915cf0;color:#6a3ca9}.card strong{font-size:33px;font-weight:800}button{background:#147add}button.secondary{background:#e8f1fc;color:#21629c}header a{font-size:14px;color:#1763b0;margin-right:12px}.actionbar,.quickactions{display:flex;gap:9px;flex-wrap:wrap}.quickactions{margin-top:20px}.loginintro{background:linear-gradient(145deg,#123872,#166de1)}.loginfeatures{display:grid;gap:15px;margin:35px 0}.loginintro .eyebrow{color:#8ee4ff}.loginintro a{font-weight:600}.loginform a{color:#1763b0;font-size:14px}.demoline{font-size:12px;color:#6c8092}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.checks label{font-weight:400}.checks input{width:auto;margin-right:7px}.quoteline{display:grid;grid-template-columns:2fr .65fr 1fr auto;gap:9px;align-items:end;border-bottom:1px solid #e0e8f1;padding:12px 0;margin-bottom:12px}.quoteline input,.quoteline select{font-size:13px}.quoteline .line-name{margin-top:5px}.teeth{grid-template-columns:repeat(16,1fr)}.tooth{font-size:12px}.toothicon{display:block;font-size:28px}.tooth small{font-size:9px;white-space:normal}.webbutton{display:inline-block;border-radius:8px;background:#147add;color:white;text-decoration:none;padding:11px 18px}.filters label{min-width:200px}.filters select,.filters input{max-width:300px}.balance{margin-left:auto;white-space:nowrap;font-size:20px}.loginform .notice{font-size:12px}@media(max-width:1100px){.teeth{grid-template-columns:repeat(8,1fr)}header{padding:15px 22px}.balance{font-size:16px}}@media(max-width:650px){h1{font-size:29px}.hero h2{font-size:23px}.filters{flex-wrap:wrap}.card strong{font-size:27px}.quoteline{grid-template-columns:2fr 1fr 1fr}.quoteline .remove-line{grid-column:3}.nav{font-size:12px}header>div:last-child{white-space:nowrap}header strong{font-size:13px}.teeth{gap:5px}.tooth{padding:8px 1px}.checks{grid-template-columns:1fr}}@media print{body{background:white}.sidebar,header,.heading,#toast,.demoline,.buttons,.filters,button{display:none!important}.main{margin:0}.content{padding:0}.card,.panel{break-inside:avoid}body:has(dialog[open]) #app{display:none}dialog[open]{position:static;width:100%;max-width:none;box-shadow:none;border:0}dialog::backdrop{background:white}}
@media(max-width:650px){.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar{padding:12px;gap:8px}.sidebar .nav{margin:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel,.grid>*{min-width:0}.grid{grid-template-columns:minmax(0,1fr)}.card strong{font-size:24px}.card small{font-size:11px}.content{width:100%}header{gap:8px;flex-wrap:wrap}.hero{min-width:0}.agenda{gap:8px;flex-wrap:wrap}.agenda .badge{margin-left:0}.teeth{grid-template-columns:repeat(8,minmax(0,1fr))}.filters input,.filters select{max-width:100%}.quoteline{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}}
