/* Müvekkiller: önce liste, seçimden sonra kartlı müvekkil sayfası. Renkler tema değişkenlerinden gelir. */
.workspace-content.client-list-page,.workspace-content.client-detail-page{padding:28px 32px;overflow:auto}
.clients-list-page,.client-page{max-width:1400px;margin:0 auto}
.clients-heading{align-items:center}
.clients-heading h1{margin-bottom:6px}
.clients-heading-actions,.client-page-actions{display:flex;gap:10px;flex-wrap:wrap}
.clients-heading-actions .button,.client-page-actions .button{display:inline-flex;align-items:center;gap:8px}
.clients-heading-actions .icon,.client-page-actions .icon{width:17px;height:17px}
.clients-table-card,.client-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.clients-search{position:relative;padding:18px 20px;border-bottom:1px solid var(--line)}
.clients-search>.icon{position:absolute;left:33px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.clients-search input{width:min(480px,100%);min-height:44px;margin:0;padding:10px 14px 10px 42px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--ink)}
.clients-table-wrap{overflow-x:auto;scrollbar-width:thin}
.clients-table{width:100%;border-collapse:collapse;font-size:.9rem}
.clients-table th{padding:13px 16px;text-align:left;font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line)}
.clients-table td{padding:13px 16px;white-space:nowrap;color:var(--muted);border-bottom:1px solid var(--line)}
.clients-table th:first-child,.clients-table td:first-child{width:52px;padding-right:0}
.clients-table tbody tr{cursor:pointer;transition:background .15s ease}
.clients-table tbody tr:hover,.clients-table tbody tr:focus-within{background:var(--accent)}
.clients-table tbody tr:last-child td{border-bottom:0}
.clients-table .icon-button{width:34px;height:34px;min-height:34px;color:var(--muted)}
.clients-table .client-cell{display:flex;align-items:center;gap:12px;color:var(--ink)}
.clients-table .client-cell .avatar{display:inline-flex;flex:0 0 34px;width:34px;height:34px;font-size:.72rem}
.clients-table .client-cell strong{font-weight:650;white-space:normal;min-width:140px}
.clients-table .matter-cell{white-space:normal;min-width:160px;max-width:320px}
.client-file-list{display:grid;gap:5px;line-height:1.45;overflow-wrap:anywhere}
.client-file-more{color:var(--brand);font-size:.82rem;font-weight:650}
.clients-empty{padding:44px 20px;text-align:center;margin:0}
.clients-empty h2{margin:0 0 8px}
.clients-empty>.empty-icon{margin-left:auto;margin-right:auto}
.clients-empty .button{margin-top:16px}

