/* Teethchef Studio — shared presentation layer. Business rules live outside this file. */
:root[data-theme="light"], :root:not([data-theme="dark"]) {
  --bg:#f5f3ef; --surface:#faf9f6; --surface-2:#fff; --surface-3:#eeebf4;
  --line:#dfdce4; --line-soft:#efedf2; --line-strong:#c9c1d7;
  --ink:#575164; --ink-strong:#272536; --muted:#726e80; --muted-2:#7d7789;
  --teal:#7050b6; --teal-2:#5c3d9c; --cyan:#8c6fc4; --cyan-2:#7050b6;
  --gold:#d7bd86; --gold-ink:#81642e; --gold-bg:#f8f3e9; --gold-line:#e9ddc4;
  --accent-ink:#7050b6; --accent-soft:#eee8f6; --accent-line:#d5c8e8;
  --app-bg:#f5f3ef; --sidebar-bg:#fff; --topbar-bg:rgba(255,255,255,.95);
  --nav-ink:#655e74; --nav-hover-bg:#eeebf4; --nav-hover-ink:#272536;
  --nav-active-ink:#6544a4; --nav-active-bg:#eee8f6; --nav-count-bg:#efebf5; --brand-ink:#272536;
  --card-shadow:0 2px 5px rgba(22,41,62,.025),0 8px 24px rgba(22,41,62,.025);
  --card-shadow-hover:0 6px 22px rgba(22,41,62,.07); --shadow:0 20px 65px rgba(22,41,62,.13);
  --mobnav-bg:rgba(255,255,255,.98); --mobnav-active-bg:#eee8f6; --mobnav-shadow:0 -4px 24px rgba(22,41,62,.06);
  --bs-border-color:var(--line); --radius:22px;
  /* Standalone login, registration and blog use the same surfaces. */
  --bg-2:#fff; --panel:#fff; --panel-strong:#fff; --border:#dfdce4; --border-strong:#d5c8e8;
  --text:#272536; --teal-soft:#eee8f6; --gold-2:#81642e;
}
:root[data-theme="dark"] {
  --radius:22px; --sidebar-bg:#101c2c; --nav-ink:#afbed0; --brand-ink:#f1f5fa;
  --nav-active-bg:#203b3c; --nav-active-ink:#a6e2d6; --nav-hover-bg:#1c2b40;
  --accent-ink:#a6e2d6; --accent-soft:#203b3c; --accent-line:#3e6865;
}
body.tc-app { font-size:14px; line-height:1.6; letter-spacing:-.1px; }
body.tc-app :is(h1,h2,h3,h4,h5,h6) { color:var(--ink-strong); letter-spacing:-.035em; }
.tc-app :is(h1.h3,.tcx-head h1,.mc-head h1,.welcome h2) { font-size:clamp(23px,2vw,30px); font-weight:650; }
.tc-app .tc-sidebar { width:244px; flex-basis:244px; border-right:1px solid var(--line); }
.tc-app .tc-brand { padding:27px 23px; border-bottom:0; }
.tc-app .tc-logo { width:40px; height:40px; border:0; border-radius:13px; background:#272536; color:#dfc796; }
.tc-app .tc-logo svg { width:25px; height:25px; }
.tc-app .tc-brand-text b { font-size:18px; letter-spacing:-.6px; }
.tc-app .tc-brand-text span { font-size:9px; letter-spacing:2px; margin-top:7px; }
.tc-app .tc-nav { padding:0 15px 28px; gap:4px; }
.tc-app .tc-nav-section { padding:23px 13px 7px; font-size:10px; letter-spacing:1.5px; font-weight:600; }
.tc-app .tc-nav-item { min-height:43px; padding:10px 13px; border-radius:11px; font-size:12.5px; gap:12px; }
.tc-app .tc-nav-item .ic svg { width:18px; height:18px; stroke-width:1.65; }
.tc-app .tc-nav-item.active { box-shadow:none; }
.tc-app .tc-nav-item.active .ic { color:var(--nav-active-ink); }
.tc-app .tc-nav-item .c { font:600 10px var(--font-body); padding:2px 7px; min-width:23px; text-align:center; }
.tc-app .tc-nav-item .c.has,.tc-app .tc-nav-item.active .c { background:var(--accent-soft); color:var(--accent-ink); }
.tc-app .tc-nav-item .c.zero { opacity:.75; }
.tc-app .tc-topbar { min-height:76px; padding:16px 32px; border-bottom:1px solid var(--line); box-shadow:none; gap:15px; }
.tc-app .tc-topbar-title { font-size:13px; font-weight:600; display:flex; flex-direction:column; gap:2px; }
.tc-app .tc-topbar-title small { font-size:9px; letter-spacing:1.6px; color:var(--muted); font-weight:500; text-transform:uppercase; }
.tc-app .tc-topbar-right { gap:16px; }
.tc-app :is(.tc-theme-toggle,.tc-burger,.tc-user-btn) { border-radius:11px; }
.tc-app :is(.tc-bell,.tc-qr,.tc-sound-toggle) { min-width:32px; min-height:38px; align-items:center; justify-content:center; }
.tc-app .tc-content { padding:30px 32px 42px; max-width:1720px; width:100%; margin:0 auto; }
.tc-app .tc-footer { font-size:11px; padding:18px 32px; border-top:1px solid var(--line); color:var(--muted); }
.tc-app :is(.card,.tc-card,.tcx-panel,.tc-form-card,.ap-card,.dr-card,.tc-staff-dash .panel,.tc-notes .note) {
  border:1px solid var(--line); border-radius:22px; background:var(--surface-2); box-shadow:var(--card-shadow);
}
.tc-app .card-body { padding:22px; }
.tc-app :is(.card-header,.tcx-panel-h,.tc-form-card-head,.tc-staff-dash .panel-h) {
  padding:17px 22px; background:transparent; border-bottom:1px solid var(--line-soft); font-weight:600;
}
.tc-app .card-header:first-child { border-radius:22px 16px 0 0; }
.tc-app .card-footer { padding:14px 22px; background:var(--surface); border-color:var(--line-soft); }
.tc-app :is(.tcx-kpis,.tc-staff-dash .kpis) { gap:16px; margin-bottom:26px; }
.tc-app :is(.tcx-kpi,.tc-staff-dash .kpi) { background:var(--surface-2); border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:var(--card-shadow); }
.tc-app .tcx-kpi::before { opacity:.5; }
.tc-app :is(.tcx-kpi .v,.tc-staff-dash .kpi .v) { font-size:30px; letter-spacing:-1px; font-weight:600; color:var(--ink-strong); font-variant-numeric:tabular-nums; }
.tc-app :is(.tcx-kpi .l,.tc-staff-dash .kpi .l) { font-size:12px; color:var(--muted); }
.tc-app .tc-staff-dash .kpi .ic { width:34px; height:34px; background:var(--surface-3); border-radius:10px; }
.tc-app .tc-staff-dash .panel { height:350px; }
.tc-app .tc-staff-dash .panels { gap:18px; }
.tc-app .tc-staff-dash .panel-b { padding:16px; gap:12px; }
.tc-app .tc-staff-dash .job { padding:13px; border-radius:11px; }
.tc-app .tc-staff-dash .kpi.zero { opacity:1; }
.tc-app .tc-staff-dash .kpis { display:flex; flex-wrap:wrap; gap:12px; }
.tc-app .tc-staff-dash .kpi { flex:1 1 110px; min-width:0; padding:18px; }
.tc-app .card:is(.text-bg-primary,.text-bg-info,.text-bg-secondary,.text-bg-success,.text-bg-dark,.text-bg-warning,.text-bg-danger) {
  background:var(--surface-2)!important; color:var(--ink)!important; border:1px solid var(--line); border-top:3px solid var(--accent-line);
}
.tc-app .card.text-bg-danger { border-top-color:#d38c8c; }
.tc-app .card.text-bg-warning { border-top-color:#d7bd86; }
.tc-app .card:is(.text-bg-primary,.text-bg-info,.text-bg-secondary,.text-bg-success,.text-bg-dark,.text-bg-warning,.text-bg-danger) .h4 { margin-top:10px; font-size:28px; font-weight:600; font-variant-numeric:tabular-nums; }
.tc-app .btn { min-height:38px; padding:9px 15px; border-radius:10px; font-size:12px; font-weight:600; line-height:1.4; box-shadow:none; }
.tc-app .btn-sm { min-height:32px; padding:7px 11px; font-size:11px; }
.tc-app .btn-primary { box-shadow:0 3px 7px rgba(112,80,182,.13); }
.tc-app .btn-outline-danger:hover,.tc-app .btn-outline-success:hover { color:#fff; }
.tc-app :is(.form-control,.form-select) { min-height:43px; padding:10px 13px; border-radius:10px; border-color:var(--line); background-color:var(--surface-2); font-size:13px; color:var(--ink-strong); box-shadow:none; }
.tc-app textarea.form-control { min-height:104px; line-height:1.7; }
.tc-app .form-control-color { padding:5px; }
.tc-app .form-label { font-size:12px; font-weight:600; margin-bottom:7px; color:var(--ink-strong); }
.tc-app :is(.form-control,.form-select):focus { border-color:var(--cyan); box-shadow:0 0 0 3px var(--accent-soft); }
.tc-app .input-group-text { border-color:var(--line); background:var(--surface); font-size:12px; }
.tc-app .table { font-size:12px; --bs-table-hover-bg:var(--surface); }
.tc-app :is(.table,.tcx-table) thead th { background:var(--surface); color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.4px; padding:13px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }
.tc-app :is(.table,.tcx-table) tbody td { padding:15px 16px; vertical-align:middle; border-color:var(--line-soft); }
.tc-app .table>:not(:last-child)>:last-child>* { border-bottom-color:var(--line); }
.tc-app :is(.table-responsive,.tc-table-wrap,.tcx-tw) { border-radius:12px; }
.tc-app :is(.badge,.tcx-st,.mc-badge,.tc-wt-tag) { font-weight:500; border-radius:7px; padding:5px 8px; font-size:10px; line-height:1.35; }
.tc-app :is(.tcx-tabs,.tc-subtabs,.mc-tabs,.lab-tabs) { gap:5px; padding:5px; background:var(--surface-3); border:1px solid var(--line); border-radius:12px; margin-bottom:20px; }
.tc-app :is(.tcx-tab,.tc-subtab,.mc-tab,.lab-tab) { border-radius:8px; padding:9px 13px; border:0; font-size:12px; }
.tc-app :is(.tcx-tab,.tc-subtab,.mc-tab,.lab-tab).active { background:var(--surface-2); color:var(--accent-ink); box-shadow:0 2px 4px rgba(22,41,62,.07); border:0; }
.tc-app :is(.tcx-tab,.tc-subtab,.mc-tab,.lab-tab).active :is(.c,.tc-subtab-c,.mc-tab-c) { background:var(--accent-soft); color:var(--accent-ink); }
.tc-app :is(.tcx-head,.mc-head,.lab-head,.ap-head,.kb-head) { margin-bottom:24px; }
.tc-app .mc-row { background:var(--surface-2); border:1px solid var(--line); border-radius:14px; margin-bottom:12px; box-shadow:var(--card-shadow); }
.tc-app .mc-row-main { padding:18px; }
.tc-app .mc-cell-id { color:var(--accent-ink); }
.tc-app .mc-k { font-size:10px; letter-spacing:.3px; color:var(--muted); }
.tc-app .tc-case-card .card-body { padding:18px; }
.tc-app .tc-case-card .card-title { font-size:14px; margin:5px 0 10px; }
.tc-app .tc-case-card .card-text { font-size:12px; line-height:1.65; }
.tc-app .tc-case-visual { background:var(--surface-3); border-bottom:1px solid var(--line); min-height:74px; }
.tc-app .tc-case-visual svg { color:var(--accent-ink); }
.tc-app .tc-case-visual-tag { color:var(--ink); background:var(--surface-2); }
.tc-app .tc-wt-card { border-left-width:3px!important; }
.tc-app .ap-grid { gap:18px; }
.tc-app .ap-card { padding:24px; min-height:160px; }
.tc-app .ap-ic { background:var(--accent-soft); color:var(--accent-ink); border:0; width:42px; height:42px; }
.tc-app .ap-card-t { font-size:15px; color:var(--ink-strong); }
.tc-app .ap-card-d { font-size:12px; line-height:1.65; }
.tc-app .kb-col { border-radius:15px; background:var(--surface-3); border:1px solid var(--line); }
.tc-app .kb-col-h { padding:17px 15px; }
.tc-app .kb-card { border-radius:12px; padding:15px; margin-bottom:11px; background:var(--surface-2); box-shadow:var(--card-shadow); }
.tc-app .kb-card::before { opacity:.025; }
.tc-app :is(.modal-content,.kb-drawer,.tc-ann-modal,.tc-upload-box,.offcanvas) { background:var(--surface-2); color:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow); }
.tc-app :is(.modal-content,.tc-ann-modal,.tc-upload-box) { border-radius:20px; }
.tc-app :is(.modal-header,.modal-footer,.offcanvas-header) { padding:20px 24px; border-color:var(--line-soft); }
.tc-app .modal-body { padding:24px; }
.tc-app .modal-title { font-size:19px; font-weight:600; }
.tc-app .modal-backdrop.show { opacity:.38; }
.tc-app :is(.dropdown-menu,.kb-settings-menu) { padding:8px; border-radius:13px; border:1px solid var(--line); box-shadow:var(--shadow); }
.tc-app .dropdown-item { border-radius:8px; padding:9px 12px; font-size:13px; }
.tc-app .tc-stage-opt { padding:13px 15px; border-radius:11px; }
.tc-app .tc-case-list.table>thead>tr>th { padding:13px 16px; font-size:10px; border-bottom-color:var(--line); }
.tc-app .tc-case-list.table>tbody>tr>td { padding:14px 16px; }
.tc-app .tc-stage-modal .modal-dialog { max-width:440px; }
.tc-app .tc-stage-opt--current { background:var(--accent-soft); border-color:var(--accent-line); }
.tc-app :is(.alert,.tcx-empty,.mc-empty,.kb-empty) { border-radius:12px; }
.tc-app .page-link { min-width:35px; min-height:35px; text-align:center; font-size:12px; }
.tc-app :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.tc-app :is(.tc-nav-item,.btn,.ap-card) { transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s; }
/* Work history: one timeline, with separate details and financial summary. */
.work-intro { max-width:720px; color:var(--muted); margin-bottom:24px; }
.work-history { display:grid; gap:18px; margin-bottom:30px; }
.work-card { display:grid; grid-template-columns:56px minmax(0,1fr) 205px; gap:22px; padding:24px; background:var(--surface-2); border:1px solid var(--line); border-radius:22px; box-shadow:var(--card-shadow); }
.work-card.is-current { border-color:var(--accent-line); }
.work-sequence { display:grid; place-items:center; align-self:start; height:52px; border-radius:14px; background:var(--surface-3); color:var(--muted); font:500 19px var(--font-mono); }
.is-current .work-sequence { background:var(--accent-soft); color:var(--accent-ink); }
.work-heading { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.work-heading h2 { font-size:18px; margin:0; }
.work-state { font-size:10px; padding:4px 8px; color:var(--accent-ink); background:var(--accent-soft); border-radius:6px; }
.work-spec { color:var(--muted); font-size:12px; margin-bottom:18px; }
.work-dates { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:0; font-size:12px; }
.work-dates dt { font-weight:500; color:var(--muted); font-size:10px; margin-bottom:4px; }
.work-dates dd { margin:0; color:var(--ink-strong); }
.work-finance { border-left:1px solid var(--line); padding-left:22px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.work-finance small { color:var(--muted); font-size:10px; letter-spacing:1px; text-transform:uppercase; }
.work-finance strong { color:var(--ink-strong); font-size:22px; line-height:1.3; font-variant-numeric:tabular-nums; }
.work-note { margin:15px 0 0; padding:12px; background:var(--surface); border-radius:9px; font-size:12px; }
.premium-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:26px; flex-wrap:wrap; }
.premium-eyebrow { display:block; color:var(--accent-ink); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }
.premium-page-head h1 { margin:0 0 6px; }
.premium-page-head p { color:var(--muted); margin:0; font-size:13px; }
.premium-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
/* Standalone entry points share the same typography and controls. */
.auth-wrap { background:var(--bg); }
.auth-card { border:1px solid var(--border); box-shadow:0 18px 60px rgba(22,41,62,.07); border-radius:22px; }
.auth-card h1 { letter-spacing:-1px; }
.auth-card :is(input,select,button,.input) { border-radius:10px; }
.auth-card .button { min-height:46px; }
.auth-back { color:var(--accent-ink); }
.premium-legal { max-width:850px; margin:40px auto; padding:40px; background:var(--surface-2); border:1px solid var(--line); border-radius:22px; line-height:1.85; }
.premium-legal>a { display:inline-block; color:var(--accent-ink); margin-bottom:26px; font-size:13px; }
.premium-legal h1 { font-size:clamp(25px,4vw,36px); line-height:1.2; margin-bottom:26px; letter-spacing:-1px; }
.premium-legal h5 { font-size:15px; margin:24px 0 9px; }
.premium-legal p,.premium-legal li { font-size:14px; color:var(--muted); margin-bottom:10px; }
.premium-legal ul { padding-left:20px; }
@media(min-width:993px) { .tc-app .tc-main { width:calc(100% - 244px); } }
@media(max-width:1200px) { .tc-app .tc-content { padding:24px; } .work-card { grid-template-columns:44px minmax(0,1fr); } .work-finance { grid-column:2; border-left:0; border-top:1px solid var(--line); padding:16px 0 0; flex-direction:row; align-items:center; flex-wrap:wrap; } }
@media(max-width:767px) {
  .premium-legal { margin:15px; padding:24px; }
  .premium-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .premium-kpi-grid>div:last-child { grid-column:1/-1; }
  .tc-app .tc-content { padding:20px 14px calc(var(--mobnav-total) + 24px); }
  .tc-app .tc-topbar { padding:12px 15px; min-height:66px; }
  .tc-app .tc-topbar-right { gap:7px; }
  .tc-app .tc-topbar-title { font-size:12px; }
  .tc-app .tc-topbar-title small { font-size:8px; letter-spacing:1px; }
  .tc-app .card-body,.tc-app .modal-body { padding:18px; }
  .tc-app :is(.card-header,.tcx-panel-h,.tc-form-card-head) { padding:15px 18px; }
  .tc-app :is(.tcx-kpis,.tc-staff-dash .kpis) { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tc-app .tc-staff-dash .kpis { display:grid; }
  .tc-app :is(.tcx-kpis,.tc-staff-dash .kpis)>:last-child:nth-child(odd) { grid-column:1/-1; }
  .tc-app :is(.tcx-kpi,.tc-staff-dash .kpi) { padding:16px; }
  .tc-app :is(.tcx-kpi .v,.tc-staff-dash .kpi .v) { font-size:25px; overflow-wrap:anywhere; }
  .tc-app .tc-mobnav { border-top:1px solid var(--line); }
  .tc-app .btn:not(.btn-sm) { min-height:42px; }
  .tc-app :is(.form-control,.form-select) { font-size:16px; }
  .tc-app .mc-row-main { padding:14px; }
  .work-card { padding:18px; gap:13px; grid-template-columns:38px minmax(0,1fr); }
  .work-sequence { height:38px; font-size:14px; border-radius:10px; }
  .work-dates { grid-template-columns:1fr; gap:10px; }
  .work-finance { grid-column:1/-1; }
  .work-finance strong { font-size:20px; }
  .tc-app .modal-dialog { margin:12px; }
}
@media(prefers-reduced-motion:reduce) { .tc-app *, .auth-wrap * { scroll-behavior:auto!important; transition:none!important; } }
@media print { .tc-app .tc-content { padding:0; } .work-card { box-shadow:none; break-inside:avoid; } }

/* Pearl palette from the supplied Oyuncu Platformu reference; sidebar remains vertical. */
:root[data-theme="light"] .tc-app .tc-sidebar { background:#faf9f6; }
:root[data-theme="light"] .tc-app .btn-primary { border-radius:24px; }
:root[data-theme="light"] .tc-app .tc-nav-item.active { box-shadow:inset 2px 0 var(--accent-ink); }
