:root{font-family:Segoe UI,Arial,sans-serif;color:#182e46;background:#f3f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:230px;background:#102d4b;color:white;min-height:100vh;position:fixed;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:42px;font-weight:700;text-decoration:none;color:white}.brand span{font-weight:300;font-size:30px}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:5px}nav{display:grid;gap:10px;margin-top:55px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ced8e4;background:white;color:#173c60;border-radius:7px;padding:10px 16px;font-weight:600}button:hover{background:#eaf3fc}button:focus-visible,a:focus-visible{outline:3px solid #169cb8;outline-offset:3px}nav button{background:transparent;color:#ccdaea;border:0;text-align:left}nav button.active{background:#24527c;color:white}.session{margin-top:auto;font-size:14px;padding-top:60px}.session select{font-size:14px}.session p{color:#c0d1e2;font-size:13px}main{margin-left:230px;width:calc(100% - 230px);padding:24px 42px 60px;max-width:1700px}.demo{font-size:13px;color:#5d7187;border-bottom:1px solid #d7e0e9;padding-bottom:15px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0}.eyebrow{font-size:12px;letter-spacing:2px;color:#48789b}h1{font-size:30px;font-weight:600;margin:8px 0}h2{font-size:21px;margin-top:0}h3{font-size:17px}p{line-height:1.6}.primary{background:#1266a3;border-color:#1266a3;color:white}.primary:hover{background:#0b4b7b}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.card{background:white;border:1px solid #dde5ed;border-radius:12px;padding:24px;margin-bottom:18px}.stat strong{font-size:34px;display:block;margin:12px 0}.muted{color:#64758a;font-size:14px}.empty{text-align:center;padding:55px 24px}.row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid #e6ecf1}.row:last-child{border:0}.row p{margin:4px 0}.tag{display:inline-block;border-radius:5px;background:#eaf1f8;color:#315d80;font-size:13px;padding:4px 8px}.actions{display:flex;gap:12px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}label{display:block;font-size:14px;font-weight:600;margin-bottom:15px}input,select{display:block;width:100%;border:1px solid #bfccd9;border-radius:6px;padding:10px;margin-top:7px;background:white;color:#18354e}input:focus,select:focus{outline:2px solid #2876b3;outline-offset:1px}.services{display:flex;flex-wrap:wrap;gap:12px}.services label{display:flex;align-items:center;gap:8px;background:#edf3f8;padding:8px 12px;border-radius:6px;font-size:14px}.services input{width:auto;margin:0}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:870px;text-align:left;font-size:14px}th{padding:12px 8px;background:#edf3f8;font-weight:600}td{padding:8px;border-bottom:1px solid #e2e8ef}td input{min-width:87px;margin:0;padding:8px}td:first-child input{min-width:72px}td button{padding:8px}td output{white-space:nowrap}.economic{border-left:4px solid #168ea8}.summary{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.summary strong{font-size:25px;display:block;margin-top:6px}.error{background:#fff0ed;color:#a13321;padding:12px;border-radius:6px}.success{background:#e5f2ef;color:#145748;padding:12px;border-radius:6px}dialog{border:0;border-radius:12px;max-width:560px;width:95%;padding:28px;box-shadow:0 20px 70px #142d4b50}dialog::backdrop{background:#102d4b66}.dialog-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-title h2{margin:0}.dialog-title button{border:0;font-size:22px}.search{max-width:450px}a{color:#1266a3}.locked{color:#64758a}fieldset{border:0;padding:0;margin:0}button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:800px){body{display:block}aside{position:static;width:100%;min-height:0;padding:16px;display:block}.brand{font-size:28px}.brand small{display:none}nav{display:flex;margin:15px 0 0}.session{padding:0;margin:15px 0 0}.session p{display:none}.session label{margin:0}.session select{width:180px;display:inline;margin-left:10px}main{margin:0;width:100%;padding:18px}.stats{gap:8px}.stat{padding:14px}.grid{grid-template-columns:1fr}header{align-items:flex-start}h1{font-size:25px}.card{padding:18px}.row{align-items:flex-start}.row .actions{flex-direction:column}}

main,fieldset{min-width:0}
.scroll{max-width:100%}
.tiers{width:100%;min-width:0;table-layout:fixed;font-size:13px;text-align:left}
.tiers th{padding:14px 8px;vertical-align:middle;line-height:1.4;text-align:left}
.tiers td{padding:16px 8px;vertical-align:top}
.tiers th[scope=row]{background:white;vertical-align:top;padding-top:26px;color:#64758a}
.tiers input,.tiers td:first-child input{width:100%;min-width:0;height:40px;padding:8px;font-size:13px}
.tiers output{display:block;white-space:nowrap;padding:11px 0;font-weight:700;font-size:14px;color:#173c60}
.tiers small{display:block;margin-top:8px;line-height:1.5;font-size:12px}
.minimum{color:#526c80}.below-minimum{color:#a13321;font-weight:600}
.tiers td button{padding:10px 4px;width:100%;font-size:12px;border-color:transparent;background:transparent;font-weight:500}
.tiers td button:hover{background:#fff0ed;color:#a13321}
.tiers select{font-size:12px;padding:8px 3px;margin:0}
@media(max-width:1050px) and (min-width:801px){main{padding:22px}.card{padding:18px}.tiers th,.tiers td{padding-left:5px;padding-right:5px}}
@media(max-width:650px){.tiers{min-width:660px}}
.tiers{min-width:740px}.tiers-mixed{min-width:850px}.tiers th,.tiers td{overflow-wrap:normal}.tiers output{font-variant-numeric:tabular-nums}.tiers select{width:100%;min-width:0}

#contract-dialog{max-width:1050px;max-height:92vh;overflow:auto}#contract-preview{width:100%;height:65vh;border:1px solid #d7e0e9;border-radius:8px;margin-top:20px}#contract-error{margin:15px 0;line-height:1.5}#download-contract{padding:12px}#contract-form .grid{gap:0 18px}

#contract-preview{height:auto;display:block;background:white}#contract-preview[hidden],#contract-pages[hidden]{display:none}#contract-pages label{margin:0}#contract-pages select{margin-top:4px}

.cae-option{margin:18px 0;padding:16px 18px;background:#f3f6fa;border-radius:8px}.cae-option label{display:flex;align-items:center;gap:10px;margin:0}.cae-option input{width:auto;margin:0;flex-shrink:0}.cae-option p{margin:8px 0 0}
#signature-dialog{width:min(720px,92vw);max-height:90vh;overflow:auto;padding:28px}#signature-canvas{display:block;width:100%;height:auto;aspect-ratio:1000/320;background:#fff;border:2px solid #bcccdc;border-radius:10px;touch-action:none;margin:8px 0 12px}.signature-notice{padding:12px 16px;background:#fff3d8;border-radius:8px}.signature-accept{display:flex;align-items:flex-start;gap:12px;margin:24px 0}.signature-accept input{width:auto;flex-shrink:0;margin-top:5px}#signature-result a{display:inline-block;padding:12px;border:1px solid #bcccdc;border-radius:7px}#signature-result[hidden],#signature-form[hidden]{display:none}

#offer-client-dialog{width:min(960px,94vw);max-width:94vw}#offer-client-dialog textarea{width:100%;box-sizing:border-box;padding:12px;font:inherit;border:1px solid #bbcddd;border-radius:6px}

/* Logo oficial proporcionado por KDOS; se conserva el PNG transparente. */
.brand{display:block}.brand img{display:block;width:186px;max-width:100%;height:auto;object-fit:contain}.brand small{text-align:center}.login .brand{background:#102d4b;border-radius:10px;padding:14px 24px;color:white!important}.login .brand img{width:230px;margin:auto}@media(max-width:800px){.brand img{width:150px}}
/* Gestión del equipo */
#team-dialog{max-width:860px;width:calc(100% - 32px);max-height:90vh;padding:0;border:1px solid #dce5ee;border-radius:20px;color:#182e46;font-family:Segoe UI,Arial,sans-serif}
#team-dialog [hidden]{display:none!important}
.team-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 22px;background:#f5f8fc;border-bottom:1px solid #e2e9f0}
.team-header .eyebrow{font-size:10px;letter-spacing:1.8px;margin:0 0 9px}.team-header h2{font-size:26px;margin:0;font-weight:650}.team-header .muted{margin:8px 0 0}
#close-team{border:0;background:#e9eff6;width:36px;height:36px;padding:0;border-radius:50%;font-size:25px;line-height:1;color:#45617c}
.team-body{padding:24px 32px}.team-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.team-toolbar>span{font-size:14px;font-weight:600;color:#64758a}.team-toolbar button{font-size:14px;padding:10px 16px;border-radius:8px}
#team-list{border:1px solid #e0e8f0;border-radius:12px;overflow:hidden}.team-user+.team-user{border-top:1px solid #e6edf3}.team-user-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:20px}.team-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eaf2fa;color:#226497;font-size:14px;font-weight:650}.team-identity{margin:0;min-width:0;line-height:1.5}.team-identity strong{display:block;font-size:14px;font-weight:600}.team-email{display:block;color:#6a7f92;font-size:12px;overflow-wrap:anywhere}.team-badge{font-size:11px;font-weight:600;border-radius:20px;padding:5px 10px;white-space:nowrap}.team-badge.commercial{background:#eaf2fd;color:#285e9b}.team-badge.manager{background:#e6f3ef;color:#28715c}.team-badge.admin{background:#f0edfa;color:#695493}.team-edit{font-size:12px;border:0;background:transparent;padding:8px;color:#236899;white-space:nowrap}.team-editor{padding:20px;background:#f6f9fc;border-top:1px solid #e5edf5}.team-editor label{max-width:280px}.team-editor .muted{font-size:12px;line-height:1.6;max-width:610px}.team-editor .actions button{font-size:13px}.team-editor [role=status]:empty,#team-feedback:empty{display:none}
#team-feedback{font-size:14px;color:#245e79;background:#eef6fa;padding:12px 16px;border-radius:8px}#team-create{margin-top:20px;background:#f6f9fc;border:1px solid #e1e9f1;border-radius:12px;padding:24px}#team-create h3{margin:0 0 6px}#team-create .muted{margin:0 0 20px}#team-create .grid{gap:0 18px}#team-create label{font-size:13px}#team-create input,#team-create select{font-size:14px}.team-footnote{font-size:12px;color:#7b8b9a;margin:20px 0 0}
@media(max-width:620px){.team-header{padding:22px 20px}.team-body{padding:20px}.team-header h2{font-size:23px}.team-user-top{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:16px}.team-avatar{width:36px;height:36px}.team-badge{grid-column:2;justify-self:start}.team-edit{grid-column:3;grid-row:1/3}.team-toolbar{gap:8px}.team-toolbar button{font-size:12px}.team-editor{padding:16px}#team-create{padding:18px}#team-create .grid{grid-template-columns:1fr}.team-identity strong{font-size:13px}}

.summary + .summary{margin-top:20px;padding-top:20px;border-top:1px solid #d7e0e9}