.client-page{display:grid;gap:18px}
.client-page-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.client-page .client-back{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-weight:600}
.client-page .client-back:hover{color:var(--ink)}
.client-back .icon{width:18px;height:18px}
.client-info{padding:26px 28px}
.client-info-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.client-info-title .avatar{display:inline-flex}
.client-info-title h1{margin:0;font-size:1.6rem;overflow-wrap:anywhere}
.client-info-title p{margin:4px 0 0}
.client-info-title .badge{margin:0 0 0 auto}
.client-info-title [data-client-hearing-badge][hidden]{display:none!important}
.client-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;margin:0}
.client-info-grid dt{margin-bottom:4px;font-size:.8rem;color:var(--muted)}
.client-info-grid dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.client-info-grid .info-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:600;cursor:pointer}
.client-info-grid .info-link .icon{width:16px;height:16px}
.client-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line)}
.client-card-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem}
.client-card-head h2 .icon{width:19px;height:19px;color:var(--muted)}
.client-card-head .button{display:inline-flex;align-items:center;gap:6px}
.client-card-head .button .icon{width:16px;height:16px}
.client-card-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.client-card-tools select{min-height:36px;margin:0}
.client-page [data-client-section]>.client-card-head h2,.client-page [data-client-section]>.timeline-heading h3{font-size:1.2rem}
#client-section-notes>.client-card-head .client-card-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:400px;max-width:100%;gap:10px}
#client-section-notes .client-card-tools :is(select,.button){width:100%;min-width:0;height:44px;min-height:44px;margin:0;padding:10px 14px;border-radius:10px;font-size:.875rem;box-sizing:border-box}
#client-section-notes .client-card-tools .button{justify-content:center}
#client-section-notes .client-card-tools select{padding-right:32px}
@media(max-width:700px){#client-section-notes>.client-card-head .client-card-tools{width:100%}}
.client-card-body{padding:4px 22px;margin:0}
.client-card-body>p.muted{padding:14px 0;margin:0}
.client-card-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0}
.client-card-empty p{margin:0}
.client-card .case-row:first-child{border-top:0}
.client-card-fold>summary{list-style:none;cursor:pointer;border-bottom:0}
.client-card-fold>summary::-webkit-details-marker{display:none}
.client-card-fold>summary::after{content:'⌄';margin-left:8px;color:var(--muted);transition:transform .25s ease}
.client-card-fold>summary>.muted{margin-left:auto}
.client-card-fold[open]>summary{border-bottom:1px solid var(--line)}
.client-card-fold[open]>summary::after{transform:rotate(180deg)}
.client-card .hearing-card{margin:0;padding:18px 22px;border:0;border-radius:0;background:none}
.client-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 22px}
.finance-stat{display:flex;align-items:center;gap:12px;min-width:0}
.finance-stat .stat-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--accent);color:var(--accent-ink)}
.finance-stat .stat-icon .icon{width:19px;height:19px}
.finance-stat small{display:block;font-size:.8rem;color:var(--muted)}
.finance-stat strong{font-size:1.1rem;color:var(--ink)}
.finance-stat.paid strong{color:var(--brand)}
.finance-stat.pending strong{color:var(--warning)}
.client-finance-note{margin:0;padding:12px 22px;border-top:1px solid var(--line)}
.client-card .note-composer{border-bottom:1px solid var(--line);background:var(--surface-soft)}
.note-composer[hidden]{display:none!important}
.workspace #note-form{padding:24px;gap:22px;background:var(--surface)}
#note-form{grid-template-columns:minmax(0,1fr)}
#note-form>*,#note-form .task-form-dates>*,#note-form .meeting-extra>*{min-width:0}
#note-form input,#note-form textarea{min-width:0;max-width:100%}
#note-form .meeting-fields{border:0;padding:0;margin:0}
#note-form .task-form-dates{gap:16px}
#note-form .note-content-fields{display:grid;gap:8px;padding-top:20px;border-top:1px solid var(--line)}
#note-form .note-content-fields{grid-template-columns:minmax(0,1fr)}
#note-form label{font-size:.875rem;font-weight:600}
#note-form label small{display:inline;font-size:.75rem;font-weight:400}
#note-form .meeting-fields label{display:grid;gap:8px;min-width:0}
#note-form input,#note-form #note-title{margin:0;min-height:44px;padding:10px 12px}
#note-form #note-body{height:120px;min-height:120px}
#note-form .meeting-extra{gap:16px}
#note-form .meeting-extra label{display:block}
#note-form .meeting-extra textarea{margin-top:8px;height:90px;min-height:90px}
#note-form textarea{background:var(--surface-soft);resize:vertical}
#note-form #note-title{background:var(--surface-soft)}
#note-form .attachment-actions{padding-top:20px;border-top:1px solid var(--line);gap:10px}
#note-form .attachment-actions>.attachment-hint:first-child{flex-basis:100%;font-weight:600;font-size:.875rem;color:var(--ink)}
#note-form .composer-controls{margin:0 0 0 auto;padding:0;border:0;gap:10px;flex-wrap:wrap}
#note-form .composer-controls :is(.star-button,.button){min-height:44px;margin:0;padding:10px 14px}
#note-form .attachment-button{min-height:44px}
#note-form .note-attachment-status{display:grid;gap:5px;flex:1 1 180px;min-width:0;max-width:360px}
#note-form .note-attachment-status .attachment-list{margin:0;min-width:0;overflow-wrap:anywhere}
#note-form .note-attachment-status .attachment-chip{max-width:100%;min-width:0}
#note-form .note-attachment-status .attachment-chip>span{min-width:0;overflow-wrap:anywhere}
.note-history-heading{margin:0;padding:18px 22px 12px;border-bottom:1px solid var(--line);font-size:1rem;font-weight:600}
.client-info-title [data-client-case-summary]{overflow-wrap:anywhere}
@media(max-width:700px){.workspace #note-form{padding:18px;gap:18px}#note-form .task-form-dates{grid-template-columns:1fr}#note-form .meeting-extra{grid-template-columns:1fr}}
@media(max-width:700px){#note-form .composer-controls{width:100%;margin:0}#note-form .composer-controls button[type="submit"]{margin-left:auto}}
.client-card .notes{padding:0}
.client-card .notes .note-card{display:flex;gap:14px;margin:0;padding:18px 22px;border:0;border-top:1px solid var(--line);border-radius:0}
.client-card .notes .note-card:first-child{border-top:0}
.note-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--surface-muted);color:var(--muted)}
.note-icon .icon{width:19px;height:19px}
.note-card.important .note-icon{background:var(--star-fill);color:var(--ink)}
.note-main{flex:1;min-width:0}
.client-card .notes-empty{margin:0;padding:24px 22px}
.client-doc-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 22px;background:var(--surface-soft);border-bottom:1px solid var(--line)}
.client-doc-upload .button{display:inline-flex;align-items:center;gap:6px}
.client-doc-upload .button .icon{width:16px;height:16px}
.client-doc-upload .attachment-hint,.client-doc-upload .attachment-list,.client-doc-upload [data-error]{flex-basis:100%;margin:0}
.client-doc-upload .attachment-list:empty,.client-doc-upload [data-error]:empty{display:none}
.client-doc-row{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--line)}
.client-doc-row:first-child{border-top:0}
.client-doc-row .doc-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:var(--surface-muted);color:var(--muted)}
.client-doc-row .doc-icon .icon{width:18px;height:18px}
.client-doc-meta{flex:1;min-width:0}
.client-doc-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.client-doc-meta small{display:block;color:var(--muted);overflow-wrap:anywhere}
.client-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.client-doc-actions .button{text-decoration:none}
.client-docs-empty{margin:0;padding:18px 22px}
.client-page .client-timeline{margin:0;padding:0}
.client-page .client-timeline .timeline-heading{margin:0;padding:16px 22px;border-bottom:1px solid var(--line)}
.client-page .client-timeline h3{margin:0;font-size:1rem}
.client-page .client-timeline>p.muted{margin:0;padding:14px 22px 4px}
.client-page #client-timeline-events{padding:6px 22px 10px}
.client-page #client-timeline-more{margin:0 22px 18px}
@media (max-width:1000px){.client-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.client-finance{grid-template-columns:1fr}.client-doc-row{flex-wrap:wrap}.client-doc-actions{width:100%;padding-left:50px}}
@media (max-width:700px){
 .workspace-content.client-list-page,.workspace-content.client-detail-page{padding:16px}
 .clients-table .hide-sm{display:none}
 .clients-search{padding:14px}
 .clients-search>.icon{left:27px}
 .client-info{padding:18px}
 .client-info-title .badge{margin:0}
 .client-info-grid{gap:14px 16px}
 .client-card-head,.client-finance,.client-doc-upload,.client-doc-row,.client-docs-empty,.client-finance-note,.client-card .notes .note-card,.client-card .hearing-card{padding-left:14px;padding-right:14px}
 .client-card-body{padding:4px 14px}
 .client-card .notes .note-card{gap:10px}
 .note-icon{flex-basis:34px;width:34px;height:34px}
}
@media (max-width:480px){.client-info-grid{grid-template-columns:1fr}.client-page-actions{width:100%}.client-page-actions .button{flex:1;justify-content:center}}

