@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#261c28;background:#faf7f8;font-size:15px;--plum:#54244f;--deep:#26172a;--gold:#d9a45b;--line:#e9dfe7;--muted:#756b77}
*{box-sizing:border-box}
body{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:2rem;margin:.3rem 0 1.2rem}h2{font-size:1.25rem;margin:0 0 1rem}h3{margin:0 0 .6rem}p{line-height:1.5}
button,.button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.75rem 1.05rem;background:var(--plum);color:white;font-weight:700;text-decoration:none;display:inline-block;transition:background .15s,transform .15s}button:hover,.button:hover{background:#40203d;transform:translateY(-1px)}.secondary{background:#f2eaf0;color:#54244f}.secondary:hover{background:#eadde7}.danger{background:#ab334a}.danger:hover{background:#8c2037}
input,select,textarea{font:inherit;color:inherit;border:1px solid #dbcfd8;border-radius:9px;padding:.7rem .78rem;background:white;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #c495a9;outline-offset:1px}textarea{width:100%;min-height:90px}label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.86rem}small,.muted{color:var(--muted)}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.side{background:var(--deep);color:#f8eff7;padding:1.55rem 1rem;display:flex;flex-direction:column;min-height:100vh}.brand{margin:.2rem .4rem 2.6rem}.brand svg{width:210px;height:45px;display:block}.brand span{display:block;font-size:.54rem;letter-spacing:.28em;color:#c9a7bb;margin:.2rem .65rem}.nav-label{font-size:.65rem;letter-spacing:.2em;color:#aa8ca2;font-weight:800;margin:0 .9rem .7rem}.side nav{display:grid;gap:.25rem}.nav{display:block;width:100%;text-align:left;background:transparent;color:#d6c5d3;margin:0;padding:.8rem .9rem;border-radius:9px;font-weight:600}.nav:hover,.nav.active{background:#4c2b49;color:white;transform:none}.nav.active{box-shadow:inset 3px 0 var(--gold)}.sidefoot{margin-top:auto;padding:.8rem .35rem 0;border-top:1px solid #5b4059}.sidefoot .secondary{margin-top:1rem;width:100%;background:#3b293e;color:#f4eaf1}.sidefoot .secondary:hover{background:#513354}.user-chip{display:flex;align-items:center;gap:.7rem;padding:.4rem}.user-chip b,.user-chip small{display:block}.user-chip small{font-size:.72rem;color:#bba9b9;margin-top:.1rem}.avatar{width:38px;height:38px;border-radius:11px;background:#69405f;color:#fff;display:grid;place-items:center;font-weight:800}
.side nav{gap:1.15rem}.nav-group{display:grid;gap:.25rem}.nav-group .nav-label{margin:.1rem .9rem .35rem;text-transform:uppercase;cursor:default;user-select:none}.nav-group+.nav-group{border-top:1px solid #48334b;padding-top:1.1rem}
.content{padding:2rem clamp(1rem,3vw,3.5rem);max-width:1500px;width:100%;margin:auto}.eyebrow{text-transform:uppercase;color:#7a3b70;font-size:.72rem;letter-spacing:.18em;font-weight:800}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.45rem;margin-bottom:1.1rem;box-shadow:0 4px 18px #3a173008}.grid{display:grid;gap:1rem}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;gap:.55rem;flex-wrap:wrap}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.91rem}th,td{text-align:left;padding:.78rem;border-bottom:1px solid #eee6ec;vertical-align:top}th{color:#756b77;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;background:#fcfafb}td small{display:block;margin-top:.2rem}.stat{font:800 1.75rem Manrope;color:var(--plum)}
.login{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1fr) minmax(480px,1fr);background:#faf7f8}.login-brand{background:radial-gradient(circle at 75% 25%,#583753 0,#352038 37%,#211525 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative;overflow:hidden}.login-brand:before{content:'';position:absolute;width:550px;height:550px;border:1px solid #ffffff1f;border-radius:50%;transform:translate(140px,-230px)}.brand-art{width:min(650px,95%);height:auto;aspect-ratio:745/145;z-index:1}.login-tagline{z-index:1;letter-spacing:.32em;font-size:.8rem;line-height:2;text-align:center;margin:5rem 0 .6rem;color:#f2e4ee}.login-line{width:60px;height:2px;background:var(--gold);z-index:1}.login-form-wrap{display:grid;place-items:center;padding:2rem}.login .card{width:min(430px,100%);padding:2.25rem;box-shadow:0 18px 50px #4d254114}.login h1{font-size:1.75rem;margin:1.1rem 0 .3rem}.login p{margin:0 0 1.1rem}.login form{display:grid;gap:1.05rem}.login button{width:100%;margin-top:.2rem;display:flex;justify-content:space-between}.login .eyebrow{color:#a67955}
.toothgrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem}.tooth{border:1px solid #e3d7e0;border-radius:9px;padding:.5rem;background:#fdfafb}.tooth b{display:block;margin-bottom:.3rem;color:#54244f}.tooth input{width:100%;padding:.42rem;font-size:.75rem}.visit{border-left:4px solid var(--plum)}.itemrow{display:grid;grid-template-columns:minmax(180px,2.3fr) minmax(85px,1fr) 65px 100px 110px 110px auto;gap:.45rem;align-items:center;margin:.5rem 0}.itemrow input,.itemrow select{width:100%}.totals div{display:flex;justify-content:space-between;padding:.45rem 0}.totals .grand{border-top:1px solid var(--line);font:800 1.3rem Manrope;margin-top:.6rem;padding-top:1rem;color:var(--plum)}
.hero{background:linear-gradient(120deg,#26172a,#54244f);color:white;padding:2.3rem;border-radius:18px;margin-bottom:1rem}.hero h1{margin:.4rem 0}.public{max-width:850px;margin:2rem auto;padding:0 1rem 3rem}.teeth{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.teeth span{padding:.65rem;background:#faf4f8;border-radius:8px}.notice{padding:.8rem 1rem;border-radius:8px;background:#f5eaf1;color:#54244f;margin-bottom:1rem;overflow-wrap:anywhere}.error{background:#fbe9e9;color:#8f2635}.pill{display:inline-block;background:#f5eaf1;color:#713865;padding:.28rem .6rem;border-radius:99px;font-size:.78rem;font-weight:700}
@media(max-width:900px){.shell{display:block}.side{min-height:auto;padding:1rem}.brand{margin:.2rem 0 1rem}.brand svg{width:180px;height:37px}.side nav{display:flex;overflow:auto}.nav-label,.sidefoot{display:none}.nav{width:auto;white-space:nowrap}.content{padding:1.2rem}.cols3,.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.itemrow{grid-template-columns:repeat(3,minmax(0,1fr))}.toothgrid{grid-template-columns:repeat(4,minmax(0,1fr))}.login{grid-template-columns:1fr}.login-brand{min-height:260px}.brand-art{width:min(500px,90%)}.login-tagline{margin:1rem 0 .5rem}.login-form-wrap{padding:1.2rem}}
@media(max-width:560px){.cols2,.cols3,.cols4{grid-template-columns:1fr}.itemrow{grid-template-columns:1fr 1fr}.toothgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.teeth{grid-template-columns:repeat(2,1fr)}.public{margin:.5rem auto}.hero{padding:1.5rem}.login-brand{min-height:220px}.login .card{padding:1.5rem}}
@media(max-width:900px){.side nav{gap:.5rem}.nav-group{display:flex;align-items:center;gap:.2rem;flex:none}.nav-group .nav-label{display:block;white-space:nowrap;margin:0 .35rem 0 0;font-size:.6rem}.nav-group+.nav-group{border-top:0;border-left:1px solid #48334b;padding-top:0;padding-left:.65rem}}
.dashboard-hero{background:linear-gradient(110deg,#26172a 10%,#54244f 100%);border-radius:16px;color:#fff;padding:2.2rem 2.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;box-shadow:0 14px 28px #3c20322e}.dashboard-hero h2{font-size:1.55rem;margin:.5rem 0}.dashboard-hero p{margin:0;color:#e5d7e2}.hero-kicker{font-size:.68rem;font-weight:800;letter-spacing:.2em;color:#e5b978}.dashboard-hero button{white-space:nowrap;background:#fff;color:#54244f}.dashboard-hero button:hover{background:#f2eaf0}.report-filter{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1.2rem;max-width:330px}@media(max-width:560px){.dashboard-hero{display:block;padding:1.5rem}.dashboard-hero button{margin-top:1rem}}
.checkline{display:flex;flex-direction:row;align-items:center;gap:.7rem;font-size:.92rem}.checkline input{width:18px;height:18px}.clinic-logo-preview{display:block;max-width:220px;max-height:110px;object-fit:contain;margin:1.2rem 0;background:#26172a;padding:.7rem;border:1px solid #4b344a;border-radius:10px}.logo-placeholder{padding:2rem;text-align:center;color:var(--muted);background:#faf7f8;border:1px dashed #d9c7d3;border-radius:10px;margin:1rem 0}.clinic-logo{display:block;max-width:170px;max-height:72px;object-fit:contain;margin-bottom:1rem}
.settings-stack{display:grid;gap:1rem;align-content:start}.color-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.color-settings input[type="color"]{width:100%;height:48px;padding:.3rem;cursor:pointer}.banner-preview{display:grid;place-items:center;min-height:90px;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#52214a}.banner-preview img{display:block;max-width:100%;max-height:72px;object-fit:contain}
.stats-grid{margin:0 0 1.5rem}.stat-card{background:#fbf8fa;border:1px solid var(--line);border-radius:12px;padding:1.1rem}.stat-card .stat{margin-top:.5rem;font-size:1.5rem}@media(max-width:850px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.filter-row{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap}.filter-row label{min-width:170px;flex:1}.filter-row button{height:41px}.filter-row .secondary{height:41px}@media(max-width:560px){.filter-row label{min-width:100%}.filter-row button{width:100%}}
.sidebar-clinic-logo{display:block;max-width:180px;max-height:82px;object-fit:contain;margin:1rem auto 0;padding:0;background:transparent;border:0}.side-signature{display:block;margin:1.2rem .4rem 0;color:#ac8da8;font-size:.7rem;text-align:center}.login-signature{position:absolute;bottom:1.5rem;color:#d4b9ce;font-size:.75rem;letter-spacing:.08em}.catalog-form{grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) repeat(4,minmax(90px,1fr)) auto;align-items:end}.catalog-form button{white-space:nowrap}.pager{display:flex;gap:.8rem;align-items:center;justify-content:flex-end;margin-top:1rem}.pager button:disabled{opacity:.45;cursor:default;transform:none}@media(max-width:1100px){.catalog-form{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.catalog-form{grid-template-columns:1fr}.pager{justify-content:center}}
.catalog-form .catalog-active{display:none}.catalog-form[data-edit-id] .catalog-active{display:flex}.hotel-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.insights-extra{margin-top:2rem}.insights-extra h2{margin-top:.6rem}@media(max-width:900px){.hotel-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.hotel-form{grid-template-columns:1fr}}
.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.report-grid .stat{font-size:1.35rem;overflow-wrap:anywhere}.report-grid .stat-card:nth-child(6){background:#f4e9f0;border-color:#d9bfd1}.fx-panel{margin:1.3rem 0 1.6rem;border-top:1px solid var(--line);padding-top:1.3rem}.fx-panel h2{margin:0}.fx-panel a{color:var(--plum);font-weight:700}.fx-rate{background:#faf6f9;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;display:flex;justify-content:space-between;gap:.6rem}.fx-rate strong{color:var(--plum)}.insights-rank,.insights-month,.insights-people{margin-top:1.8rem}.insights-people th{min-width:110px}@media(max-width:1050px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.report-grid{grid-template-columns:1fr}.fx-rate{display:block}.fx-rate strong{display:block;margin-top:.3rem}}
.editor-intro{max-width:740px;margin:1.5rem auto}.editor-intro h1{font-size:2.2rem}.intro-form{display:grid;gap:1.25rem;margin-top:1.6rem;padding:2rem}.intro-form label{font-size:.95rem}.intro-form button{justify-self:end;min-width:160px}.editor-heading{margin-bottom:1.1rem}.editor-heading h1{margin:.25rem 0}.editor-heading p{margin:0}.editor-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:0 0 1.1rem}.editor-step{background:#f2edf1;color:#9c8c9a;border-radius:11px;padding:.9rem 1rem;font-weight:700;display:flex;align-items:center;gap:.7rem;white-space:nowrap}.editor-step span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e5dbe2;color:#8d7a8a;font-size:.75rem}.editor-step.current{background:#54244f;color:#fff;box-shadow:0 6px 17px #54244f28}.editor-step.current span{background:#d9a45b;color:#26172a}.diagnosis-card{padding:1.6rem}.diagnosis-card h2{font-size:1.45rem;margin:.2rem 0}.diagnosis-card p{margin:.2rem 0}.selected-count{background:#f4eaf1;color:#54244f;border-radius:99px;padding:.55rem .85rem;font-size:.8rem;font-weight:800;white-space:nowrap}.diagnosis-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.95fr);gap:1.8rem;margin-top:1.5rem}.jaw-wrap{min-width:0}.jaw-board{padding:1.2rem .75rem;background:#fcfafb;border:1px solid #ebdfe8;border-radius:14px;overflow-x:auto;touch-action:none;user-select:none;-webkit-user-select:none}.jaw-row{display:grid;grid-template-columns:repeat(16,minmax(42px,1fr));min-width:710px;position:relative}.jaw-row:after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #d9d0d8;pointer-events:none}.jaw-divider{height:1px;background:#d9d0d8;min-width:710px;margin:1rem 0}.tooth-choice{background:transparent;color:#697287;padding:.15rem .05rem;border:1px solid transparent;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:0;min-height:127px;position:relative;touch-action:none}.tooth-choice:hover{background:#f2e8ef;transform:none}.tooth-choice.is-selected,.tooth-choice.is-selected:hover{background:#f2dce9;border-color:#9c5c8c;color:#54244f;box-shadow:inset 0 0 0 1px #ad7a9d;transform:none}.tooth-svg{width:100%;max-width:48px;height:90px;flex:none}.tooth-root{fill:#e3f4fa;stroke:#536274;stroke-width:1.5;stroke-linejoin:round}.tooth-crown{fill:#fff;stroke:#536274;stroke-width:1.3;stroke-linejoin:round}.jaw-row.lower .tooth-svg{transform:rotate(180deg)}.tooth-choice.has-status .tooth-root{fill:#ead2e4}.tooth-choice[data-applied="Missing"] .tooth-svg{opacity:.4}.tooth-choice[data-applied="Intact"] .tooth-root{fill:#dff4ed}.tooth-number{font-size:.78rem;line-height:1.3;font-weight:700}.tooth-state{position:absolute;right:2px;bottom:0;color:#9a487f;font-size:.8rem}.jaw-row.lower .tooth-state{top:0;bottom:auto}.jaw-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.jaw-actions button{font-size:.8rem;padding:.55rem .8rem}.diagnosis-palette h3{font-size:1rem;margin:.3rem 0 .8rem}.status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.status-choice{background:#f1eaf0;color:#54244f;text-align:left;border-radius:99px;padding:.75rem .85rem;min-height:46px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-size:.83rem}.status-choice:hover{background:#dfc9d9;transform:none}.status-choice span{color:#b7839f}.diagnosis-summary{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.diagnosis-summary h3{font-size:.95rem}.diagnosis-tags{display:flex;gap:.45rem;flex-wrap:wrap}.diagnosis-tags span{background:#f5edf3;border:1px solid #e5d5e1;color:#54244f;padding:.4rem .6rem;border-radius:7px;font-size:.78rem}.diagnosis-tags b{margin-right:.2rem}@media(max-width:1200px){.diagnosis-layout{grid-template-columns:1fr}.diagnosis-palette{margin-top:.3rem}}@media(max-width:750px){.editor-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-step{font-size:.8rem}.diagnosis-card{padding:1rem}.status-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.editor-steps{gap:.3rem}.editor-step{padding:.55rem;font-size:.7rem}.editor-step span{width:20px;height:20px}.status-choice{font-size:.72rem;padding:.65rem}.intro-form{padding:1.2rem}}
.diagnosis-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.diagnosis-group{min-width:0}.diagnosis-group h3{display:flex;align-items:center;gap:.35rem;margin-bottom:.7rem}.diagnosis-group h3 small{font-size:.8rem;font-weight:600}.diagnosis-tags span{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .25rem .22rem .6rem}.diagnosis-tags span button{width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:6px;background:transparent;color:#8a5176;font-size:1.15rem;line-height:1}.diagnosis-tags span button:hover{background:#e7d4e1;transform:none}@media(max-width:650px){.diagnosis-summary{grid-template-columns:1fr}}
.diagnosis-layout{display:block}.jaw-wrap{width:100%}.diagnosis-palette{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}.diagnosis-palette h3{margin-bottom:.9rem}.status-list{grid-template-columns:repeat(4,minmax(0,1fr))}.status-choice{border-radius:10px;min-height:48px}.tooth-visual{display:block;width:100%;height:90px;line-height:0}.tooth-visual .tooth-svg{display:block;margin:0 auto}.tooth-choice.bridge-right::after{content:'';position:absolute;left:50%;top:47px;width:100%;height:4px;background:#71bd8b;border-radius:4px;z-index:2;pointer-events:none}.jaw-row.lower .tooth-choice.bridge-right::after{top:61px}.drift-arrow{position:absolute;left:3px;top:0;color:#825478;font-size:1.25rem;font-weight:800;line-height:1;pointer-events:none}.jaw-row.lower .drift-arrow{top:16px}.other-entry{margin-top:1rem;background:#faf5f8;border:1px solid var(--line);border-radius:12px;padding:1rem;display:grid;gap:.75rem}.other-entry[hidden]{display:none}.other-entry textarea{min-height:70px}.other-entry .row button{font-size:.85rem}.tooth-choice[data-applied="Missing"] .tooth-svg{opacity:1}@media(max-width:1150px){.status-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.status-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.status-list{grid-template-columns:1fr 1fr}}
/* Önerilen tedavi editörü */
.treatment-theme{--treat:#2f8f63;--treat-dark:#1f6747;--treat-soft:#eaf7f0}.treatment-theme .eyebrow{color:var(--treat-dark)}.treatment-steps .editor-step.current{background:linear-gradient(135deg,#287d58,#3ca875)}.treatment-steps .editor-step.current span{background:#dff2b0}.treatment-card{border-color:#cfe8db;box-shadow:0 12px 32px #246b4b12}.treatment-jaw{background:linear-gradient(180deg,#fbfefc,#f4fbf7);border-color:#cfe5d9;margin-top:1.3rem}.treatment-tooth .plan-dot{position:absolute;right:4px;top:5px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#2f9b68;color:#fff;font-size:.65rem}.treatment-tooth.mode-zirconium .tooth-crown,.treatment-tooth.mode-bridge .tooth-crown{fill:#70d58a!important;stroke:#257e4c!important}.treatment-tooth.mode-porcelain .tooth-crown{fill:#b5ebc4!important;stroke:#4d9b66!important}.treatment-tooth.mode-emax .tooth-crown,.treatment-tooth.mode-veneer .tooth-crown{fill:#80d7e9!important;stroke:#31899b!important}.treatment-tooth.mode-pmma .tooth-crown{fill:#efcaa7!important;stroke:#a8754f!important}.treatment-tooth.mode-temporary-denture .tooth-crown{fill:#72d68d!important}.treatment-tooth.mode-bar-light .tooth-root{fill:#cdd7d5!important}.treatment-tooth.mode-bar-dark .tooth-root{fill:#7d8e8a!important}.treatment-tooth.mode-bar-pale .tooth-root{fill:#e3e8e7!important}.treatment-tooth.mode-bar-light::after,.treatment-tooth.mode-bar-dark::after,.treatment-tooth.mode-bar-pale::after,.treatment-tooth.mode-bridge::after{content:'';position:absolute;left:50%;top:48px;width:100%;height:5px;border-radius:4px;background:#91a29e;z-index:2}.treatment-tooth.mode-bar-dark::after{background:#596966}.treatment-tooth.mode-bridge::after{height:3px;background:#2f9b68}.service-tabs{display:flex;gap:.55rem;overflow:auto;margin:1.6rem 0 1rem;padding-bottom:.25rem}.service-tab{background:#edf5f0;color:#296d4d;white-space:nowrap}.service-tab:hover,.service-tab.active{background:#2f8f63;color:#fff}.treatment-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.treatment-group{border:1px solid #d8e9df;background:#fbfefc;border-radius:14px;padding:1rem}.treatment-group h3{color:#256849}.treatment-buttons{display:flex;gap:.45rem;flex-wrap:wrap}.treatment-buttons button{background:#e5f4eb;color:#226746;padding:.55rem .75rem;font-size:.82rem}.treatment-buttons button:hover{background:#bfe5ce}.treatment-options,.service-picker,.accommodation-grid{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;margin-top:1rem;padding:1rem;background:#eff8f3;border:1px solid #cfe8db;border-radius:12px}.treatment-options h3{width:100%;margin:0}.treatment-options label,.service-picker label,.accommodation-grid label{min-width:170px;flex:1}.hotel-note{padding:.9rem 1rem;background:#edf8f1;border-left:4px solid #3b9c6d;color:#2b6047;margin:1rem 0;border-radius:8px}.secondary-note{background:#f6faf7;color:#5b7566}.flow-card{padding:0;overflow:hidden}.flow-card>.row{padding:1.35rem}.flow-head{display:grid;grid-template-columns:minmax(260px,1fr) 120px 140px 130px;gap:1rem;color:#817a80;padding:.7rem 5rem .7rem 1.5rem;border-top:1px solid var(--line)}.visit-block{border-top:1px solid #dfe5e1}.visit-row{display:grid;grid-template-columns:26px minmax(220px,1fr) 80px auto auto 34px;align-items:center;gap:.8rem;background:#e8f1ed;padding:1rem 1.25rem;color:#1f5f43}.visit-number{border:2px solid #2d8b60;border-radius:50%;display:inline-grid;place-items:center;width:24px;height:24px;margin-right:.45rem}.visit-items{min-height:10px}.flow-item{display:grid;grid-template-columns:26px minmax(260px,1fr) 100px 135px 120px 38px 30px;align-items:center;gap:.7rem;padding:.85rem 1.25rem;border-top:1px solid #e6e2e5;background:#fcfbfc}.drag-handle{font-size:1.3rem;color:#8d9691;cursor:grab}.flow-treatment{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.flow-treatment small{background:#f1f3f2;padding:.25rem .45rem;border-radius:99px}.flow-treatment small:nth-of-type(2){width:100%;background:transparent;padding:0}.flow-item label{display:flex;flex-direction:row;align-items:center}.flow-item input{width:90px;padding:.45rem}.custom-price{font-size:.68rem;background:#fff0c9;color:#825d12;border-radius:99px;padding:.22rem .45rem}.copy-item{padding:.45rem}.icon-delete{background:transparent;color:#7b7378;padding:.25rem;font-size:1.25rem}.icon-delete:hover{background:#f1e5e9;color:#a12946;transform:none}.visit-discount{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;padding:.65rem 1.25rem;border-top:1px dashed #d9dfdb;background:#fafcfb}.visit-discount input{width:110px}.visit-discount select{width:100px}.healing-row{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.25rem;background:#f7faf8;border-top:1px solid #dfe8e2}.healing-row em{flex:1}.healing-row button{padding:.45rem .65rem}.editor-savebar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:.7rem;padding:1rem;background:#fffefeea;backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:0 -8px 28px #1f4c3512}.treatment-theme .editor-savebar button:not(.secondary){background:#2f8f63}.editor-bottom-actions{display:flex;justify-content:flex-end;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:900px){.treatment-palette{grid-template-columns:1fr}.flow-head{display:none}.visit-row{grid-template-columns:24px 1fr auto}.visit-row>span:nth-child(3){display:none}.visit-row>span:nth-child(4),.visit-row>span:nth-child(5){font-size:.78rem}.flow-item{grid-template-columns:22px minmax(180px,1fr) 85px 105px 100px 34px 28px;min-width:760px}.visit-items{overflow-x:auto}.accommodation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-grid label{min-width:0}}
.editor-step{border:0;text-align:left}.editor-step:hover{background:#e8dfe6;color:#6c5367;transform:none}.editor-step.current:hover{background:#54244f;color:#fff}.treatment-theme .editor-step.current:hover{background:#2f8f63}.tooth-choice.bridge-right::after{top:76px}.jaw-row.lower .tooth-choice.bridge-right::after{top:25px}.treatment-tooth.mode-bridge::after,.treatment-tooth.treatment-bridge::after{top:76px}.jaw-row.lower .treatment-tooth.mode-bridge::after,.jaw-row.lower .treatment-tooth.treatment-bridge::after{top:25px}.accommodation-sections{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.accommodation-box{border:1px solid #d6eade;border-radius:14px;padding:1rem;background:#fbfefc}.accommodation-box .accommodation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.price-control{display:grid;gap:.3rem}.price-control select,.price-control input{width:120px;padding:.42rem}.item-note{width:100%;background:#fffbe9!important;color:#725e21!important;border-left:3px solid #d8b64d;border-radius:3px!important;padding:.4rem .55rem!important}.brand-quick{width:auto;max-width:210px;padding:.35rem;font-size:.78rem}.flow-item{grid-template-columns:26px minmax(260px,1fr) 100px 135px 120px 38px 38px 30px}.hotel-option-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.hotel-option-lists{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.option-chip{display:inline-flex;align-items:center;gap:.3rem;background:#eef5f1;color:#285e45;border-radius:99px;padding:.25rem .3rem .25rem .65rem;margin:.2rem}.option-chip button{background:transparent;color:#7b7378;padding:.2rem .35rem}.document-select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.document-check{display:flex;flex-direction:row;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:10px}.document-check input{width:20px;height:20px}.document-check small,.document-check b{display:block}.review-visit{margin-top:1rem;border:1px solid var(--line);border-radius:12px;padding:1rem}.review-visit h3,.review-visit p{display:flex;justify-content:space-between;gap:1rem}.review-visit p{border-top:1px solid #eee;padding-top:.6rem}
@media(max-width:1000px){.accommodation-sections{grid-template-columns:1fr}.hotel-option-form{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-item{min-width:900px}}@media(max-width:600px){.accommodation-box .accommodation-grid,.hotel-option-form,.hotel-option-lists,.document-select-list{grid-template-columns:1fr}}
.treatment-tooth.mode-bridge:not(.bridge-right)::after{content:none}.inline-note-editor{grid-column:2/-1;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.7rem;align-items:end;padding:.75rem;background:#fffbea;border:1px solid #eadb9f;border-radius:9px}.inline-note-editor[hidden]{display:none}.inline-note-editor textarea{min-height:64px}.hotel-rate-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}@media(max-width:900px){.hotel-rate-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hotel-rate-form,.inline-note-editor{grid-template-columns:1fr}}
.toast-stack{position:fixed;right:1.2rem;bottom:1.2rem;z-index:10000;display:grid;gap:.65rem;width:min(390px,calc(100vw - 2rem));pointer-events:none}.app-toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:#285f47;color:#fff;border-radius:12px;box-shadow:0 14px 38px #18261f35;animation:toast-in .2s ease-out}.app-toast.error{background:#982f47;color:#fff}.app-toast button{flex:none;width:28px;height:28px;padding:0;border-radius:7px;background:#ffffff24;color:#fff;font-size:1.15rem}.app-toast button:hover{background:#ffffff3d;transform:none}.app-toast.leaving{opacity:0;transform:translateY(8px);transition:.18s}@keyframes toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.bridge-inline{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;background:#e5f4eb;border-radius:9px;padding:.35rem .45rem .35rem .7rem;color:#226746;font-weight:700}.bridge-inline select{padding:.45rem;background:#fff}.bridge-inline button{background:#2f8f63;color:#fff;padding:.48rem .7rem}.treatment-buttons>[data-add-catalog-treatment]{text-align:left}
.treatment-palette{align-items:start}.treatment-group{align-self:start;height:auto;min-height:0}.treatment-jaw .tooth-svg{opacity:1}.diagnosis-card .tooth-choice[data-applied="Crown"] .tooth-crown{fill:#d0d3d9!important;stroke:#66717c!important}.diagnosis-card .tooth-choice[data-applied="Laminate Veneer"] .tooth-crown{fill:#fff!important}.diagnosis-card .tooth-choice[data-applied="Laminate Veneer"] .tooth-visual{filter:none}
.treatment-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.treatment-column{display:flex;flex-direction:column;gap:1rem;min-width:0}@media(max-width:750px){.treatment-columns{grid-template-columns:1fr}}
.bridge-picker{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem;background:#d9eee2;border:1px solid #b8ddc8;border-radius:9px;animation:toast-in .15s ease-out}.bridge-picker select{padding:.45rem;min-width:175px}.bridge-picker button{padding:.48rem .65rem}.bridge-picker .secondary{width:30px;padding:.48rem 0}
.treatment-buttons button{font-size:.93rem;font-weight:700;line-height:1.25;background:#fff;color:#183f2d;border:1px solid #a9d3ba;padding:.68rem .82rem}.treatment-buttons button:hover{background:#2f8f63;color:#fff;border-color:#2f8f63}.treatment-group h3{font-size:1.08rem;color:#174d34}.treatment-tooth.denture-right::after{content:'';position:absolute;left:50%;top:76px;width:100%;height:5px;background:#d4a17f;border-radius:5px;z-index:2;pointer-events:none}.jaw-row.lower .treatment-tooth.denture-right::after{top:25px}.treatment-tooth.bridge-right::after{background:#2f9b68}.item-order{display:grid;gap:.12rem;justify-items:center}.item-order .drag-handle{line-height:1}.item-order button,.quick-move button{width:24px;height:21px;padding:0;border-radius:5px;background:#edf2ef;color:#406353;font-size:.72rem}.item-order button:hover,.quick-move button:hover{background:#d7e7de;transform:none}.quick-move{display:flex;gap:.2rem}.quick-move button:disabled{opacity:.35;cursor:default}.visit-row{grid-template-columns:26px minmax(150px,1fr) 56px auto minmax(185px,auto) auto 30px}.payable-edit{display:flex;flex-direction:row;align-items:center;gap:.4rem;color:#1f5f43}.payable-edit input{width:110px;padding:.4rem;font-weight:800;color:#1f5f43}.payable-auto{padding:.4rem .55rem;font-size:.75rem}.payable-auto:disabled{opacity:.4}.visit-deposit{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;padding:.65rem 1.25rem;border-top:1px dashed #d9dfdb;background:#f2f8f4;color:#285f47}.visit-deposit input{width:110px}.healing-row label{display:flex;flex-direction:row;align-items:center;gap:.6rem;flex:1}.healing-row input{max-width:240px}.catalog-form select[name="priceLabel"]{min-width:120px}
@media(max-width:900px){.visit-row{min-width:800px}.visit-block{overflow-x:auto}}
.visit-general-total{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding:.85rem 1.25rem;border-top:1px solid #c9dfd2;background:#e7f3ec;color:#174d34}.visit-general-total span{font-weight:700}.visit-general-total strong{min-width:120px;text-align:right;font:800 1.08rem Manrope}

.quote-summary{border-top:2px solid #9fc8b0;margin-top:.65rem}

.visit-divider-row{grid-template-columns:26px minmax(180px,1fr) auto 34px}.visit-divider-row .visit-delete{grid-column:4}.quote-summary{background:#fbfdfc}.summary-row{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding:.85rem 1.25rem;border-top:1px solid #d7e5dc}.summary-row span{font-weight:700}.summary-row strong{min-width:140px;text-align:right}.total-before-discount{background:#e7f3ec;color:#174d34;font-size:1.08rem}.after-discount{background:#f1f8f4;color:#285f47}.payable-summary-list{border-top:2px solid #b6d4c2}.payable-summary label{display:flex;align-items:center;gap:.45rem}.payable-summary input{width:130px;text-align:right;font-weight:800}.payable-summary b{min-width:34px}.payable-check{background:#174d34;color:#fff}.payable-check strong{font-size:1.08rem}
.diagnosis-skip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-color:#dec9d8;background:#fffafd}.diagnosis-skip p{margin:.35rem 0 0}.stage-disabled{opacity:.55;background:#eee!important;color:#777!important}.bulk-rate-import{margin:1rem 0 1.4rem;padding:1rem;border:1px solid #decfda;border-radius:12px;background:#fbf7fa}.bulk-rate-import .row,.import-actions{margin-top:.7rem}
.review-validity{margin:1.2rem 0;padding:1rem 1.1rem;border:1px solid #e6dce3;border-radius:14px;background:#fcfafb;display:flex;align-items:end;gap:1rem}.review-validity label{min-width:240px}.review-validity p{margin:0 0 .65rem}
.review-financial{margin:1rem 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-financial p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.7rem 1rem;border-top:1px solid var(--line)}.review-financial p:first-child{border-top:0}.review-financial p:last-child{background:#f0f6f2;color:#256849;font-size:1.05rem}
.patient-media-card{margin-top:1rem}.patient-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}.patient-media-slot{position:relative;display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fcfafb}.patient-media-number{position:absolute;right:.8rem;top:.7rem;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#54244f;color:#fff;font-weight:800}.patient-media-slot label{padding-right:2.2rem}.patient-media-slot label+label{padding-right:0}.patient-media-slot small{line-height:1.45}.patient-media-files{display:grid;gap:.4rem}.patient-media-files em{color:var(--muted);font-size:.8rem}.patient-media-files span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .5rem;padding:.55rem .65rem;background:#f2e9f0;border-radius:8px;font-size:.78rem;overflow:hidden}.patient-media-files span b{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-media-files span button{grid-column:2;grid-row:1/3;width:26px;height:26px;padding:0;align-self:center;background:transparent;color:#8e496f}.patient-media-files span:not(b){overflow-wrap:anywhere}.media-custom-title[hidden]{display:none}.media-limit-note{margin:.9rem 0 0}@media(max-width:780px){.patient-media-grid{grid-template-columns:1fr}}
