:root{--ink:#18312f;--muted:#6c7d7a;--line:#e3ebe9;--paper:#fff;--bg:#f5f8f7;--brand:#087f76;--brand-dark:#05675f;--mint:#dff4ef;--coral:#ec765f;--violet:#5b5fc7;--shadow:0 12px 35px rgba(28,61,57,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#103b38;color:#d9eeeb;padding:28px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font:800 21px Manrope,sans-serif;color:#fff;margin:0 10px 42px}.brand-mark{width:35px;height:35px;border-radius:11px;background:#f6cc67;color:#123b38;display:grid;place-items:center}.sidebar nav{display:grid;gap:7px}.nav-link{display:flex;gap:13px;align-items:center;padding:12px 14px;border-radius:11px;color:#b9d4d0;font-weight:600}.nav-link:hover,.nav-link.active{background:#1b514d;color:white}.nav-link span{font-size:20px}.clinic-card{margin-top:auto;background:#194a46;border:1px solid #2e615d;border-radius:14px;padding:15px;display:grid;gap:5px}.clinic-card small{font-size:10px;letter-spacing:.12em;color:#8fb5b0}.clinic-card strong{font-size:13px}.clinic-card span{font-size:12px;color:#f6cc67}.main{margin-left:244px;min-height:100vh}.topbar{height:72px;background:#fffffff0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 38px;gap:30px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.topbar-clinic{font-size:13px;color:var(--muted)}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2abf88;margin-right:6px}.profile{display:flex;align-items:center;gap:9px}.profile>span{width:35px;height:35px;border-radius:50%;background:var(--mint);color:var(--brand);display:grid;place-items:center;font-weight:700}.profile div{display:grid}.profile strong{font-size:13px}.profile small{font-size:11px;color:var(--muted)}.menu-button{display:none}.content{max-width:1320px;padding:42px 46px 70px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading.compact{align-items:flex-start}.page-heading h1{font:800 34px/1.1 Manrope,sans-serif;margin:5px 0 8px;letter-spacing:-.04em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--brand)}.back{display:inline-block;color:var(--brand);font-weight:600;font-size:13px;margin-bottom:16px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 17px;font-weight:700;cursor:pointer;white-space:nowrap}.button.primary{background:var(--brand);color:white;box-shadow:0 6px 16px rgba(8,127,118,.18)}.button.primary:hover{background:var(--brand-dark)}.button.secondary{background:#edf2f1;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stats article{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.stats article div{display:grid}.stats small{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.stats strong{font:800 28px Manrope,sans-serif}.stats article div span{font-size:12px;color:var(--muted)}.stat-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font-size:21px}.stat-icon.mint{background:var(--mint);color:var(--brand)}.stat-icon.violet{background:#e9e8fa;color:var(--violet)}.stat-icon.coral{background:#fce7e2;color:var(--coral)}.panel,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.calendar-toolbar{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.date-nav{display:flex;align-items:center;gap:14px}.date-nav>a{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-size:22px}.date-nav div{display:grid;min-width:220px}.date-nav strong{text-transform:capitalize}.date-nav small{color:var(--brand)}.filters{display:flex;gap:10px}.filters input,.filters select,.search input,.search button{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:white;color:var(--ink)}.appointment-list{padding:8px 22px 20px}.appointment{display:grid;grid-template-columns:66px 4px 1fr auto;gap:16px;align-items:center;padding:17px 4px;border-bottom:1px solid #edf1f0}.appointment:last-child{border:0}.time{display:grid}.time strong{font-size:17px}.time span{font-size:11px;color:var(--muted)}.color-line{height:50px;border-radius:5px}.appointment-title{display:flex;align-items:center;gap:10px}.appointment-title a{font-weight:700}.appointment-main p{margin:4px 0;color:#475d5a;font-size:14px}.appointment-main small{color:var(--muted)}.status{font-size:10px;font-weight:700;padding:4px 8px;border-radius:20px;background:#edf1f0}.status.confirmada{background:var(--mint);color:#067065}.status.pendiente{background:#fff1cf;color:#8a6505}.status.completada{background:#e8eafa;color:#4247a0}.status.cancelada{background:#fbe6e2;color:#a94735}.appointment-actions{display:flex;gap:5px}.appointment-actions form{display:inline}.icon-action{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--brand);cursor:pointer}.icon-action:hover{background:var(--mint)}.icon-action.danger{color:var(--coral)}.empty{text-align:center;padding:72px 20px}.empty div{font-size:35px}.empty h2{font:700 20px Manrope;margin:12px 0 5px}.empty p{color:var(--muted);margin:0 auto 20px}.empty.small{padding:30px}.search{padding:18px;display:flex;gap:8px;border-bottom:1px solid var(--line)}.search input{width:min(420px,100%)}.search button{background:var(--ink);color:white}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:10px;letter-spacing:.1em;color:var(--muted);background:#fafcfb}td small{display:block;color:var(--muted);margin-top:3px}.text-link,.dentist-card a{color:var(--brand);font-weight:700}.form-card{padding:26px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid label,.dialog-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.dialog-form input,.dialog-form select{width:100%;border:1px solid #cfdcda;border-radius:9px;padding:11px 12px;color:var(--ink);background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #d9f1ed;border-color:var(--brand)}.form-grid label span{color:#b54835;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.validation{color:#b54835;margin-bottom:14px}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}.alert.success{background:var(--mint);color:#075f57}.alert.error{background:#fbe6e2;color:#913929}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dentist-card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;display:flex;gap:16px;box-shadow:var(--shadow)}.dentist-avatar{width:48px;height:48px;border-radius:14px;color:white;display:grid;place-items:center;font-weight:800;flex:none}.dentist-card h2{font:700 17px Manrope;margin:2px 0 4px}.dentist-card p{color:var(--muted);font-size:13px;margin:0 0 14px}.section-title{padding:20px}.section-title h2{margin:4px 0;font:700 19px Manrope}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 80px #102d2a55;max-width:430px;width:calc(100% - 30px)}dialog::backdrop{background:#0e2e2b99;backdrop-filter:blur(3px)}.dialog-form{padding:28px;display:grid;gap:18px;position:relative}.dialog-form h2{margin:-10px 0 0;font:700 24px Manrope}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:24px;cursor:pointer}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none;box-shadow:20px 0 60px #102d2a55}.main{margin-left:0}.topbar{padding:0 20px;justify-content:space-between}.menu-button{display:block;border:0;background:none;font-size:23px}.content{padding:30px 20px}.stats{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.page-heading{align-items:flex-start;flex-direction:column}.page-heading .button{width:100%}.calendar-toolbar{align-items:stretch;flex-direction:column}.filters{display:grid;grid-template-columns:1fr}.appointment{grid-template-columns:50px 3px 1fr}.appointment-actions{grid-column:3}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.form-card{padding:20px}.card-grid{grid-template-columns:1fr}.topbar-clinic{display:none}.profile div{display:none}.content{padding:25px 14px}.date-nav div{min-width:0}.appointment-list{padding:6px 14px 15px}}
.clinic-switcher{display:flex;align-items:center}.clinic-switcher select{border:0;background:transparent;color:var(--ink);font-weight:700;max-width:230px}.clinic-switcher select:focus{outline:2px solid var(--mint)}.clinic-logo{background:#103b38}.clinic-tile form{margin-top:9px}.text-button{border:0;background:none;color:var(--brand);font-weight:700;padding:0;cursor:pointer}
.logout-button{border:1px solid var(--line);background:white;border-radius:8px;padding:7px 10px;color:var(--muted);cursor:pointer}.auth-body{background:#103b38}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{padding:9vh 9vw;color:white;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 10%,#25605b 0,transparent 35%),#103b38}.auth-brand>div{position:absolute;top:40px;display:flex;align-items:center;gap:12px;font:800 21px Manrope}.auth-brand h1{font:800 clamp(44px,6vw,78px)/1 Manrope;margin:0 0 24px;letter-spacing:-.055em}.auth-brand p{color:#b9d4d0;max-width:520px;font-size:18px;line-height:1.6}.auth-brand blockquote{margin:45px 0 0;border-left:3px solid #f6cc67;padding-left:18px;color:#d9eeeb}.auth-panel{background:var(--bg);display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:var(--shadow);display:grid;gap:18px}.login-card h2{font:800 29px Manrope;margin:-5px 0 -12px}.login-card>p{margin:0 0 5px;color:var(--muted)}.login-card label{display:grid;gap:7px;font-size:13px;font-weight:700}.login-card input{border:1px solid #cfdcda;border-radius:9px;padding:12px}.login-card label span{color:#b54835;font-size:11px}.login-card>small{text-align:center;color:var(--muted)}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{min-height:100vh}.login-card{padding:28px}}
.toolbar-right,.heading-actions,.view-switch{display:flex;align-items:center;gap:9px}.view-switch{background:#edf2f1;border-radius:9px;padding:3px}.view-switch a{padding:6px 10px;border-radius:7px;font-size:12px;font-weight:700;color:var(--muted)}.view-switch a.active{background:white;color:var(--brand);box-shadow:0 2px 8px #18312f12}.week-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));overflow-x:auto}.week-day{min-height:520px;border-right:1px solid var(--line)}.week-day:last-child{border:0}.week-day>header{padding:15px;text-align:center;border-bottom:1px solid var(--line);display:grid;gap:4px}.week-day>header small{color:var(--muted);font-weight:700}.week-day>header strong{font:800 22px Manrope}.week-day.today>header{background:var(--mint);color:var(--brand)}.week-day>div{padding:9px}.week-appointment{border-left:4px solid var(--brand);background:#f8faf9;border-radius:7px;padding:9px;margin-bottom:8px;display:grid;gap:2px}.week-appointment time{font-size:11px;color:var(--brand);font-weight:700}.week-appointment strong{font-size:12px}.week-appointment span,.week-appointment small{font-size:10px;color:var(--muted)}.day-empty{text-align:center;color:#a4b0ae;font-size:11px;margin-top:25px}.two-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.location-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--line)}.location-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.location-row>span{font-size:12px;color:var(--muted)}
@media(max-width:900px){.two-columns{grid-template-columns:1fr}.toolbar-right{align-items:stretch;flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1}}
.clinical-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.clinical-summary{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.clinical-summary.allergy{border-top:3px solid var(--coral)}.clinical-summary small{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.clinical-summary p{margin:8px 0 0;font-size:14px}.timeline{padding:5px 24px 30px}.timeline>article{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline-date{display:grid;align-content:start;text-align:center}.timeline-date strong{font:800 25px Manrope;color:var(--brand)}.timeline-date span{font-size:10px;text-transform:uppercase;color:var(--muted)}.timeline-content header{display:flex;justify-content:space-between;gap:20px}.timeline-content h3{margin:0 0 3px;font:700 16px Manrope}.timeline-content small,.timeline-content time{color:var(--muted);font-size:11px}.timeline-content p{font-size:13px;line-height:1.5;margin:12px 0 0}
@media(max-width:700px){.clinical-alerts{grid-template-columns:1fr}.timeline{padding:5px 14px 20px}.timeline>article{grid-template-columns:48px 1fr}}
.odontogram-panel{padding:24px}.odontogram{display:grid;grid-template-columns:repeat(16,minmax(45px,1fr));gap:7px}.tooth{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 3px;display:grid;gap:3px;place-items:center;cursor:pointer}.tooth span{font-size:10px;font-weight:800}.tooth i{font-style:normal;font-size:26px;color:#9eb2af}.tooth small{font-size:8px;color:var(--muted)}.tooth.caries{background:#fff0ed;border-color:#ed8b78}.tooth.caries i,.tooth.extraction i{color:var(--coral)}.tooth.filling{background:#e8eefb}.tooth.filling i{color:#5878bd}.tooth.missing{opacity:.45;text-decoration:line-through}.tooth.crown{background:#fff3cf}.tooth.crown i{color:#c08c00}.tooth.endodontics,.tooth.implant{background:#eeeafa}.odontogram-form{margin-top:20px}.plan-card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:var(--shadow);display:grid;gap:8px}.plan-card h2{font:700 17px Manrope;margin:8px 0 0}.plan-card p{margin:0;color:var(--muted);font-size:12px}.plan-card>strong{font:800 23px Manrope;color:var(--brand);margin-top:8px}.budget-total{padding:20px;display:grid;gap:8px;border-top:1px solid var(--line);text-align:right}.budget-total span{display:flex;justify-content:flex-end;gap:30px;color:var(--muted)}.budget-total strong{font:800 24px Manrope;color:var(--brand)}.form-grid.single{grid-template-columns:1fr}
@media(max-width:1100px){.odontogram{grid-template-columns:repeat(8,1fr)}}@media(max-width:600px){.odontogram{grid-template-columns:repeat(4,1fr)}}
.odontogram-heading{align-items:center}.odontogram-count{background:var(--mint);border:1px solid #b9e1da;border-radius:14px;padding:14px 20px;display:grid;text-align:center}.odontogram-count strong{font:800 25px Manrope;color:var(--brand)}.odontogram-count span{font-size:11px;color:var(--muted)}.odontogram-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.odontogram-chart{padding:0;overflow:hidden}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.chart-header h2{font:700 19px Manrope;margin:4px 0}.orientation{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.1em}.orientation i{width:36px;height:1px;background:var(--line);position:relative}.orientation i:after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--brand)}.arch-label{text-align:center;padding:15px 0 4px;color:#9aa9a6;font-size:9px;font-weight:800;letter-spacing:.2em}.dental-arch{display:grid;grid-template-columns:1fr 1px 1fr;gap:10px;padding:6px 24px}.quadrant{display:grid;grid-template-columns:repeat(8,minmax(43px,1fr));gap:5px}.midline{background:#d7e3e0}.tooth-unit{border:1px solid transparent;background:transparent;border-radius:10px;padding:5px 2px;display:grid;place-items:center;gap:4px;cursor:pointer;min-width:0;transition:.16s ease}.tooth-unit:hover,.tooth-unit.selected{background:#f1f7f5;border-color:#a9d6cf;transform:translateY(-2px)}.tooth-number{font-size:10px;font-weight:800;color:#728582}.tooth-anatomy{height:61px;width:38px;position:relative;display:block}.tooth-crown{position:absolute;left:5px;top:3px;width:29px;height:29px;border:2px solid #78908c;border-radius:45% 45% 38% 38%;background:white}.tooth-crown b{position:absolute;inset:6px;border:1px solid #c4d1cf;border-radius:40%}.tooth-root{position:absolute;left:12px;top:29px;width:15px;height:29px;border:2px solid #78908c;border-top:0;border-radius:0 0 45% 45%;background:#fff;clip-path:polygon(0 0,100% 0,72% 100%,50% 78%,28% 100%)}.lower .tooth-anatomy{transform:rotate(180deg)}.tooth-state{font-size:7px;color:#81918f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54px}.tooth-unit.caries .tooth-crown{background:#f56f5b;border-color:#c84f3c}.tooth-unit.filling .tooth-crown{background:#6b8fd3;border-color:#476cae}.tooth-unit.crown .tooth-crown{background:#f2c64e;border-color:#b8890b}.tooth-unit.endodontics .tooth-root{background:#9a7bd5;border-color:#7254b1}.tooth-unit.implant .tooth-root{background:repeating-linear-gradient(0deg,#8c9b99 0 3px,#d8dfde 3px 5px);border-color:#677673}.tooth-unit.extraction .tooth-anatomy:after{content:"×";position:absolute;inset:5px 0;color:#d74d3a;font:800 47px/1 Manrope;z-index:3}.tooth-unit.missing{opacity:.38}.tooth-unit.missing .tooth-anatomy:after{content:"×";position:absolute;inset:5px 0;color:#536865;font:800 47px/1 Manrope;z-index:3}.tooth-unit.healthy .tooth-state{visibility:hidden}.bite-line{display:flex;align-items:center;gap:10px;color:#a8b6b4;font-size:8px;font-weight:800;letter-spacing:.15em;margin:5px 24px}.bite-line:before,.bite-line:after{content:"";height:1px;background:#dce5e3;flex:1}.lower-label{padding:4px 0 15px}.odontogram-legend{border-top:1px solid var(--line);padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.odontogram-legend span{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.odontogram-legend i{width:9px;height:9px;border-radius:3px;background:#d9e2e0}.odontogram-legend i.caries{background:#f56f5b}.odontogram-legend i.filling{background:#6b8fd3}.odontogram-legend i.crown{background:#f2c64e}.odontogram-legend i.endodontics{background:#9a7bd5}.odontogram-legend i.implant{background:#84938f}.odontogram-legend i.missing{background:#d6dddc}.odontogram-legend i.extraction{background:#d74d3a}.tooth-inspector{position:sticky;top:92px;min-height:410px;padding:24px}.inspector-placeholder{text-align:center;padding:45px 10px}.large-tooth{font-size:60px;color:#b7c9c6}.inspector-placeholder h2{font:700 18px Manrope;margin:15px 0 6px}.inspector-placeholder p{font-size:12px;line-height:1.5;color:var(--muted)}.inspector-form{display:grid;gap:18px}.inspector-form[hidden]{display:none}.selected-tooth{display:flex;justify-content:space-between;align-items:center;background:var(--mint);border-radius:11px;padding:12px 14px}.selected-tooth div{display:grid}.selected-tooth span{font-size:8px;letter-spacing:.12em;color:var(--brand);font-weight:800}.selected-tooth strong{font:800 28px Manrope;color:var(--brand)}.selected-tooth button{border:0;background:none;font-size:23px;color:var(--muted);cursor:pointer}.inspector-form>label{display:grid;gap:7px;font-size:12px;font-weight:700}.inspector-form select,.inspector-form textarea{border:1px solid #cad8d5;border-radius:9px;padding:10px;background:white}.surface-picker{border:0;padding:0;margin:0}.surface-picker legend{font-size:12px;font-weight:700;margin-bottom:10px}.surface-map{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);justify-content:center}.surface-map button{border:1px solid #c8d7d4;background:white;color:#687b78;font-size:10px;font-weight:800;cursor:pointer}.surface-map button.active{background:var(--brand);color:white;border-color:var(--brand)}.surface-map [data-surface=V]{grid-column:2;grid-row:1;border-radius:9px 9px 0 0}.surface-map [data-surface=M]{grid-column:1;grid-row:2;border-radius:9px 0 0 9px}.surface-map [data-surface=O]{grid-column:2;grid-row:2}.surface-map [data-surface=D]{grid-column:3;grid-row:2;border-radius:0 9px 9px 0}.surface-map [data-surface=L]{grid-column:2;grid-row:3;border-radius:0 0 9px 9px}.surface-picker>small{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:7px}.current-finding{background:#f5f8f7;border-radius:8px;padding:10px;display:grid}.current-finding span{font-size:9px;color:var(--muted)}.current-finding strong{font-size:12px}
@media(max-width:1200px){.odontogram-workspace{grid-template-columns:1fr}.tooth-inspector{position:static;min-height:0}.inspector-placeholder{padding:20px}.quadrant{grid-template-columns:repeat(8,minmax(38px,1fr))}}@media(max-width:760px){.odontogram-heading{align-items:flex-start}.odontogram-count{display:none}.chart-header{padding:16px}.orientation{display:none}.dental-arch{padding:6px 10px;gap:4px}.quadrant{gap:1px}.tooth-anatomy{transform:scale(.78);margin:-5px}.lower .tooth-anatomy{transform:rotate(180deg) scale(.78)}.tooth-state{display:none}.tooth-unit{padding:4px 0}.odontogram-legend{justify-content:flex-start}.bite-line{margin:4px 10px}}
.today-button{padding:9px 13px}.icon-action.complete{color:#4266b3}.dentist-card-content{min-width:0;flex:1}.card-actions{display:flex;gap:14px;flex-wrap:wrap}.card-actions a{font-size:12px}.card-actions a:last-child{color:var(--muted)}.code-pill{display:inline-flex;background:#edf3f2;color:#365653;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800;letter-spacing:.03em}.table-action{text-align:right}.cash-toolbar{padding:13px 18px;margin-bottom:20px;display:flex;align-items:end;gap:12px;width:max-content;max-width:100%}.cash-toolbar>a:not(.button){width:38px;height:38px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:20px}.cash-toolbar form label,.filter-strip label,.report-filter label{display:grid;gap:5px;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.cash-toolbar input,.filter-strip select,.report-filter input{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:-5px 0 22px}.method-grid article{background:white;border:1px solid var(--line);border-radius:12px;padding:15px;display:grid;gap:4px}.method-grid span,.method-grid small{font-size:10px;color:var(--muted)}.method-grid strong{font:800 18px Manrope;color:var(--brand)}.filter-strip{padding:15px 20px;border-bottom:1px solid var(--line)}.filter-strip select{min-width:190px}.row-actions{display:flex;gap:12px;align-items:center}.danger-text{color:var(--coral)}.status.pending{background:#fff1cf;color:#8a6505}.status.sent{background:var(--mint);color:#067065}.status.failed,.status.cancelled{background:#fbe6e2;color:#a94735}.report-filter{padding:16px 20px;margin-bottom:20px}.report-filter form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.report-filter input{display:block}.breakdown-list{padding:0 20px 20px;display:grid;gap:18px}.breakdown-list header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.breakdown-list i{height:8px;border-radius:10px;background:#edf2f1;display:block;overflow:hidden}.breakdown-list i b{height:100%;display:block;border-radius:10px;background:linear-gradient(90deg,var(--brand),#4bb8a9)}.muted-copy{color:var(--muted);font-size:13px}.report-stats strong{font-size:clamp(20px,2vw,28px)}
@media(max-width:1050px){.method-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-wrap:wrap}.today-button{flex:none!important;width:auto!important}}@media(max-width:650px){.cash-toolbar{width:100%;align-items:center}.cash-toolbar form{flex:1}.cash-toolbar input{width:100%}.method-grid{grid-template-columns:1fr 1fr}.row-actions{align-items:flex-start;flex-direction:column}.report-filter form>*{width:100%}.report-filter input{width:100%}}
.cash-state{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cash-state>div{display:flex;align-items:center;gap:16px}.cash-state h2{font:700 19px Manrope;margin:3px 0}.cash-state p{margin:0;color:var(--muted);font-size:13px}.open-cash-form,.close-cash-panel form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.open-cash-form label,.close-cash-panel label{display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.open-cash-form input,.close-cash-panel input{border:1px solid var(--line);border-radius:9px;padding:10px}.cash-session-bar{background:#e8f5f1;border:1px solid #b8ddd5;border-radius:14px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cash-session-bar>div{display:flex;align-items:center;gap:10px}.cash-session-bar>div:not(:first-child){display:grid;text-align:right}.cash-session-bar small{font-size:10px;color:var(--muted)}.cash-session-bar.closed{background:#f1f3f3;border-color:var(--line)}.cash-live-dot{width:10px;height:10px;border-radius:50%;background:#13ad8f;box-shadow:0 0 0 5px #13ad8f20}.cash-session-bar.closed .cash-live-dot{background:#879693;box-shadow:none}.cash-columns{grid-template-columns:1.35fr 1fr}.expense-money{color:var(--coral)}.void-form{display:flex;align-items:center;gap:6px}.void-form input{width:85px;border:1px solid var(--line);border-radius:6px;padding:5px;font-size:10px}.close-cash-panel{margin-top:20px;background:#113e3a;color:white;border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:25px}.close-cash-panel .eyebrow{color:#75d3c4}.close-cash-panel h2{font:700 20px Manrope;margin:3px 0}.close-cash-panel p{margin:0;color:#b7d2ce;font-size:12px}.close-cash-panel label{color:#b7d2ce}.close-cash-panel input{background:white;color:var(--ink)}
@media(max-width:900px){.cash-state,.close-cash-panel{align-items:stretch;flex-direction:column}.cash-columns{grid-template-columns:1fr}.open-cash-form,.close-cash-panel form{width:100%}}@media(max-width:600px){.cash-session-bar{align-items:flex-start;flex-direction:column}.cash-session-bar>div:not(:first-child){text-align:left}.open-cash-form>* ,.close-cash-panel form>*{width:100%}.void-form{align-items:flex-start;flex-direction:column}}