/* Müvekkiller sekmeleri: Müvekkiller | Görüşmeler */
.clients-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.clients-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 16px;border:0;border-radius:9px;background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.clients-tabs button .icon{width:17px;height:17px}
.clients-tabs button[aria-selected="true"]{background:var(--brand);color:var(--on-brand)}
.clients-tabs button:not([aria-selected="true"]):hover{background:var(--surface-soft);color:var(--ink)}
@media(max-width:400px){.clients-tabs{width:100%;min-width:0}.clients-tabs button{min-width:0;padding:8px 6px;font-size:.8rem;gap:5px}.clients-meetings-toolbar .clients-tabs{flex-shrink:1}.office-invite input{min-width:0;width:100%;flex-basis:100%}.office-dash .office-tiles{grid-template-columns:minmax(0,1fr)}}
.clients-meetings .records-heading>div{display:none}
.clients-meetings .records-heading{justify-content:flex-end}
.clients-meetings-toolbar{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.clients-meetings-toolbar .clients-tabs{margin:0;flex-shrink:0}
#clients-meetings-tools{display:flex;align-items:center;gap:20px;flex:1;min-width:0}
#clients-meetings-tools .records-filter{flex:1;min-width:0;max-width:none;display:block}
#clients-meetings-tools input{width:100%;margin:0;min-height:48px}
#clients-meetings-tools>.button{flex-shrink:0;min-height:48px}
.records-meeting-search{position:relative}
.records-meeting-search input{padding-right:48px}
.records-meeting-search input::-webkit-search-cancel-button{display:none}
.records-meeting-search .search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;min-height:36px;padding:0;color:#45645d}
.records-meeting-search .search-clear[hidden]{display:none!important}
.clients-meetings .records-shell>h2{margin:0;font-size:1.2rem}
@media(max-width:1050px){.clients-meetings-toolbar{flex-wrap:wrap;gap:12px}#clients-meetings-tools{flex-basis:100%;gap:12px}}
@media(max-width:520px){#clients-meetings-tools{flex-wrap:wrap}#clients-meetings-tools .records-filter{flex-basis:100%}#clients-meetings-tools>.button{width:100%}}

/* Büro yönetim paneli */
.workspace-content.office-page{padding:28px 32px}
.office-dash{max-width:1400px;margin:0 auto;display:grid;gap:18px}
.office-dash>.page-heading{margin:0}
.office-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.office-tile{display:grid;gap:6px;align-content:start;min-height:122px;padding:16px 18px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.office-tile:hover{border-color:var(--brand);transform:translateY(-1px)}
.office-tile.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.office-tile-top{display:flex;align-items:center;gap:10px}
.office-tile-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--accent-ink)}
.office-tile-icon .icon{width:18px;height:18px}
.office-tile-label{font-weight:600;font-size:.9rem}
.office-tile .notification-count{position:static;margin-left:auto}
.office-tile strong{font-size:1.7rem;line-height:1.2;overflow-wrap:anywhere}
.office-tile small{color:var(--muted);font-size:.8rem}
.office-hint{margin:0}
.office-panel-body{padding:14px 22px;margin:0}
.office-scope-note{margin:0;padding:12px 22px 0;font-size:.8125rem}
.office-rows{display:grid}
.office-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 22px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.office-row:first-child{border-top:0}
.office-row:hover,.office-row:focus-visible{background:var(--accent)}
.office-row>span:first-child{display:grid;gap:3px;min-width:0}
.office-row strong{overflow-wrap:anywhere}
.office-row small{color:var(--muted)}
.office-row .badge{margin:0;flex:none}
.office-panel .client-finance{border-bottom:1px solid var(--line)}
.office-panel .member-list{display:grid;gap:10px}
.office-panel .clients-table-wrap{border-top:1px solid var(--line)}
.office-panel #history-content .page-heading{margin-bottom:12px}
.office-admin{display:grid;gap:22px}
.office-admin h3{margin:0 0 10px;font-size:.95rem}
.office-invite{display:grid;gap:6px;max-width:560px}
.office-invite>div{display:flex;gap:10px;flex-wrap:wrap}
.office-invite input{flex:1;min-width:220px;margin:0}
/* Davet rolü seçimi (app.js bindInviteForm): liste gelmeden boş kutu yer kaplamaz. */
.office-invite>[data-invite-role]{align-items:center}[data-invite-role]:empty{display:none}
.office-dash .office-locked{padding:28px;text-align:center;display:grid;justify-items:center;gap:10px}
.office-dash .office-locked p{margin:0}
@media (max-width:700px){
 .workspace-content.office-page{padding:16px}
 .office-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .office-tile{min-height:108px;padding:12px}
 .office-tile strong{font-size:1.35rem}
 .office-row,.office-panel-body{padding-left:14px;padding-right:14px}
 .office-row{flex-wrap:wrap}
 .clients-tabs{display:flex}
 .clients-tabs button{flex:1;justify-content:center}
}

/* Sol menü kaydırma çubuğu (kaplama): normalde gizli, menü üzerindeyken ince, sürüklerken belirgin */
.workspace .sidebar,.workspace .sidebar nav{scrollbar-width:none;-ms-overflow-style:none}
.workspace .sidebar::-webkit-scrollbar,.workspace .sidebar nav::-webkit-scrollbar{display:none;width:0;height:0}
.nav-scrollbar{position:absolute;right:3px;width:10px;z-index:5;opacity:0;pointer-events:none;border-radius:10px;transition:opacity .2s ease,background-color .2s ease}
.nav-scrollbar[hidden]{display:none}
.nav-scrollbar.visible{opacity:1;pointer-events:auto}
.nav-scroll-thumb{position:absolute;top:0;right:2px;width:5px;border-radius:10px;background:color-mix(in srgb,var(--muted) 45%,transparent);cursor:grab;touch-action:none;transition:width .15s ease,right .15s ease,background-color .15s ease}
.nav-scrollbar:hover .nav-scroll-thumb{width:7px;right:1.5px;background:color-mix(in srgb,var(--muted) 65%,transparent)}
.nav-scrollbar.dragging{background:color-mix(in srgb,var(--muted) 16%,transparent)}
.nav-scrollbar.dragging .nav-scroll-thumb{width:8px;right:1px;background:color-mix(in srgb,var(--ink) 70%,transparent);cursor:grabbing}
@media (prefers-reduced-motion:reduce){.nav-scrollbar,.nav-scroll-thumb{transition:none}}
@media (hover:none){.nav-scrollbar{display:none}}

/* Büro rolleri */
.role-badge{display:inline-flex;align-items:center;gap:5px;flex:none;padding:3px 10px;border-radius:20px;font-size:.76rem;font-weight:650;white-space:nowrap;background:var(--surface-muted);color:var(--ink)}
.role-badge .icon{width:13px;height:13px}
.role-badge.owner{background:var(--brand);color:var(--on-brand)}
.role-badge.admin{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}
.role-badge.senior{background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--ink)}
.role-badge.intern{background:var(--warning-bg);color:var(--warning)}
.role-badge.assistant{background:color-mix(in srgb,#397dad 16%,var(--surface));color:var(--ink)}
.member-row .role-badge{margin-left:auto}
.role-current{display:flex;align-items:center;gap:12px;margin:4px 0 14px}
.role-current .avatar{display:inline-flex}
.role-current small{display:block;color:var(--muted)}
.role-options{display:grid;gap:8px;margin-bottom:12px}
.role-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.role-option span:first-child{display:grid;gap:2px}
.role-option small{color:var(--muted);font-size:.8rem}
.role-option:not(:disabled):hover{border-color:var(--brand);background:var(--accent)}
.role-option.current{background:var(--surface-soft);cursor:default;opacity:1}
.role-option.transfer strong{color:var(--error)}
.role-option.transfer:hover{border-color:var(--error);background:var(--error-bg)}
.profile-role{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 16px}

/* Duruşmalar */
.workspace-content.hearings-page{padding:28px 32px}
.hearings-page{max-width:1400px;margin:0 auto}
.hearings-heading{align-items:center}
.hearings-heading h1{margin-bottom:6px}
.hearings-heading .button{display:inline-flex;align-items:center;gap:8px}
.hearings-heading .button .icon{width:17px;height:17px}
.hearings-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.hearings-toolbar{display:flex;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.hearings-search{position:relative;flex:1;min-width:220px}
.hearings-search .icon{position:absolute;left:13px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.hearings-search input{width:100%;min-height:44px;margin:0;padding:10px 14px 10px 40px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--ink)}
.hearings-toolbar select{width:auto;min-width:200px;min-height:44px;margin:0}
.hearings-table-wrap{overflow-x:auto;scrollbar-width:thin;position:relative}
/* Mutlak konumlu ekran okuyucu etiketleri tablo kutusunda kalsın (sayfa yana kaymasın). */
.clients-table-wrap{position:relative}
.hearings-table{width:100%;border-collapse:collapse;font-size:.9rem}
.hearings-table th{padding:12px 12px;text-align:left;font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line)}
.hearings-table td{padding:12px 12px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap;vertical-align:middle}
.hearings-table td small{display:block;color:var(--muted);font-size:.78rem;white-space:normal}
.hearings-table tbody tr{cursor:pointer;transition:background .15s ease}
.hearings-table tbody tr:hover{background:var(--accent)}
.hearings-table tbody tr:last-child td{border-bottom:0}
.hearings-table tr.past td{color:var(--muted)}
.hearings-table td:nth-child(1),.hearings-table td:nth-child(2),.hearings-table td:nth-child(3){white-space:normal;min-width:140px;max-width:260px;overflow-wrap:anywhere}
.hearings-table .icon-button{width:34px;height:34px;min-height:34px}
.hearing-status{display:inline-block;padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:650;background:var(--accent);color:var(--accent-ink)}
.hearing-status.today{background:var(--brand);color:var(--on-brand)}
.hearing-status.past{background:var(--surface-muted);color:var(--muted)}
.hearing-lawyer{display:inline-flex;align-items:center;gap:8px;font-weight:550}
.hearing-lawyer .avatar{display:inline-flex;flex:0 0 28px;width:28px;height:28px;font-size:.66rem}
.hearings-empty{display:grid;justify-items:center;gap:8px;padding:48px 20px;color:var(--muted)}
.hearings-empty .icon{width:40px;height:40px;opacity:.5}
.hearings-empty p{margin:0;font-weight:600}
@media (max-width:700px){.workspace-content.hearings-page{padding:16px}.hearings-toolbar{padding:14px}.hearings-toolbar select{flex:1;min-width:0}.hearings-table .hide-sm{display:none}}
@media (max-width:1400px){.hearings-table .hide-md{display:none}}

/* Tablo sıralama başlıkları */
.sort-button{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;margin:-2px -4px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap}
.sort-button:hover,.sort-button:focus-visible{background:var(--surface-muted);color:var(--ink)}
.sort-icon{flex:none;opacity:.55}
.sort-button.active{color:var(--ink)}
.sort-button.active .sort-icon{opacity:1}
.sort-button.active.asc .sort-icon .down,.sort-button.active.desc .sort-icon .up{opacity:.25}
.sort-button.active .sort-icon path:not([style]){stroke:var(--brand)}
.sort-button.active.asc .sort-icon .down,.sort-button.active.desc .sort-icon .up{stroke:currentColor}
/* Dışa aktarma kartı */
.export-options{display:grid;gap:10px;margin:14px 0 6px}
.export-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.export-option:hover:not(:disabled){border-color:var(--brand);background:var(--accent);transform:translateY(-1px)}
.export-option span:last-child{display:grid;gap:2px}
.export-option small{color:var(--muted);font-size:.8rem}
.export-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:11px;background:var(--accent);color:var(--accent-ink)}
.export-icon.pdf{background:var(--error-bg);color:var(--error)}
.export-icon.txt{background:var(--surface-muted);color:var(--ink)}

/* Roller: rol grubu kartları ve izin düzenleme */
.admin-tabs{margin:0;padding:0 22px}
.role-new{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.role-new .icon{width:17px;height:17px}
.role-cards{display:grid;gap:14px;margin-top:14px}
.role-card{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.role-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.role-card-title{display:flex;align-items:center;gap:10px}
.role-card-title .icon{width:19px;height:19px;color:var(--muted)}
.role-card-title strong{font-size:1.05rem}
.role-tag{padding:2px 9px;border-radius:20px;background:var(--surface-muted);color:var(--muted);font-size:.74rem;font-weight:650}
.role-tag.custom{background:var(--accent);color:var(--accent-ink)}
.role-chips{display:flex;flex-wrap:wrap;gap:8px}
.role-chips span{padding:4px 10px;border-radius:7px;background:var(--surface-soft);border:1px solid var(--line);font-size:.8rem}
.role-chips .empty{color:var(--muted);border-style:dashed}
.role-card footer{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.role-card footer p{margin:0}
.role-form fieldset{margin:14px 0 0;padding:0;border:0;display:grid;gap:8px}
.role-form legend{margin-bottom:8px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.permission-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.permission-option:hover{border-color:var(--brand)}
.permission-option:has(input:checked){background:var(--accent);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.permission-option input{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--brand)}
.permission-option span{display:grid;gap:3px}
.permission-option small{color:var(--muted);font-size:.8rem;line-height:1.45}
.role-badge.custom{background:color-mix(in srgb,#7856ff 14%,var(--surface));color:var(--ink)}
/* Salt okur rol: oluşturma ve düzenleme düğmeleri gizlenir (sunucu da reddeder) */
.perm-readonly [data-new-client],.perm-readonly #top-new-task,.perm-readonly [data-new-task],.perm-readonly #toggle-note-form,.perm-readonly #note-form,.perm-readonly #client-doc-form,.perm-readonly [data-edit-client],.perm-readonly [data-new-case],.perm-readonly [data-edit-case],.perm-readonly [data-new-meeting],.perm-readonly [data-new-hearing],.perm-readonly [data-hearing-edit],.perm-readonly [data-edit-note],.perm-readonly [data-delete-note],.perm-readonly .client-card-fold .hearing-actions,.perm-readonly [data-calendar-task],.perm-readonly [data-new-reminder],.perm-readonly [data-hearing-reminders],.perm-readonly [data-work-new-client],.perm-readonly [data-important],.perm-readonly [data-meeting-toggle],.perm-readonly [data-meeting-edit],.perm-readonly [data-meeting-task],.perm-readonly [data-office-task],.perm-readonly [data-office-meeting],.perm-readonly [data-member-task],.perm-readonly [data-document-delete],.perm-readonly [data-restore-id]{display:none!important}
.perm-readonly .task-check:disabled{cursor:default;opacity:.6}

/* Belgeler ve depolama */
.workspace-content.documents-page{padding:28px 32px}
.documents-page{max-width:1400px;margin:0 auto;display:grid;gap:18px}
.documents-page>.page-heading{margin:0}
.documents-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.documents-layout>.page-heading,.documents-layout>.storage-card{grid-column:1/-1}
.documents-layout>.documents-card{min-width:0}
@media(max-width:1000px){.documents-layout{grid-template-columns:minmax(0,1fr)}}
.storage-card,.documents-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.storage-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.storage-card h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem}
.storage-card h2 .icon{width:19px;height:19px;color:var(--muted)}
.storage-bar{height:9px;border-radius:9px;background:var(--surface-muted);overflow:hidden}
.storage-bar span{display:block;height:100%;border-radius:9px;background:var(--brand);transition:width .4s ease}
.storage-bar.warn span{background:var(--warning)}
.storage-bar.full span{background:var(--error)}
.storage-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:.85rem;color:var(--muted)}
.storage-meta span:first-child{font-weight:600}
.storage-warning{margin:10px 0 0;padding:8px 12px;border-radius:8px;background:var(--error-bg);color:var(--error);font-size:.85rem}
.documents-card h2{margin:0 0 14px;font-size:1rem}
.documents-card.list{padding:0;overflow:hidden}
.documents-card.list header{padding:16px 22px;border-bottom:1px solid var(--line)}
.documents-card.list h2{margin:0}
.document-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px}
.document-upload .wide{grid-column:1/-1}
.document-upload label{display:grid;gap:6px;margin:0;font-weight:600;font-size:.88rem}
.document-upload label select,.document-upload label input{margin:0;font-weight:400}
.field-label{display:block;margin-bottom:8px;font-weight:600;font-size:.88rem}
.document-target{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;margin:0}
.document-target button{width:100%;min-width:0;justify-content:center}
.document-file{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.document-file [data-document-cancel][hidden],.client-import-dialog [data-file][hidden]{display:none!important}
.document-pick{position:relative;overflow:hidden;cursor:pointer}
.document-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.document-file .button[type=submit]{display:inline-flex;align-items:center;gap:6px}
.document-file .button .icon{width:16px;height:16px}
.document-list{display:grid}
.document-row{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--line)}
.document-row:first-child{border-top:0}
.document-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:var(--surface-muted);color:var(--muted)}
.document-icon .icon{width:18px;height:18px}
.document-meta{flex:1;min-width:0;display:grid;gap:2px}
.document-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-meta small{color:var(--muted);overflow-wrap:anywhere}
/* BüroZeka okuma durumu (18) */
.document-ai{display:block;font-size:.78rem;color:var(--muted)}.document-ai.unreadable{color:var(--warning)}.client-doc-meta .document-ai{margin-top:2px}
.document-description{font-style:italic}
.document-actions{display:flex;align-items:center;gap:8px}
.documents-empty{margin:0;padding:18px 22px}
.client-docs-heading{margin:0;padding:12px 22px 4px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.client-doc-upload select{width:auto;min-height:36px;margin:0}
.client-doc-upload :is(.attachment-button,select,.button){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:144px;min-width:0;height:44px;min-height:44px;padding:10px 14px;margin:0;border-radius:10px;font-size:.85rem}
.client-doc-upload select{padding-right:32px}
.documents-card.list header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.documents-list-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.documents-list-tools select{width:auto;max-width:100%;min-height:36px;margin:0;font-size:.82rem}
.client-card .document-row{padding-left:22px;padding-right:22px}
@media (max-width:700px){.workspace-content.documents-page{padding:16px}.document-upload{grid-template-columns:1fr}.document-row{flex-wrap:wrap;padding:12px 14px}.document-actions{width:100%;padding-left:50px}.storage-card,.documents-card{padding:14px}.documents-card.list{padding:0}.client-docs-heading{padding-left:14px}}

/* Ayrıntılı müvekkil formu (Bireysel / Kurumsal); isteğe bağlı alanlar etikette belirtilir. */
#modal.client-dialog{width:min(720px,calc(100vw - 32px));max-width:720px}
.client-form-hint{margin:-6px 0 16px;font-size:.8rem}
.client-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:0 0 18px;min-width:0}
.client-kind legend{padding:0;margin-bottom:8px;font-size:.875rem;font-weight:600}
.client-kind label{position:relative;display:block}
.client-kind input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.client-kind span{display:block;padding:11px 12px;text-align:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-weight:600;transition:background .2s,border-color .2s,color .2s}
.client-kind input:hover+span{border-color:var(--brand)}
.client-kind input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff)}
.client-kind input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.client-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;border:0;padding:0;margin:0 0 14px;min-width:0}
.client-form-grid[hidden]{display:none}
.client-form-grid .wide{grid-column:1/-1}
.client-form .field{margin:0}
.client-form textarea{resize:vertical}
.field-optional{font-weight:400;font-size:.78rem;color:var(--muted)}
.field-required{color:var(--error,#b42318);margin-left:1px}
.phone-input{display:flex;min-width:0}
.phone-input>span{display:grid;place-items:center;flex:none;padding:0 11px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;background:var(--surface-soft,var(--surface));font-size:.72rem;font-weight:700;color:var(--muted)}
.phone-input>input{flex:1;min-width:0;border-top-left-radius:0;border-bottom-left-radius:0}
.client-info-grid>.wide{grid-column:1/-1}
.client-about{white-space:pre-wrap}
@media(max-width:600px){.client-form-grid{grid-template-columns:minmax(0,1fr)}}

/* Planlanan görüşmeler: sade liste ve kart içinde açılan form. */
.meeting-plan-form.inline{padding:16px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--brand) 3%,var(--surface))}
.meeting-plan-form.inline[hidden]{display:none}
.meeting-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.meeting-plan-grid .wide{grid-column:1/-1}
.meeting-plan-grid .field{margin:0}
.meeting-plan-grid .meeting-presets{margin:0}
.meeting-plan-hint{margin:10px 0 0;font-size:.78rem}
.meeting-plan-actions{display:flex;gap:8px;margin-top:12px}
.meeting-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.meeting-row:first-child{border-top:0}
.meeting-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
.meeting-icon .icon{width:18px;height:18px}
.meeting-row.done .meeting-icon{background:var(--surface-soft,var(--surface));color:var(--muted)}
.meeting-main{min-width:0}
.meeting-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.meeting-title strong{font-size:.95rem;font-weight:600;overflow-wrap:anywhere}
.meeting-row.done .meeting-title strong{color:var(--muted)}
.meeting-pill{padding:2px 9px;border-radius:999px;background:var(--surface-soft,var(--surface));border:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:600}
.meeting-pill.late{background:color-mix(in srgb,#d97706 12%,var(--surface));border-color:color-mix(in srgb,#d97706 30%,var(--line));color:#b45309}
.meeting-main small{display:block;margin-top:3px;color:var(--muted);font-size:.8rem}
.meeting-tools{display:flex;gap:2px}
.meeting-tools .icon-button{width:34px;height:34px;color:var(--muted)}
.meeting-tools .icon-button:hover{color:var(--brand)}
.meeting-tools .icon{width:17px;height:17px}
.meeting-empty{padding:14px 0;margin:0}
@media(max-width:600px){.meeting-plan-grid{grid-template-columns:minmax(0,1fr)}.meeting-plan-form.inline{padding:14px}}
.client-form-notice{margin:-4px 0 14px;padding:10px 12px;border:1px solid color-mix(in srgb,#d97706 35%,var(--line));border-radius:10px;background:color-mix(in srgb,#d97706 9%,var(--surface));font-size:.82rem;color:var(--ink)}
.client-form input:user-invalid,.client-form select:user-invalid{border-color:var(--error,#b42318)}
@media(forced-colors:active){.client-kind input:checked+span{forced-color-adjust:none;background:Highlight;border-color:Highlight;color:HighlightText}.client-kind input:focus-visible+span{outline:2px solid Highlight}}

/* Müvekkil sayfası: sol üstte bilgi kartı, sağ sütunda Pano tarzı bölüm düğmeleri, seçilen bölüm bilgi kartının altında. */
.client-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);grid-template-areas:"info nav" "section nav";gap:18px;align-items:start}
.client-layout>.client-info{grid-area:info;margin:0;min-width:0}
.client-layout>.client-info[hidden]{display:none!important}
.client-layout.section-open{grid-template-areas:"section nav"}
.client-layout .client-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-sections{grid-area:nav;display:grid;gap:10px;align-content:start;position:sticky;top:12px}
.client-section-host{grid-area:section;display:grid;gap:18px;min-width:0}
.client-section-host>[data-client-section]{margin:0;animation:client-section-in .2s ease}
.client-section-host>[data-client-section][hidden]{display:none!important}
.client-section-host>[data-client-section].closing{animation:client-section-out .18s ease forwards;pointer-events:none}
@keyframes client-section-out{to{opacity:0;transform:translateY(-6px)}}
.client-section-tile{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.client-section-tile:hover{border-color:var(--brand);transform:translateY(-1px)}
.client-section-tile.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.client-section-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.client-section-tile .dashboard-tile-icon{flex:0 0 40px;width:40px;height:40px}
.client-section-tile .dashboard-tile-icon .icon{width:19px;height:19px}
.client-section-text{display:grid;gap:2px;min-width:0}
.client-section-text strong{font-size:.92rem;font-weight:650}
.client-section-text small{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes client-section-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.client-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "nav" "section"}.client-layout.section-open{grid-template-areas:"nav" "section"}.client-sections{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.client-layout .client-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.client-sections{gap:8px}.client-section-tile{gap:8px;padding:9px 10px;border-radius:12px}.client-section-tile .dashboard-tile-icon{flex-basis:30px;width:30px;height:30px;border-radius:9px}.client-section-tile .dashboard-tile-icon .icon{width:16px;height:16px}.client-section-text strong{font-size:.8rem;line-height:1.25}.client-section-text small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.client-section-tile{transition:none}.client-section-tile:hover{transform:none}.client-section-host>[data-client-section]{animation:none}}
/* Büro kutusundaki tutar dar ekranda tek satıra sığar; sığmazsa yalnız binlik ayracında bölünür. */
.office-tile strong.money{overflow-wrap:normal;font-size:clamp(1rem,4.4vw,1.7rem)}
@media (max-width:520px){.office-tile{padding:12px}}
/* Duruşma formunda mevcut dava tarihinin değişeceği uyarısı. */
.form-warning{margin:0;padding:10px 13px;border-radius:8px;background:var(--warning-bg);color:var(--warning);font-size:.875rem;line-height:1.5}

#note-history-panel[hidden]{display:none!important}
.note-history-toolbar{display:flex;justify-content:flex-end;padding:16px 22px;border-bottom:1px solid var(--line)}
.note-history-toolbar select{width:220px;max-width:100%}
#client-section-notes .note-meta .note-actions{margin-left:auto}
.meeting-note-details{margin:0 0 12px}
.note-composer .meeting-extra,#edit-note-form .meeting-extra{grid-template-columns:minmax(0,1fr)}
.record-card header{flex-wrap:wrap}
/* Not kartı: tarih/yer ve eylemler aynı satırda, gövde doğrudan altında. */
#client-section-notes .note-card{gap:0}
#client-section-notes .note-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
#client-section-notes .note-meeting-heading{font-size:1rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere;color:var(--ink)}
#client-section-notes .note-main{width:100%;min-width:0}
.mini-avatar img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:600px){#client-section-notes .note-meta{gap:8px;align-items:flex-start}#client-section-notes .note-actions{gap:4px}}

/* Belge kontrolleri aynı ölçekte ve içerikle orantılıdır. */
#client-doc-form{gap:9px;padding:14px 22px}#client-doc-form>.attachment-button,#client-doc-form>select,#client-doc-form>button[type=submit]{height:40px;min-height:40px;max-width:160px;flex:0 1 140px;width:140px;padding:8px 12px;margin:0;border-radius:9px;font-size:.86rem;line-height:1.25;justify-content:center;box-sizing:border-box}#client-doc-form>.attachment-button .icon,#client-doc-form>button .icon{width:16px;height:16px}#client-doc-form>.attachment-hint{margin-top:3px;line-height:1.6}
@media(max-width:500px){#client-doc-form>.attachment-button,#client-doc-form>select,#client-doc-form>button[type=submit]{flex:1 1 calc(50% - 9px);max-width:none;width:auto}}
