:root{
  --bg1:#eef7f4;
  --bg2:#f8fbff;
  --card:#ffffff;
  --text:#14213d;
  --muted:#6f7a91;
  --line:#d8e4e4;
  --primary:#1fb655;
  --primary-dark:#0f9a44;
  --soft:#eff8f3;
  --shadow:0 20px 60px rgba(24,44,77,.10);
  --radius:28px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);background:linear-gradient(135deg,var(--bg2),var(--bg1));min-height:100vh}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.app-shell{min-height:100vh;padding:18px}
.page-bg{background:linear-gradient(135deg,#edf5ff,#eefaf2)}
.landing-bg{display:flex;align-items:center;justify-content:center;padding:28px}
.mobile-wrap{max-width:720px;margin:0 auto}
.mobile-wrap.wide{max-width:1180px}
.glass-card,.panel-card{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:var(--radius)}
.hero-card{max-width:980px;padding:28px}
.panel-card{padding:22px;margin-bottom:18px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:14px 18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:var(--shadow)}
.topbar.simple{justify-content:flex-start;gap:14px}
.back-link{font-size:24px;line-height:1}
.brand-row{display:flex;align-items:center;gap:12px}
.brand-dot{width:14px;height:14px;border-radius:999px;background:linear-gradient(180deg,#2bd87d,#159d48);box-shadow:0 0 0 4px rgba(31,182,85,.15)}
.brand-title{font-weight:800;font-size:28px;letter-spacing:-.02em}
.brand-title.sm{font-size:20px}
.brand-sub,.muted{color:var(--muted)}
.small{font-size:13px}.smaller{font-size:12px}
.hero-copy h1{font-size:42px;line-height:1.05;margin:22px 0 12px;max-width:620px}
.hero-copy p{font-size:18px;line-height:1.55;max-width:760px;color:#4d5972}
.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 24px}
.primary-btn,.soft-btn,.menu-btn,.tab-btn,.subtab-btn{border:none;border-radius:18px;padding:14px 18px;font-weight:700;cursor:pointer;transition:.2s ease}
.primary-btn{background:linear-gradient(180deg,linear-gradient(135deg, #1E3CFF, #3AAEFF),#15a34a);color:#fff;box-shadow:0 14px 32px rgba(31,182,85,.28)}
.primary-btn:hover{transform:translateY(-1px)}
.soft-btn,.menu-btn,.tab-btn,.subtab-btn{background:#f5f8fb;color:var(--text);border:1px solid #e3ecf4}
.big-btn{padding:16px 22px}
.small-btn{padding:10px 14px;border-radius:14px}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-box{padding:18px;border-radius:22px;background:#f8fbfe;border:1px solid #e7eff6;display:flex;flex-direction:column;gap:6px}
.tab-switch,.section-subtabs{display:flex;gap:10px;margin-bottom:14px}
.tab-btn.active,.subtab-btn.active,.menu-btn.active{background:#ecf8f0;border-color:#bee8cb;color:#0f9a44}
.hidden{display:none!important}
.form-stack,.list-stack{display:flex;flex-direction:column;gap:12px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.input{width:100%;border:1px solid #dce6ec;background:#fbfdff;border-radius:18px;padding:14px 16px;outline:none;color:var(--text)}
.input:focus{border-color:#a8dbb8;box-shadow:0 0 0 4px rgba(31,182,85,.08)}
.textarea{min-height:98px;resize:vertical}
.input.slim{padding:12px 14px;max-width:240px}
.msg{font-size:14px;color:#0f9a44;min-height:20px;padding-top:4px}
.layout-grid{display:grid;grid-template-columns:220px 1fr;gap:18px}
.side-menu{height:max-content;display:flex;flex-direction:column;gap:10px;padding:14px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-head.tight{margin-bottom:10px}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stat-box{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f9fcff,#f0f8f3);border:1px solid #dceae4}
.stat-box span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}
.stat-box strong{font-size:28px}
.clinic-card-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e4ecec;border-radius:24px;background:#fbfffd}
.clinic-preview-left{display:flex;align-items:center;gap:14px}.mini-logo{width:64px;height:64px;border-radius:18px;object-fit:cover;background:#eef7f0}
.badge-pill{padding:10px 14px;border-radius:999px;background:#eef9f2;color:#0f9a44;font-weight:700}
.avatar-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}.avatar-row.left{justify-content:flex-start}
.avatar-upload{width:96px;height:96px;border-radius:50%;background:#eef7f1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:2px dashed #bfe3ca;cursor:pointer;transition:.2s ease;box-shadow:0 12px 28px rgba(24,44,77,.08)}
.avatar-upload.squareish{border-radius:24px}
.avatar-upload.xs{width:58px;height:58px;border-radius:18px;border-style:solid}
.avatar-upload:hover{transform:scale(1.03)}
.avatar-upload img{width:100%;height:100%;object-fit:cover;display:none}.avatar-upload.has-image img{display:block}.avatar-upload.has-image .avatar-placeholder{display:none}
.avatar-placeholder{color:#17a34a;font-weight:800;font-size:40px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.label-title{font-weight:700}
.profile-photo{border-radius:50%;object-fit:cover;background:#eef7f1;border:1px solid #d4e7da}.profile-photo.sm{width:56px;height:56px}.profile-photo.lg{width:86px;height:86px}
.patient-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #e2ecea;border-radius:22px;background:#fbfffd}
.patient-main{display:flex;align-items:center;gap:14px}.patient-meta{display:flex;flex-direction:column;gap:4px}
.meta-chip{display:inline-block;padding:7px 10px;border-radius:999px;background:#eef7f3;color:#0f9a44;font-size:12px;font-weight:700}
.patient-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.patient-head-left{display:flex;align-items:center;gap:14px}
.panel-soft{background:#f8fcfa;border:1px solid #dfece5;border-radius:24px;padding:18px;margin-top:16px}
.timeline-list{display:flex;flex-direction:column;gap:12px}.timeline-item{display:flex;gap:14px;padding:16px;border-radius:22px;border:1px solid #e4ece8;background:#fbfffd}.timeline-dot{width:12px;height:12px;border-radius:999px;background:#1fb655;margin-top:8px;flex:0 0 auto}
.clinic-head{display:flex;align-items:center;gap:12px}.clinic-topbar{position:sticky;top:10px;z-index:5}
.tooth-map-wrap{padding:18px;border-radius:28px;background:linear-gradient(180deg,#fbffff,#f4faf8);border:1px solid #dce9e5;overflow:auto}
.tooth-map-svg{width:100%;min-width:760px;height:auto;display:block}
.tooth-shape{fill:#fff;stroke:#d5dee8;stroke-width:2;cursor:pointer;transition:.2s ease}.tooth-shape:hover{filter:drop-shadow(0 10px 14px rgba(0,0,0,.08));transform-box:fill-box;transform-origin:center;transform:translateY(-2px)}
.tooth-label{font-size:11px;fill:#6f7a91;font-weight:700;pointer-events:none}
.tooth-normal{fill:#ffffff}.tooth-dolgu{fill:#65a8ff}.tooth-kanal{fill:#b07bff}.tooth-implant{fill:#55d38a}.tooth-kaplama{fill:#f5c95e}.tooth-cekim{fill:#bcc7d4}.tooth-sorunlu{fill:#ff7f7f}.tooth-selected{stroke:#17a34a;stroke-width:3}
.patient-view .panel-card{margin-bottom:16px}
.content-column{min-width:0}
.tooth-editor{background:#f8fcfa;border:1px solid #dfece5;border-radius:24px;padding:18px;margin-top:16px}
.centered-row{justify-content:center}
.compact-copy{margin-bottom:0}
.compact-copy h1{font-size:28px;margin:12px 0 8px}
.compact-copy p{font-size:15px}
.center-copy{text-align:center}
.center-copy h1{max-width:100%}
.choice-stack{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.choice-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:22px;border:1.5px solid #dce9e4;background:#fbfffd;transition:.2s ease;cursor:pointer}
.choice-card:hover{border-color:#9fd4b4;background:#f2fbf6;transform:translateY(-1px)}
.choice-card strong{display:block;font-size:16px;font-weight:700;margin-bottom:4px;color:var(--text)}
.choice-card span{font-size:13px;color:var(--muted)}
.choice-patient{border-left:4px solid #55d38a}
.choice-clinic{border-left:4px solid #1fb655}
.choice-arrow{font-size:20px;color:var(--muted);flex-shrink:0}
.splash-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,#eefaf3,#e8f4ff)}
.splash-logo-wrap{display:flex;align-items:center;gap:14px}
.splash-brand{font-size:48px;font-weight:800;letter-spacing:-.03em;color:var(--text)}
.brand-dot.lg{width:22px;height:22px}
.splash-title{font-size:20px;font-weight:600;color:var(--text)}
.splash-sub{font-size:15px;color:var(--muted)}
.auth-choice-card{max-width:540px;width:100%;padding:32px 28px}
.msg.error{color:#e53e3e}
@media (max-width: 920px){.layout-grid{grid-template-columns:1fr}.side-menu{flex-direction:row;overflow:auto}.summary-grid,.form-grid,.form-grid.compact,.feature-grid{grid-template-columns:1fr}.hero-copy h1{font-size:34px}.clinic-card-preview,.patient-detail-head{flex-direction:column;align-items:flex-start}}
@media (max-width: 480px){.auth-choice-card{padding:22px 16px}.choice-card{padding:16px 14px}}
.notif-bell{position:relative;cursor:pointer;padding:8px;border-radius:12px;background:#f5f8fb;border:1px solid #e3ecf4;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.2s ease}
.notif-bell:hover{background:#ecf8f0;border-color:#bee8cb;color:#0f9a44}
.notif-count{position:absolute;top:-4px;right:-4px;background:#e53e3e;color:#fff;font-size:10px;font-weight:700;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.notif-read{opacity:.55}
.appt-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.appt-scheduled .meta-chip,.meta-chip.appt-scheduled{background:#e8f4ee;color:#0f9a44}
.meta-chip.appt-completed,.appt-completed .meta-chip{background:#eaf3de;color:#3B6D11}
.meta-chip.appt-cancelled,.appt-cancelled .meta-chip{background:#fee;color:#c53030}
.meta-chip.appt-noshow,.appt-noshow .meta-chip{background:#fff3cd;color:#856404}


.logo-wrapper {
  width: 100%;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 40px;
}
.logo-wrapper img {
  width: 180px;
  max-width: 80%;
}
.logo-wrapper h1 {
  margin-top: 15px;
  font-size: 28px;
  font-weight: 600;
  color: #0f172a;
}



/* ChatGPT fix: readability + bigger logo + hide repeated text near logo */
.hero-brand, .brand, .brand-text, .logo-text, .site-title, .app-title, .navbar-brand, .top-brand, .header-brand {
  color: #102147 !important;
}
h1, h2, h3, h4, h5, h6,
p, span, label, small, strong, li, a, div, button {
  text-shadow: none !important;
}
button, .btn, .card, .panel, .option-card, .choice-card, .feature-card {
  color: #102147 !important;
}
input, textarea, select, .input, .field {
  color: #102147 !important;
}
.muted, .subtitle, .subtext, .description, .desc, .helper, .hint {
  color: #334155 !important;
}
.logo-wrapper {
  width: 100%;
  text-align: center;
  margin: 30px 0 10px 0;
}
.logo-wrapper img {
  width: 230px !important;
  max-width: 88%;
  display: inline-block;
}
.logo-wrapper h1 {
  display: none !important;
}
.logo-wrapper + * {
  margin-top: 10px !important;
}


.media-card{align-items:center}
.xray-thumb{width:82px;height:82px;object-fit:cover;border-radius:16px;border:1px solid #d7e7df;background:#fff}
.modal.hidden{display:none}
.modal{position:fixed;inset:0;z-index:40}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.modal-card{position:relative;max-width:820px;margin:40px auto;background:#fff;border-radius:28px;padding:20px;max-height:calc(100vh - 80px);overflow:auto;box-shadow:0 24px 80px rgba(15,23,42,.22)}
.detail-grid{display:grid;gap:14px}
@media (max-width: 720px){.modal-card{margin:10px;padding:16px;border-radius:22px}.xray-thumb{width:68px;height:68px}}

.tooth-map-wrap{overflow:hidden;padding:0;border:none;background:transparent}
.tooth-map-card{padding:18px;border-radius:28px;background:linear-gradient(180deg,#fbffff,#f4faf8);border:1px solid #dce9e5}
.tooth-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.tooth-map-title{font-weight:800;font-size:18px}.tooth-map-sub{font-size:13px;color:var(--muted)}
.tooth-map-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.legend-chip{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e3ece8;font-size:12px}.legend-dot,.tooth-state-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.tooth-state-normal{background:#fff;border:1px solid #d5dee8}.tooth-state-dolgu{background:#65a8ff}.tooth-state-kanal{background:#b07bff}.tooth-state-implant{background:#55d38a}.tooth-state-kaplama{background:#f5c95e}.tooth-state-cekim{background:#bcc7d4}.tooth-state-sorunlu{background:#ff7f7f}
.jaw-block{margin-top:10px}.jaw-title{font-weight:700;margin:0 0 8px 2px;color:#3b495c}
.mouth-arch-wrap{display:flex;flex-direction:column;gap:14px}
.jaw-arch{padding:10px 10px 12px;border:1px solid #e1ece7;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fcfa)}
.teeth-arc{display:flex;align-items:flex-end;justify-content:space-between;gap:2px;overflow:visible;padding:8px 0 2px}
.jaw-arch.bottom .teeth-arc{align-items:flex-start;padding:2px 0 8px}
.tooth-card{position:relative;border:1px solid #deebe4;background:#fff;border-radius:14px;padding:4px 1px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;min-height:auto;width:clamp(18px,5.1vw,34px);transform:translateY(var(--curve)) rotate(var(--rotate));transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.tooth-card.is-selected{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)} .tooth-card:disabled{cursor:default}
.tooth-visual{display:flex;align-items:center;justify-content:center;height:clamp(28px,8.3vw,54px)}.tooth-svg{width:clamp(16px,4.8vw,30px);height:clamp(28px,8.3vw,54px)}.tooth-svg path{fill:#fff;stroke:#d5dee8;stroke-width:1.5}
.tooth-card.tooth-dolgu .tooth-svg path{fill:#65a8ff}.tooth-card.tooth-kanal .tooth-svg path{fill:#b07bff}.tooth-card.tooth-implant .tooth-svg path{fill:#55d38a}.tooth-card.tooth-kaplama .tooth-svg path{fill:#f5c95e}.tooth-card.tooth-cekim .tooth-svg path{fill:#bcc7d4}.tooth-card.tooth-sorunlu .tooth-svg path{fill:#ff7f7f}
.tooth-no{font-size:11px;font-weight:800;color:#516072;line-height:1}.tooth-state-dot{position:absolute;top:5px;right:4px;width:8px;height:8px}
@media (max-width: 480px){.auth-choice-card{padding:22px 16px}.choice-card{padding:16px 14px}}
.notif-bell{position:relative;cursor:pointer;padding:8px;border-radius:12px;background:#f5f8fb;border:1px solid #e3ecf4;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.2s ease}
.notif-bell:hover{background:#ecf8f0;border-color:#bee8cb;color:#0f9a44}
.notif-count{position:absolute;top:-4px;right:-4px;background:#e53e3e;color:#fff;font-size:10px;font-weight:700;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.notif-read{opacity:.55}
.appt-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.appt-scheduled .meta-chip,.meta-chip.appt-scheduled{background:#e8f4ee;color:#0f9a44}
.meta-chip.appt-completed,.appt-completed .meta-chip{background:#eaf3de;color:#3B6D11}
.meta-chip.appt-cancelled,.appt-cancelled .meta-chip{background:#fee;color:#c53030}
.meta-chip.appt-noshow,.appt-noshow .meta-chip{background:#fff3cd;color:#856404}


.logo-wrapper {
  width: 100%;
  text-align: center;
  margin-top: 60px;
  margin-bottom: 40px;
}
.logo-wrapper img {
  width: 180px;
  max-width: 80%;
}
.logo-wrapper h1 {
  margin-top: 15px;
  font-size: 28px;
  font-weight: 600;
  color: #0f172a;
}



/* ChatGPT fix: readability + bigger logo + hide repeated text near logo */
.hero-brand, .brand, .brand-text, .logo-text, .site-title, .app-title, .navbar-brand, .top-brand, .header-brand {
  color: #102147 !important;
}
h1, h2, h3, h4, h5, h6,
p, span, label, small, strong, li, a, div, button {
  text-shadow: none !important;
}
button, .btn, .card, .panel, .option-card, .choice-card, .feature-card {
  color: #102147 !important;
}
input, textarea, select, .input, .field {
  color: #102147 !important;
}
.muted, .subtitle, .subtext, .description, .desc, .helper, .hint {
  color: #334155 !important;
}
.logo-wrapper {
  width: 100%;
  text-align: center;
  margin: 30px 0 10px 0;
}
.logo-wrapper img {
  width: 230px !important;
  max-width: 88%;
  display: inline-block;
}
.logo-wrapper h1 {
  display: none !important;
}
.logo-wrapper + * {
  margin-top: 10px !important;
}


.media-card{align-items:center}
.xray-thumb{width:82px;height:82px;object-fit:cover;border-radius:16px;border:1px solid #d7e7df;background:#fff}
.modal.hidden{display:none}
.modal{position:fixed;inset:0;z-index:40}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.modal-card{position:relative;max-width:820px;margin:40px auto;background:#fff;border-radius:28px;padding:20px;max-height:calc(100vh - 80px);overflow:auto;box-shadow:0 24px 80px rgba(15,23,42,.22)}
.detail-grid{display:grid;gap:14px}
@media (max-width: 720px){.modal-card{margin:10px;padding:16px;border-radius:22px}.xray-thumb{width:68px;height:68px}}

.tooth-map-wrap{overflow:hidden;padding:0;border:none;background:transparent}
.tooth-map-card{padding:18px;border-radius:28px;background:linear-gradient(180deg,#fbffff,#f4faf8);border:1px solid #dce9e5}
.tooth-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.tooth-map-title{font-weight:800;font-size:18px}.tooth-map-sub{font-size:13px;color:var(--muted)}
.tooth-map-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.legend-chip{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e3ece8;font-size:12px}.legend-dot,.tooth-state-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.tooth-state-normal{background:#fff;border:1px solid #d5dee8}.tooth-state-dolgu{background:#65a8ff}.tooth-state-kanal{background:#b07bff}.tooth-state-implant{background:#55d38a}.tooth-state-kaplama{background:#f5c95e}.tooth-state-cekim{background:#bcc7d4}.tooth-state-sorunlu{background:#ff7f7f}
.jaw-block{margin-top:10px}.jaw-title{font-weight:700;margin:0 0 8px 2px;color:#3b495c}.teeth-row-modern{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.tooth-card{position:relative;border:1px solid #deebe4;background:#fff;border-radius:18px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;min-height:90px}
.tooth-card.is-selected{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)} .tooth-card:disabled{cursor:default}
.tooth-visual{display:flex;align-items:center;justify-content:center;height:54px}.tooth-svg{width:34px;height:54px}.tooth-svg path{fill:#fff;stroke:#d5dee8;stroke-width:1.5}
.tooth-card.tooth-dolgu .tooth-svg path{fill:#65a8ff}.tooth-card.tooth-kanal .tooth-svg path{fill:#b07bff}.tooth-card.tooth-implant .tooth-svg path{fill:#55d38a}.tooth-card.tooth-kaplama .tooth-svg path{fill:#f5c95e}.tooth-card.tooth-cekim .tooth-svg path{fill:#bcc7d4}.tooth-card.tooth-sorunlu .tooth-svg path{fill:#ff7f7f}
.tooth-no{font-size:12px;font-weight:800;color:#516072}.tooth-state-dot{position:absolute;top:8px;right:8px}
#appointmentCalendar .cal-month{margin-bottom:14px}.cal-title{font-weight:800;margin-bottom:8px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-cell,.cal-head{padding:8px;border-radius:12px;text-align:center;font-size:12px}.cal-head{background:#f5f8fb;font-weight:700}.cal-cell{background:#fff;border:1px solid #e7edf3;min-height:44px}.cal-cell .dots{display:flex;justify-content:center;gap:4px;margin-top:4px}.dot{width:7px;height:7px;border-radius:999px;display:inline-block}.dot.requested{background:#d97706}.dot.scheduled{background:#16a34a}.dot.completed{background:#2563eb}.dot.cancelled{background:#dc2626}.dot.noshow{background:#856404}
.meta-chip.appt-requested,.appt-requested .meta-chip{background:#fff3cd;color:#856404}
@media (max-width: 920px){.mobile-wrap.wide{width:min(100%,480px)}.panel-card,.panel-soft{padding:14px;border-radius:20px}.teeth-row-modern{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid,.form-grid.compact{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}.patient-item{align-items:flex-start}.section-head{align-items:flex-start}.modal-card{width:auto}.logo-wrapper img{width:170px!important}}
@media (max-width: 480px){body{overflow-x:hidden}.mobile-wrap{padding:12px}.app-shell{padding:8px 0 18px}.summary-grid{grid-template-columns:1fr}.patient-item,.patient-main,.patient-detail-head,.patient-head-left,.clinic-card-preview,.clinic-preview-left,.section-subtabs,.appt-filter-row{flex-direction:column;align-items:flex-start}.side-menu{flex-direction:column}.teeth-row-modern{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tooth-card{min-height:82px;padding:6px 2px}.cal-grid{gap:4px}.cal-cell,.cal-head{padding:6px;font-size:11px}}


.patient-app-shell{padding:12px 12px 88px}
.patient-app-sections{display:flex;flex-direction:column;gap:12px}
.accordion-card{border:1px solid #dfe8e4;border-radius:22px;background:#fbfffd;overflow:hidden}
.accordion-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff;border:none;font-size:16px;font-weight:800;color:#102147;cursor:pointer}
.accordion-arrow{font-size:20px;line-height:1;transition:transform .2s ease;color:#5b6779}
.accordion-body{display:none;padding:0 14px 14px}
.accordion-card.is-open .accordion-body{display:block}
.accordion-card.is-open .accordion-arrow{transform:rotate(180deg)}
.patient-bottom-nav{position:sticky;bottom:10px;z-index:9;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 4px;padding:10px;border-radius:22px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(15,23,42,.12);border:1px solid #deebe4}
.bottom-nav-btn{border:none;background:#f4f7fb;color:#516072;border-radius:16px;padding:12px 8px;font-size:12px;font-weight:800;cursor:pointer}
.bottom-nav-btn.is-active{background:#17a34a;color:#fff}
.patient-view .panel-card{margin-bottom:12px}
.patient-app-shell .tooth-map-wrap{padding:0}
.patient-app-shell .panel-soft,.patient-app-shell .timeline-item,.patient-app-shell .patient-item{border-radius:18px}
@media (max-width:480px){
  .logo-wrapper{margin:16px 0 8px 0}
  .logo-wrapper img{width:150px!important}
  .patient-detail-head{gap:10px}
  .accordion-head{padding:14px 14px;font-size:15px}
  .accordion-body{padding:0 10px 10px}
  .patient-bottom-nav{bottom:6px;padding:8px;gap:6px}
  .bottom-nav-btn{padding:10px 6px;font-size:11px}
}


/* ===== subtle premium refresh v7 (tasarım dokunuşu, sistem korunur) ===== */
:root{
  --bg1:#eef4ff;
  --bg2:#f5fbf8;
  --card:#ffffff;
  --text:#17233b;
  --muted:#71809a;
  --line:#dbe6ef;
  --primary:#4f6df5;
  --primary-dark:#3957db;
  --primary-soft:#eef2ff;
  --soft:#f7faff;
  --shadow:0 18px 44px rgba(31,41,55,.08);
  --shadow-soft:0 8px 24px rgba(79,109,245,.08);
}
body{
  background:
    radial-gradient(circle at top left, rgba(79,109,245,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(34,197,94,.08), transparent 26%),
    linear-gradient(180deg,var(--bg2),var(--bg1));
}
.page-bg{
  background:
    radial-gradient(circle at 10% 0%, rgba(79,109,245,.08), transparent 24%),
    radial-gradient(circle at 100% 10%, rgba(34,197,94,.06), transparent 18%),
    linear-gradient(135deg,#f5f9ff,#eef8f3);
}
.panel-card,.glass-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,230,240,.95);
  box-shadow:var(--shadow);
}
.topbar{
  background:rgba(255,255,255,.82);
  border-color:rgba(223,232,242,.95);
  box-shadow:0 14px 32px rgba(23,35,59,.08);
}
.soft-btn,.menu-btn,.tab-btn,.subtab-btn,.input,.panel-soft,.notif-bell{
  border-color:#dfe7f1;
}
.primary-btn{
  background:linear-gradient(135deg,var(--primary),#6b86ff);
  box-shadow:0 10px 20px rgba(79,109,245,.22);
}
.primary-btn:hover{transform:translateY(-1px)}
.soft-btn,.menu-btn,.tab-btn,.subtab-btn{
  background:linear-gradient(180deg,#ffffff,#f7faff);
}
.section-head h2,.accordion-head span:first-child,.tooth-map-title{
  letter-spacing:-.02em;
}
.brand-title.sm,#patientSelfName,#dashClinicName{letter-spacing:-.02em}
.summary-grid{gap:14px}
.stat-box{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#f6f9ff);
  border:1px solid #dde7f1;
  box-shadow:var(--shadow-soft);
}
.stat-box::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--primary),#8ea1ff);
  opacity:.9;
}
.stat-box strong{font-size:30px;letter-spacing:-.03em}
.panel-soft{
  background:linear-gradient(180deg,#fbfdff,#f5f9ff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.list-stack > *, .timeline-item, .patient-item{
  box-shadow:0 8px 22px rgba(23,35,59,.04);
}
.patient-item{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  border-color:#dfe8f1;
}
.logo-wrapper img{filter:drop-shadow(0 8px 20px rgba(79,109,245,.12))}

/* clinic menu */
.side-menu{
  position:sticky;top:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.94));
  border:1px solid #dfe7f1;
  box-shadow:var(--shadow);
}
.menu-btn{
  display:flex;align-items:center;gap:12px;justify-content:flex-start;
  border-radius:18px;
  min-height:52px;
  font-weight:800;
}
.menu-btn::before,.bottom-nav-btn::before,.accordion-head::before{
  content:"";width:18px;height:18px;display:inline-block;flex:0 0 18px;
  background-repeat:no-repeat;background-position:center;background-size:18px 18px;opacity:.85;
}
.menu-btn.active{
  background:linear-gradient(180deg,#f1f4ff,#edf5ff);
  border-color:#cfd9ff;
  color:var(--primary-dark);
  box-shadow:0 8px 18px rgba(79,109,245,.12);
}
.menu-btn[data-view="dashboard"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20h14V9.5'/%3E%3C/svg%3E")}
.menu-btn[data-view="appointments"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
.menu-btn[data-view="patients"]::before,.menu-btn[data-view="new-patient"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3C/svg%3E")}
.menu-btn[data-view="doctors"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V8'/%3E%3Cpath d='M7 13h10'/%3E%3Cpath d='M6 3h12l-1 5H7L6 3Z'/%3E%3C/svg%3E")}
.menu-btn[data-view="payments"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h9a4 4 0 1 1 0 8H9a4 4 0 1 0 0 8h9'/%3E%3C/svg%3E")}
.menu-btn[data-view="notifications"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E")}
.menu-btn[data-view="settings"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.6 1.6 0 0 0 .33 1.76l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06A1.6 1.6 0 0 0 15 19.4a1.6 1.6 0 0 0-1 .6 1.6 1.6 0 0 1-2 0 1.6 1.6 0 0 0-1-.6 1.6 1.6 0 0 0-1.76.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.6 1.6 0 0 0 4.6 15a1.6 1.6 0 0 0-.6-1 1.6 1.6 0 0 1 0-2 1.6 1.6 0 0 0 .6-1 1.6 1.6 0 0 0-.33-1.76l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.6 1.6 0 0 0 9 4.6c.37-.05.72-.26 1-.6a1.6 1.6 0 0 1 2 0c.28.34.63.55 1 .6a1.6 1.6 0 0 0 1.76-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.6 1.6 0 0 0 19.4 9c.05.37.26.72.6 1a1.6 1.6 0 0 1 0 2c-.34.28-.55.63-.6 1Z'/%3E%3C/svg%3E")}

/* patient accordions */
.accordion-card{
  border:1px solid #dfe7f1;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 10px 26px rgba(23,35,59,.05);
}
.accordion-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;padding:16px 18px;background:transparent;border:none;cursor:pointer;
  font-weight:800;color:var(--text);font-size:15px;
}
.accordion-head span:first-child{display:flex;align-items:center;gap:12px}
.accordion-body{padding:0 18px 18px;border-top:1px solid #eef2f7;background:linear-gradient(180deg,#fcfdff,#f8fbff)}
.accordion-arrow{color:#7b8ba7;font-size:18px;transition:.2s ease}
.accordion-card[data-section="disler"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3c-1.7 0-3 1.3-3 3 0 2.4 1.5 4.5 1.5 7 0 3.1 1.6 8 4.5 8 1.8 0 1.5-3 2-5 .5 2 0 5 2 5 2.9 0 4.5-4.9 4.5-8 0-2.5 1.5-4.6 1.5-7 0-1.7-1.3-3-3-3-2.3 0-3.5 1.5-5 1.5S9.3 3 7 3Z'/%3E%3C/svg%3E")}
.accordion-card[data-section="randevularim"] .accordion-head::before,.accordion-card[data-section="randevual"] .accordion-head::before,.accordion-card[data-section="yaklasan"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
.accordion-card[data-section="filmler"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Cpath d='m8 10 2.5 2.5L14 9l4 4'/%3E%3Ccircle cx='8' cy='8' r='1'/%3E%3C/svg%3E")}
.accordion-card[data-section="gecmis"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8v5l3 2'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")}
.accordion-card[data-section="iletisim"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92V19a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07A19.5 19.5 0 0 1 5.07 11.8 19.8 19.8 0 0 1 2 3.18 2 2 0 0 1 4 1h2.09a2 2 0 0 1 2 1.72l.36 2.57a2 2 0 0 1-.57 1.72l-1.2 1.2a16 16 0 0 0 6.92 6.92l1.2-1.2a2 2 0 0 1 1.72-.57l2.57.36A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E")}
.accordion-card[data-section="odeme"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}
.accordion-card[data-section="bildirimler"] .accordion-head::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f6df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E")}

/* tooth map visual polish */
.tooth-map-card,.tooth-map-wrap{
  background:linear-gradient(180deg,#fbfdff,#f5f9ff);
  border-color:#dfe7f1;
}
.tooth-map-title{font-size:19px}
.legend-chip{background:#fff;border-color:#dfe7f1;box-shadow:0 4px 10px rgba(79,109,245,.05)}
.tooth-card{
  border-color:#dfe7f1;
  box-shadow:0 6px 14px rgba(79,109,245,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.tooth-card:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(79,109,245,.10)}
.tooth-card.is-selected{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(79,109,245,.12),0 12px 20px rgba(79,109,245,.10);
}

/* patient bottom nav */
.patient-bottom-nav{
  bottom:12px;
  padding:8px;
  gap:8px;
  border-radius:26px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(220,230,240,.95);
  box-shadow:0 16px 36px rgba(23,35,59,.12);
}
.bottom-nav-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  min-height:58px;
  border:1px solid transparent;
  background:transparent;
  color:#68778f;
  border-radius:18px;
  font-size:11px;
  letter-spacing:.01em;
}
.bottom-nav-btn::before{width:20px;height:20px;flex-basis:20px;background-size:20px 20px}
.bottom-nav-btn[data-open-section="disler"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371809a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3c-1.7 0-3 1.3-3 3 0 2.4 1.5 4.5 1.5 7 0 3.1 1.6 8 4.5 8 1.8 0 1.5-3 2-5 .5 2 0 5 2 5 2.9 0 4.5-4.9 4.5-8 0-2.5 1.5-4.6 1.5-7 0-1.7-1.3-3-3-3-2.3 0-3.5 1.5-5 1.5S9.3 3 7 3Z'/%3E%3C/svg%3E")}
.bottom-nav-btn[data-open-section="randevularim"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371809a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
.bottom-nav-btn[data-open-section="filmler"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371809a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Cpath d='m8 10 2.5 2.5L14 9l4 4'/%3E%3Ccircle cx='8' cy='8' r='1'/%3E%3C/svg%3E")}
.bottom-nav-btn[data-open-section="iletisim"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371809a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92V19a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07A19.5 19.5 0 0 1 5.07 11.8 19.8 19.8 0 0 1 2 3.18 2 2 0 0 1 4 1h2.09a2 2 0 0 1 2 1.72l.36 2.57a2 2 0 0 1-.57 1.72l-1.2 1.2a16 16 0 0 0 6.92 6.92l1.2-1.2a2 2 0 0 1 1.72-.57l2.57.36A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E")}
.bottom-nav-btn.is-active{
  background:linear-gradient(180deg,#edf2ff,#eef5ff);
  color:var(--primary-dark);
  border-color:#d6ddff;
  box-shadow:0 10px 18px rgba(79,109,245,.12);
}
.bottom-nav-btn.is-active[data-open-section="disler"]::before,.bottom-nav-btn.is-active[data-open-section="randevularim"]::before,.bottom-nav-btn.is-active[data-open-section="filmler"]::before,.bottom-nav-btn.is-active[data-open-section="iletisim"]::before{filter:hue-rotate(0deg) saturate(120%);opacity:1}

/* mobile safety */
@media (max-width:920px){
  .side-menu{position:static;padding:10px;gap:8px}
  .menu-btn{min-height:48px;white-space:nowrap}
}
@media (max-width:480px){
  .topbar{padding:12px 14px;border-radius:20px}
  .panel-card,.panel-soft{box-shadow:0 10px 26px rgba(23,35,59,.06)}
  .stat-box strong{font-size:24px}
  .accordion-head{padding:14px 16px;font-size:14px}
  .accordion-body{padding:0 16px 16px}
  .patient-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));bottom:8px}
  .bottom-nav-btn{min-height:54px;font-size:10.5px}
}


/* v8 mobile fit fix: no horizontal spill in patient detail subtabs */
#patientDetailSection{overflow:hidden}
.section-subtabs{flex-wrap:wrap;overflow:visible}
.subtab-btn{max-width:100%;min-width:0;white-space:normal;word-break:break-word}
@media (max-width: 920px){
  .section-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .subtab-btn{width:100%;justify-content:center;text-align:center;padding:12px 10px;border-radius:16px}
}
@media (max-width: 480px){
  .section-subtabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .subtab-btn{font-size:13px;line-height:1.2;padding:11px 8px}
}


/* ===== giriş ekranı sadeleştirme v9 ===== */
.entry-page{min-height:100vh;position:relative}
.entry-home{
  display:flex;align-items:center;justify-content:center;padding:24px;
  background:
    url('entry-bg.png') center/cover no-repeat;
}
.entry-home-overlay{position:absolute;inset:0;background:rgba(255,255,255,.10)}
.entry-home-content{position:relative;z-index:1;width:min(100%,420px);display:flex;flex-direction:column;align-items:center;gap:18px}
.entry-logo{width:210px;max-width:78vw;display:block}
.home-logo{filter:drop-shadow(0 14px 34px rgba(0,0,0,.24))}
.entry-actions{display:flex;flex-direction:column;gap:14px;width:100%}
.entry-main-btn{display:flex;align-items:center;gap:14px;width:100%;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.94);color:#16233f!important;font-weight:800;box-shadow:0 16px 36px rgba(8,15,30,.18);backdrop-filter:blur(8px)}
.entry-main-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eef6ff;font-size:20px;flex:0 0 42px}
.entry-admin-link{font-size:12px;color:rgba(255,255,255,.82)!important}
.entry-plain{background:#f7fafc;display:flex;align-items:flex-start;justify-content:center;padding:22px 18px}
.entry-plain-inner{width:min(100%,380px);display:flex;flex-direction:column;align-items:center;padding-top:18px}
.entry-back{align-self:flex-start;font-size:24px;color:#20304f!important;margin-bottom:10px;padding:6px 4px}
.entry-form{width:100%;display:flex;flex-direction:column;gap:12px}
.simple-login-form{margin-top:10px}
.entry-input{width:100%;border:none;border-bottom:1px solid #d8e0ea;background:transparent;padding:15px 2px;border-radius:0;outline:none;color:#12213f;font-size:16px}
.entry-input::placeholder{color:#7b879a}
.entry-input:focus{border-bottom-color:#1fb655;box-shadow:none}
.entry-submit{margin-top:6px;border:none;border-radius:16px;padding:14px 18px;background:#1fb655;color:#fff;font-weight:800;cursor:pointer}
.remember-row{display:flex;align-items:center;gap:10px;color:#4b5a74;font-size:14px;padding:2px 0}
.remember-row input{accent-color:#1fb655;width:16px;height:16px}
.entry-msg{padding-top:2px;min-height:18px}
@media (max-width:480px){
  .entry-home{padding:18px}
  .entry-logo{width:180px}
  .entry-main-btn{padding:16px 16px;border-radius:18px}
  .entry-main-icon{width:38px;height:38px;font-size:18px}
  .entry-plain{padding:18px 16px}
  .entry-plain-inner{padding-top:6px}
}


/* ===== mobile clinic compact fix v10 ===== */
@media (max-width: 920px){
  .clinic-topbar{position:static;top:auto}
  .layout-grid{gap:12px}
  .side-menu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
  }
  .menu-btn{
    min-height:44px;
    padding:12px 10px;
    white-space:normal;
    font-size:14px;
    border-radius:16px;
    justify-content:flex-start;
  }
  .summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
  }
  .stat-box{
    padding:14px 14px 12px;
    border-radius:18px;
  }
  .stat-box span{font-size:12px;margin-bottom:6px}
  .stat-box strong{font-size:18px}
  .clinic-card-preview{
    padding:14px;
    border-radius:20px;
    gap:10px;
    align-items:flex-start;
  }
  .clinic-preview-left{gap:10px;align-items:center}
  .mini-logo{width:44px;height:44px;border-radius:14px}
  #dashClinicName{font-size:18px;margin:0 0 4px}
  #dashClinicAddress,#dashClinicOwner{font-size:12px;line-height:1.35;margin:0}
  .badge-pill{font-size:12px;padding:8px 12px}
}
@media (max-width: 480px){
  .mobile-wrap.wide{width:100%;max-width:100%}
  .topbar{padding:12px 14px;border-radius:20px;gap:10px}
  .clinic-head{min-width:0;flex:1}
  .clinic-head > div:last-child{min-width:0;flex:1}
  #headerClinicName,.brand-title.sm{font-size:15px;line-height:1.1;word-break:break-word}
  #headerClinicMeta{font-size:12px;line-height:1.3;word-break:break-word}
  .side-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .menu-btn{font-size:13px;padding:11px 10px;min-height:42px}
  .menu-btn::before{width:15px;height:15px}
  .panel-card{padding:12px}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat-box{padding:12px;border-radius:16px}
  .stat-box strong{font-size:16px}
  .clinic-card-preview{padding:12px;border-radius:18px}
  .clinic-preview-left{width:100%}
  .clinic-preview-left > div{min-width:0}
  #dashClinicName{font-size:16px}
  #dashClinicAddress,#dashClinicOwner{font-size:11px}
  .badge-pill{padding:7px 10px;font-size:11px}
}


.remember-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#52606d;margin:2px 2px 8px;}
.remember-row input{width:16px;height:16px;accent-color:#4f73ff;}
.compact-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}


.oral-grid{display:grid;gap:14px}
.card-soft{background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid #dfe9f4;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(20,33,61,.06)}
.oral-hero{display:grid;gap:14px;justify-items:center;text-align:center}
.oral-hero h3{margin:2px 0 4px;font-size:22px}
.timer-ring{--timer-fill:0%;width:154px;height:154px;border-radius:50%;background:conic-gradient(#4f7cff var(--timer-fill),#e9f0f9 0);display:grid;place-items:center;padding:10px;box-shadow:0 14px 30px rgba(79,124,255,.18)}
.timer-ring-inner{width:100%;height:100%;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}
#brushTimerText{font-size:30px;line-height:1;color:#14213d}
.oral-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.oral-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.badge-card{border:1px dashed #d8e2ee;border-radius:18px;padding:14px;display:grid;gap:4px;background:#fbfdff;color:#7d8795}
.badge-card.is-earned{border-style:solid;border-color:#b8ccff;background:linear-gradient(180deg,#f8fbff,#eef4ff);color:#14213d;box-shadow:0 12px 24px rgba(79,124,255,.10)}
.badge-icon{font-size:24px}
.badge-card strong{font-size:14px}
.badge-card span{font-size:12px;line-height:1.45}
.reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reminder-item{display:grid;gap:6px;font-size:13px;color:#516074}
.mini-note{padding:10px 12px;border-radius:14px;background:#f4f8fd;border:1px solid #dde8f5;font-size:13px;color:#425268}
@media (max-width: 720px){
  .oral-summary-grid,.reminder-grid,.badge-grid{grid-template-columns:1fr}
  .timer-ring{width:132px;height:132px}
  #brushTimerText{font-size:26px}
}


/* patient fixes v14 */
.patient-head-left{align-items:flex-start}
#patientSelfPhoto{cursor:pointer;object-fit:cover;background:#f3f7fb;border:2px dashed #d7e2ec}
.patient-bottom-nav{
  position:sticky;
  bottom:8px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  padding:8px;
  border-radius:18px;
  margin:10px 0 2px;
}
.bottom-nav-btn{
  min-height:52px;
  padding:8px 4px;
  font-size:10px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.bottom-nav-btn::before{margin:0 auto}
@media (max-width:640px){
  .patient-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px;gap:5px;}
  .bottom-nav-btn{min-height:50px;font-size:9.5px;padding:7px 2px}
}


/* appointment calendar compact selector */
.appt-cal-head{align-items:center;gap:10px;flex-wrap:wrap}
.appt-month-select{min-width:160px;max-width:190px}
#appointmentCalendar .mini-note{margin-bottom:10px}
#appointmentCalendar .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
#appointmentCalendar .cal-cell{padding:8px 4px;border-radius:12px;text-align:center;font-size:12px;border:1px solid #e7edf3;background:#fff;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center}
#appointmentCalendar button.cal-cell{cursor:pointer}
#appointmentCalendar .cal-cell.is-empty{visibility:hidden;pointer-events:none}
#appointmentCalendar .cal-cell.has-items{border-color:#cdd9ff;background:#f8faff}
#appointmentCalendar .cal-cell.is-today{outline:2px solid rgba(37,99,235,.12)}
#appointmentCalendar .cal-cell.is-selected{background:#eef4ff;border-color:#8ba7ff;box-shadow:0 8px 20px rgba(37,99,235,.10)}
#appointmentCalendar .cal-day{font-weight:800;color:#1f2c4f}
#appointmentCalendar .cal-count{font-size:10px;color:#5b6b93;margin-top:3px}
@media (max-width: 480px){
  #appointmentCalendar .cal-cell{min-height:56px;padding:6px 2px;font-size:11px}
  #appointmentCalendar .cal-count{font-size:9px}
}


/* clinic signup / terms */
.clinic-auth-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.entry-text-link{background:none;border:none;padding:0;color:#2f5bea;font-weight:700;cursor:pointer;font-size:14px}
.entry-text-link.align-left{display:inline-flex;justify-content:flex-start;padding-top:2px}
.clinic-signup-modal-card{max-width:920px}
.clinic-text-modal{max-width:760px}
.terms-scroll{max-height:48vh;overflow:auto;padding:14px 14px;border:1px solid #e3ebf4;border-radius:18px;background:#fbfdff;line-height:1.7;color:#21314f}
.terms-check-list{display:grid;gap:6px;margin-top:16px}
.terms-row{margin-bottom:0}
.subscription-card .stat-box strong{font-size:17px}
.subscription-status-pending{background:#fff8e1;color:#9a6700}
.subscription-status-active{background:#e9fbef;color:#177a34}
.subscription-status-expired{background:#fff1f1;color:#c53030}
@media (max-width:480px){.clinic-auth-links{gap:12px}.clinic-signup-modal-card{padding:16px}}


/* ===== patient tooth map mobile cleanup ===== */
.patient-view .mobile-wrap.wide{max-width:460px}
.patient-view .accordion-card[data-section="disler"] .accordion-body{padding-top:10px}
.patient-view .tooth-map-card{padding:12px;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f6faff)}
.patient-view .tooth-map-head{display:grid;gap:10px}
.patient-view .tooth-map-title{font-size:18px;line-height:1.1}
.patient-view .tooth-map-sub{font-size:12px;color:#73819a}
.patient-view .tooth-map-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}
.patient-view .legend-chip{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.patient-view .mouth-arch-wrap{gap:12px;margin-top:4px}
.patient-view .jaw-block{margin-top:0;padding:12px 8px 6px;border:1px solid #e4ebf5;border-radius:20px;background:#fff}
.patient-view .jaw-title{margin:0 0 6px 4px;font-size:14px}
.patient-view .teeth-arc{justify-content:center;gap:0;padding:8px 0 4px}
.patient-view .jaw-arch.bottom .teeth-arc{padding:4px 0 8px}
.patient-view .tooth-card{width:22px!important;min-width:22px;min-height:auto!important;padding:0!important;border:none!important;border-radius:12px;background:transparent!important;box-shadow:none!important;gap:0;transform:translateY(var(--curve)) rotate(var(--rotate))!important}
.patient-view .tooth-card:hover{transform:translateY(var(--curve)) rotate(var(--rotate)) scale(1.03)!important;box-shadow:none!important}
.patient-view .tooth-card.center-gap{margin-left:4px;margin-right:4px}
.patient-view .tooth-visual{height:40px!important}
.patient-view .tooth-svg{width:20px!important;height:40px!important}
.patient-view .tooth-svg path{stroke:#ced8e6;stroke-width:1.4}
.patient-view .tooth-no{font-size:10px!important;margin-top:-1px}
.patient-view .tooth-state-dot{top:2px;right:1px;width:7px;height:7px}
.patient-view .tooth-card.is-selected{background:rgba(79,109,245,.10)!important;border:1px solid #cfd9ff!important;box-shadow:none!important}
.patient-view .tooth-card.tooth-dolgu .tooth-svg path{fill:#65a8ff}
.patient-view .tooth-card.tooth-kanal .tooth-svg path{fill:#a46cf4}
.patient-view .tooth-card.tooth-implant .tooth-svg path{fill:#4ecb82}
.patient-view .tooth-card.tooth-kaplama .tooth-svg path{fill:#f0c456}
.patient-view .tooth-card.tooth-cekim .tooth-svg path{fill:#c3ccd8}
.patient-view .tooth-card.tooth-sorunlu .tooth-svg path{fill:#ff8a8a}
@media (max-width:640px){
  .patient-view .mobile-wrap.wide{width:100%;max-width:100%}
  .patient-view .app-shell{padding:8px 0 84px}
  .patient-view .topbar.clinic-topbar{padding:10px 12px;border-radius:18px;gap:10px;position:sticky;top:8px;z-index:20}
  .patient-view .clinic-head{min-width:0}
  .patient-view .brand-title.sm{font-size:18px}
  .patient-view .muted.small{font-size:11px}
  .patient-view .accordion-head{padding:13px 14px}
  .patient-view .accordion-body{padding:0 12px 14px}
  .patient-view .tooth-map-card{padding:10px;border-radius:20px}
  .patient-view .tooth-map-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .patient-view .legend-chip{font-size:11px;padding:7px 4px}
  .patient-view .jaw-block{padding:10px 4px 5px;border-radius:18px}
  .patient-view .tooth-card{width:18px!important;min-width:18px}
  .patient-view .tooth-card.center-gap{margin-left:3px;margin-right:3px}
  .patient-view .tooth-visual{height:34px!important}
  .patient-view .tooth-svg{width:17px!important;height:34px!important}
  .patient-view .tooth-no{font-size:9px!important}
  .patient-view .teeth-arc{gap:0}
}
