:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#24344d;background:#fff;font-synthesis:none;--accent:#2C75FF;--muted:#728096;--line:#e2e8f2}*{box-sizing:border-box}body{margin:0;position:relative}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9c6ff;outline-offset:3px}[hidden]{display:none!important}.photo{position:fixed;top:0;right:0;width:75%;height:620px;z-index:-1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.80) 43%,rgba(255,255,255,.57) 100%),linear-gradient(0deg,#fff 0%,transparent 85%),url('elcotel.jpg') center 45%/cover no-repeat;opacity:.78}.site-header{max-width:1180px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:#304563;font-size:14px;font-weight:650;display:flex;gap:10px;align-items:center}.brand-mark{background:#2C75FF;color:#fff;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;font-weight:400}.header-note{font-size:12px;color:#687a96}main{max-width:1040px;margin:auto;padding:0 40px}.intro{padding:45px 0 32px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--accent);margin:0 0 14px}h1{font-size:37px;line-height:1.2;letter-spacing:-1.2px;margin:0 0 12px;font-weight:650}.intro>p:last-child{font-size:14px;color:#687a96;margin:0}.panel{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);margin-bottom:18px;box-shadow:0 4px 20px #263e6604;padding:25px 28px}.section-heading{display:flex;gap:13px;align-items:flex-start}.number{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--accent);background:#edf3ff;min-width:28px;height:28px;border-radius:8px;display:grid;place-items:center}h2{font-size:17px;letter-spacing:-.2px;margin:0;font-weight:650}.section-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}.prefix-fields{display:flex;gap:16px;align-items:center;margin:24px 0 0 41px}.prefix-fields label{font-size:12px;font-weight:650;display:block}.prefix-fields label span{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}.prefix-fields input{display:block;width:160px;padding:11px 14px;margin-top:8px;font-size:18px;letter-spacing:2px}.separator{color:#97a4b8;font-size:22px;margin-top:25px}input,select{border:1px solid #dce4f0;background:#fcfdff;border-radius:7px;color:#293c59;transition:border-color .15s}input:hover,select:hover{border-color:#9ab8ef}input:focus,select:focus{border-color:#2C75FF}input::placeholder{color:#a9b6ca;font-size:13px;letter-spacing:0}#prefix-hint{font-size:11px;color:var(--muted);line-height:1.6;margin:25px 0 0 9px}.rates{padding-bottom:14px}.table-scroll{overflow-x:auto;padding-top:10px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-weight:550;font-size:11px;color:#5f718c;white-space:nowrap;text-align:left;padding:15px 10px 13px;border-bottom:1px solid var(--line)}th:first-child{padding-left:0;width:23%}th small{font-size:10px;font-weight:400;color:#95a3b8;display:block;margin-top:6px}td{padding:9px 10px;border-bottom:1px solid #edf1f7}td:first-child{padding-left:0}tbody tr:last-child td{border-bottom:0}td input{width:100%;min-width:85px;max-width:135px;padding:9px 12px;font-variant-numeric:tabular-nums;font-size:13px}.money{position:relative}.money::before{content:'$';position:absolute;left:11px;top:10px;color:#98a5bb;font-size:12px}.money input{padding-left:25px}.help{position:relative;border:1px solid #b5cafa;color:#2C75FF;background:transparent;border-radius:50%;width:15px;height:15px;font-size:9px;padding:0;line-height:12px;vertical-align:middle;margin-left:3px}.help [role=tooltip]{display:none;position:absolute;top:22px;left:50%;transform:translateX(-50%);width:205px;white-space:normal;background:#2C75FF;color:#fff;padding:11px 13px;border-radius:7px;box-shadow:0 6px 20px #203e6622;font-size:11px;font-weight:400;line-height:1.5;z-index:10;text-align:left}.help:hover [role=tooltip],.help:focus [role=tooltip],.help.open [role=tooltip]{display:block}td .help [role=tooltip]{left:0;transform:none}.output{display:flex;align-items:center;justify-content:space-between;gap:20px}.output select{font-size:13px;width:240px;padding:12px 14px}.form-actions{display:flex;align-items:center;justify-content:space-between;padding:4px 0 24px}.form-actions p{font-size:12px;color:var(--muted)}.primary{border:0;background:#2C75FF;color:#fff;border-radius:8px;font-size:13px;font-weight:600;padding:13px 23px;min-width:148px;display:flex;align-items:center;justify-content:space-between;gap:24px}.primary:hover:enabled{background:#1f5ed6}.primary:disabled{background:#e4ecfb;color:#8a9cba;cursor:not-allowed}.database-title{display:flex;align-items:center;justify-content:space-between;gap:15px}#database-status{font-size:10px;color:#356ac6;background:#edf3ff;border-radius:20px;padding:6px 10px}#lookup-message{font-size:12px;color:#6d7e98;line-height:1.6}dl{display:grid;grid-template-columns:150px 1fr;font-size:12px;gap:14px 25px;margin-top:23px}dt{color:#7a889f}dd{margin:0;overflow-wrap:anywhere}.npa-chip{display:inline-block;padding:5px 9px;border:1px solid var(--line);border-radius:5px;margin:0 7px 7px 0;font-variant-numeric:tabular-nums}.secondary{border:1px solid #cddbf3;background:#fff;color:#2C75FF;border-radius:7px;padding:9px 13px;font-size:12px}.review table td{padding:12px 10px}.review p{font-size:13px;color:#728096}.review-note{line-height:1.6;margin:20px 0}footer{border-top:1px solid var(--line);margin-top:15px;padding:23px 0 30px;display:flex;justify-content:space-between;font-size:10px;color:#8d9bb1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.site-header{padding:22px}.header-note{display:none}main{padding:0 18px}.intro{padding:28px 2px}.intro h1{font-size:29px}.intro>p:last-child{line-height:1.6}.panel{padding:20px 17px}.prefix-fields{margin-left:0;gap:10px;flex-wrap:wrap}.prefix-fields input{width:125px}.prefix-fields label span{font-size:10px}#prefix-hint{width:100%;margin:0}#prefix-hint br{display:none}.photo{width:100%;height:420px;opacity:.52}.output{align-items:stretch;flex-direction:column}.output select{width:100%}.form-actions{gap:15px}.form-actions p{max-width:180px;line-height:1.6}.primary{min-width:130px}.table-scroll table{min-width:580px}dl{grid-template-columns:110px 1fr;gap:14px}.database-title{align-items:flex-start}.database-title h2{font-size:16px}footer{gap:15px}}

/* Compact rate entry with readable, regular-weight text. */
.intro{padding:24px 0}.intro>p:last-child{font-size:19px}
.rates .section-heading p,.rates table,.rates th,.rates td input{font-size:17px;font-weight:400;line-height:1.2}
.rates .section-heading p{margin-top:4px}
.rates table{width:auto;min-width:0}
.rates th{padding:8px 14px 8px 0;white-space:normal}
.rates th:first-child{width:auto}
.rates td{padding:3px 14px 3px 0;white-space:nowrap}
.rates td input{width:76px;min-width:76px;max-width:76px;height:29px;padding:3px 6px;appearance:textfield;-moz-appearance:textfield}
.rates td input::-webkit-inner-spin-button,.rates td input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rates .money input{padding-left:19px}
.rates .money::before{left:6px;top:5px;font-size:17px;line-height:1.2}
.rates .table-scroll{padding-top:6px}
.rates .help [role=tooltip]{font-size:13px}
@media(max-width:700px){.intro{padding:22px 2px}.rates table{min-width:580px}}
/* Match output controls to the rate-entry text. */
.output .section-heading p,.output select,.primary{font-size:17px;font-weight:400}

/* Callouts live outside table overflow and choose a visible screen position. */
.floating-tooltip{position:fixed;z-index:1000;width:230px;max-width:calc(100vw - 20px);background:#2C75FF;color:#fff;padding:11px 13px;border-radius:7px;box-shadow:0 6px 20px #203e6622;font-size:13px;font-weight:400;line-height:1.5;text-align:left;white-space:normal}
.rates .table-scroll{overflow-y:hidden}
.output-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;margin-bottom:18px}.output-row .output{min-width:0;margin-bottom:0}
.database{min-width:0}
.output-row .form-actions{grid-column:2;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0}
.output-row .form-actions p{margin:0;line-height:1.5;font-size:12px}
.output-row .form-actions p:empty{display:none}
.database dl{grid-template-columns:145px minmax(0,1fr);gap:13px 16px}
.local-npa-label,.npa-code{font-size:17px;font-weight:400}
.npa-entry{white-space:nowrap;line-height:1.8}
.npa-count{font-size:12px}
@media(max-width:700px){.output-row{grid-template-columns:minmax(0,1fr);gap:16px}.output-row .form-actions{grid-column:1;align-items:flex-end}.output-row .form-actions p{max-width:none}.database dl{grid-template-columns:125px minmax(0,1fr);gap:13px 12px}}
/* Halve vertical spacing around fields and section frames. */
.site-link{color:var(--accent);text-decoration:none}.site-link:hover{text-decoration:underline}
.panel{padding-top:12.5px;padding-bottom:12.5px;margin-bottom:9px}
.rates{padding-bottom:7px}
.output-row{margin-bottom:9px}
.prefix-fields{margin-top:12px}
.prefix-fields input{padding-top:5.5px;padding-bottom:5.5px;margin-top:4px}
.separator{margin-top:12.5px}#prefix-hint{margin-top:12.5px}
.rates td{padding-top:1.5px;padding-bottom:1.5px}
.rates td input{height:26px;padding-top:1.5px;padding-bottom:1.5px}
.rates .money::before{top:3.5px}
.output select{padding-top:6px;padding-bottom:6px}
@media(max-width:700px){.panel{padding-top:10px;padding-bottom:10px}.rates{padding-bottom:7px}#prefix-hint{margin-top:0}}
.rates .section-heading .rate-guidance{font-size:12px;font-weight:400;line-height:1.5;margin-top:6px}

/* Call-category colors apply to all four editable fields in each row. */
.rates input[name^="local_"],.rates input[name^="intra_"]{background:#d2ffc7}
.rates input[name^="inter_"],.rates input[name^="state_"]{background:#f7eee1}
.rates input[name^="free_"]{background:#e1eff7}
.rates input[name^="canada_"]{background:#feffc7}
.rates input[name^="other_"]{background:#fcbdbf}
/* Call-category colors apply to all four editable fields in each row. */
.rates input[name^="local_"],.rates input[name^="intra_"]{background-color:#d2ffc7}
.rates input[name^="inter_"],.rates input[name^="state_"]{background-color:#feffc7}
.rates input[name^="free_"]{background-color:#e1eff7}
.rates input[name^="canada_"]{background-color:#f7eee1}
.rates input[name^="other_"]{background-color:#fcbdbf}
/* Format-specific option occupies its own line. */
.output{display:grid;grid-template-columns:1fr auto;align-items:center}.output .file-options{grid-column:2;text-align:right}.output .file-options[hidden]{display:none}
.switch-label{display:inline-flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.switch-label input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:36px;height:20px;border-radius:12px;background:#aab7ca;position:relative;transition:background .15s}.switch-track::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;background:white;border-radius:50%;transition:transform .15s}.switch-label input:checked+.switch-track{background:#2C75FF}.switch-label input:checked+.switch-track::after{transform:translateX(16px)}.switch-label input:focus-visible+.switch-track{outline:3px solid #a9c6ff;outline-offset:3px}
@media(max-width:700px){.output{display:flex}.output .file-options{width:100%}}
.copy-code{display:inline-grid;place-items:center;width:28px;height:26px;padding:0;font-size:17px;line-height:1;vertical-align:middle}
