
*{box-sizing:border-box}
:root{--green:#0f766e;--green-dark:#115e59;--ink:#152033;--muted:#64748b;--line:#dbe3ee;--bg:#f3f6fa;--danger:#b42318;--warning:#b45309}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:0;border-radius:11px;background:var(--green);color:#fff;padding:12px 16px;font-weight:800}
button:hover{background:var(--green-dark)}
button:disabled{opacity:.55;cursor:not-allowed}
input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:12px;background:#fff;color:var(--ink)}
textarea{resize:vertical}
label{display:grid;gap:7px;font-weight:700;font-size:.92rem}
.hidden{display:none!important}
.brand{color:var(--green);font-weight:900;letter-spacing:.12em;font-size:.8rem}.version{letter-spacing:0;background:#e2e8f0;color:#334155;padding:3px 7px;border-radius:999px}
.boot-screen,.identify-screen{min-height:100vh;display:grid;place-items:center;padding:20px}
.boot-screen{gap:15px;align-content:center}.spinner{width:42px;height:42px;border:5px solid #dbe3ee;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.identify-card{width:min(520px,100%);background:#fff;padding:34px;border-radius:24px;box-shadow:0 20px 60px rgba(15,23,42,.12)}.identify-card h1{font-size:2rem;margin:12px 0}.identify-card p{color:var(--muted);line-height:1.6}.identify-card form{display:grid;gap:16px;margin-top:22px}
.topbar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px}.topbar h1{margin:3px 0;font-size:1.55rem}.user-line{color:var(--muted);font-size:.86rem}.top-actions{display:flex;align-items:center;gap:10px}.ghost-button,.secondary{background:#fff;color:var(--ink);border:1px solid #cbd5e1}.ghost-button:hover,.secondary:hover{background:#f8fafc}
.network-badge{font-size:.75rem;font-weight:900;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#166534}.network-badge.offline{background:#fef3c7;color:#92400e}
.main-nav{display:flex;gap:8px;overflow:auto;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:87px;z-index:90}.nav-button{white-space:nowrap;background:#f8fafc;color:#334155;border:1px solid var(--line)}.nav-button.active{background:var(--green);color:#fff;border-color:var(--green)}
.main-content{width:min(1450px,calc(100% - 28px));margin:22px auto 80px}.view{display:block}
.panel,.step-card,.kpi-grid article{background:#fff;border-radius:18px;box-shadow:0 7px 25px rgba(15,23,42,.07)}.panel{padding:20px}.panel h2{margin-top:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-head h2{margin:0}.panel-head p{margin:4px 0;color:var(--muted)}
.workflow{width:min(820px,100%);margin:auto;display:grid;gap:16px}.step-card{display:grid;grid-template-columns:46px 1fr;gap:15px;padding:20px}.step-number{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.2rem}.step-body h2{margin:4px 0 14px}.row{display:flex;gap:10px}.wrap{flex-wrap:wrap}.row>input,.row>select,.row>textarea{flex:1}.helper{align-self:center;color:var(--muted)}
.primary-large{min-height:62px;font-size:1.15rem;border-radius:17px}
.search-results{display:grid;gap:6px;max-height:310px;overflow:auto;margin-top:8px}.search-results button{display:flex;justify-content:space-between;gap:15px;text-align:left;background:#f8fafc;color:var(--ink);border:1px solid var(--line)}.search-results button span{color:var(--muted)}.selected-record{margin-top:9px;padding:13px;border-radius:12px;background:#dcfce7;border:1px solid #86efac;display:flex;justify-content:space-between;gap:10px}.full{grid-column:1/-1}
.media-list{display:grid;gap:7px;margin-top:9px}.media-item{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#f8fafc;border-radius:9px}.media-item button{padding:6px 9px;background:#fff;color:var(--danger);border:1px solid #fecaca}
.message{padding:12px;border-radius:11px;background:#dcfce7;color:#166534;font-weight:700}.message.error{background:#fee2e2;color:#991b1b}.offline-message{padding:12px;border-radius:11px;background:#fef3c7;color:#92400e;font-weight:800}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.kpi-grid article{padding:19px}.kpi-grid span{color:var(--muted)}.kpi-grid strong{display:block;font-size:2rem;margin-top:7px}.kpi-grid.compact strong{font-size:1.6rem}
.filter-grid{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:14px}.equipment-filters{grid-template-columns:1fr 250px}
.record-list{display:grid;gap:11px}.record-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.record-head>div{display:grid;gap:3px}.record-head small,.record-meta{color:var(--muted)}.record-card h3{margin:12px 0 5px}.record-card p{white-space:pre-wrap}.record-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.record-actions button{padding:9px 11px}.status{font-size:.72rem;padding:6px 9px;border-radius:999px;font-weight:900}.status-open{background:#fee2e2;color:#991b1b}.status-progress{background:#fef3c7;color:#92400e}.status-closed,.status-valid{background:#dcfce7;color:#166534}.status-expired{background:#fee2e2;color:#991b1b}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:950px}.data-table th,.data-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{background:#f8fafc;font-size:.8rem;color:#475569}.data-table small{color:var(--muted)}
.two-column{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto}
.modal{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.68);display:grid;place-items:center;padding:18px}.modal-card{width:min(650px,100%);background:#fff;border-radius:18px;padding:18px}.modal-card h2{margin-top:0}#qr-video{width:100%;background:#000;border-radius:12px;max-height:70vh}
.empty{text-align:center;color:var(--muted);padding:30px}
@media(max-width:900px){.two-column{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.main-nav{top:105px}}
@media(max-width:650px){.topbar{align-items:flex-start;padding:13px}.top-actions{display:grid;justify-items:end}.main-nav{top:114px;padding:9px}.main-content{width:calc(100% - 14px);margin-top:10px}.step-card{grid-template-columns:35px 1fr;padding:14px}.step-number{width:33px;height:33px}.row{display:grid;grid-template-columns:1fr}.filter-grid,.equipment-filters,.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1}.panel{padding:14px}.panel-head{align-items:flex-start}.kpi-grid article{padding:14px}.identify-card{padding:24px}.topbar h1{font-size:1.25rem}}

.language-select{width:auto;min-width:105px;padding:8px 10px}.translation-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.translation-preview>div{border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:10px}.translation-preview small{font-weight:900;color:var(--green)}.translation-preview p{margin:5px 0 0;white-space:pre-wrap}.performance-table{width:100%;border-collapse:collapse;min-width:760px}.performance-table th,.performance-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.performance-table th{background:#f8fafc;color:#475569;font-size:.8rem}html[dir="rtl"] body{direction:rtl}@media(max-width:650px){.translation-preview{grid-template-columns:1fr}}

.analytics-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.analytics-tab.active{background:var(--green);color:#fff}.analysis-table{width:100%;border-collapse:collapse;min-width:850px}.analysis-table th,.analysis-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.analysis-table th{background:#f8fafc;color:#475569;font-size:.8rem}.detail-modal-card{width:min(950px,100%);max-height:92vh;overflow:auto}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-box{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.detail-box.full{grid-column:1/-1}.detail-box h3{margin:0 0 7px;color:var(--green);font-size:.9rem}.detail-box p{margin:0;white-space:pre-wrap}.worker-section{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.worker-row{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.worker-row button{padding:6px 9px;background:#fff;color:var(--danger);border:1px solid #fecaca}.report-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.status-cards article{border:1px solid var(--line);border-radius:14px;padding:15px}.status-cards strong{display:block;font-size:1.7rem;margin-top:6px}@media(max-width:700px){.report-filters,.detail-grid{grid-template-columns:1fr}.detail-box.full{grid-column:1}.status-cards{grid-template-columns:repeat(2,1fr)}}

#install-app-button{font-weight:700}
.danger{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}
.report-kpis{margin:14px 0}
#report-preview{margin-top:16px;max-height:62vh}
#report-preview td:last-child{min-width:320px;white-space:normal}
@media(max-width:720px){
  .top-actions{gap:6px}
  #install-app-button{width:100%}
  .main-nav{position:sticky;top:0;z-index:25;overflow-x:auto;flex-wrap:nowrap}
  .main-nav .nav-button{white-space:nowrap;min-width:max-content}
  .report-filters{grid-template-columns:1fr 1fr}
}

.translation-status{display:block;margin-top:8px;color:#526477;font-weight:600}
.report-mode-row{display:flex;justify-content:flex-start;margin:12px 0}
.report-mode-row label{min-width:260px}
.report-mode-row select{width:100%}
#report-preview table{min-width:900px}
#report-preview th{position:sticky;top:0;z-index:2}
#report-preview td{white-space:normal;vertical-align:top}

.report-control-block{margin:16px 0}
.report-control-block>strong{display:block;margin-bottom:9px;color:#334155}
.report-button-row{display:flex;flex-wrap:wrap;gap:9px}
.report-choice,.report-period{background:#fff;color:#0f766e;border:1px solid #94a3b8;border-radius:999px;padding:10px 15px;font-weight:900}
.report-choice:hover,.report-period:hover{background:#ecfdf5}
.report-choice.active,.report-period.active{background:#0f766e;color:#fff;border-color:#0f766e}
@media(max-width:650px){.report-choice,.report-period{flex:1 1 calc(50% - 9px)}}

.inspection-toolbar{display:grid;grid-template-columns:1fr 210px 190px;gap:10px;margin:14px 0}
.inspection-date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}
.inspection-date-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}
.inspection-date-grid small{display:block;color:var(--muted);margin-bottom:4px}
.inspection-record{border-left:5px solid #16a34a}
.inspection-record.inspection-soon{border-left-color:#d97706}
.inspection-record.inspection-expired{border-left-color:#dc2626}
@media(max-width:760px){
  .inspection-toolbar,.inspection-date-grid{grid-template-columns:1fr}
}

.source-data-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:.75rem;font-weight:900}

#equipment-list .status{white-space:nowrap}
#equipment-list td:nth-child(6){white-space:nowrap}

.document-rule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.document-rule-summary>div{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:13px}
.document-rule-summary strong{display:block;font-size:1.45rem;color:var(--green)}
.document-rule-summary span{color:var(--muted);font-size:.82rem}
.document-category-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}
.document-not-required{font-weight:800;color:#475569}
.status-neutral{background:#e2e8f0;color:#475569}
.status-missing{background:#ffe4e6;color:#be123c}
.inspection-record.inspection-neutral{border-left-color:#94a3b8}
.inspection-record.inspection-missing{border-left-color:#e11d48}
@media(max-width:760px){.document-rule-summary{grid-template-columns:repeat(2,1fr)}}

.setup-panel{margin-bottom:17px;border:2px solid #99f6e4}
.setup-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.setup-progress-grid article{border:1px solid var(--line);border-radius:13px;padding:14px;background:#f8fafc}
.setup-progress-grid span{display:block;color:var(--muted);font-size:.82rem}
.setup-progress-grid strong{display:block;margin-top:6px;font-size:1.05rem}
.setup-running{color:#b45309}
.setup-success{color:#15803d}
.setup-error{color:#b91c1c}
@media(max-width:760px){.setup-progress-grid{grid-template-columns:repeat(2,1fr)}}

.setup-panel .message{margin-top:14px}

#setup-equipment-status.setup-running{font-variant-numeric:tabular-nums}

#maintenance-interval-help{display:block;margin-top:6px;line-height:1.4}

/* v13 Final - Machine Cards */
.machine-card-search-panel{position:sticky;top:72px;z-index:5}.machine-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#ecfdf5,#f8fafc)}.machine-code{font-size:1.8rem;font-weight:950;color:var(--green);letter-spacing:.04em}.machine-hero h2{margin:5px 0}.machine-state{text-align:right;display:grid;gap:7px}.machine-state strong{padding:7px 11px;border-radius:999px;background:#dcfce7;color:#166534}.machine-kpis{grid-template-columns:repeat(6,1fr)}.machine-kpis strong{font-size:1.25rem}.machine-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.timeline{display:grid;gap:8px}.timeline-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.timeline-row small{color:var(--muted);text-align:right}@media(max-width:900px){.machine-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.machine-hero,.timeline-row{display:grid}.machine-state,.timeline-row small{text-align:left}.machine-card-grid,.machine-kpis{grid-template-columns:1fr 1fr}.machine-card-search-panel{position:static}}

/* v13.1 complete machine card drawer */
.machine-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90}
.machine-drawer{position:fixed;z-index:100;top:0;right:0;width:min(1180px,82vw);height:100dvh;background:var(--panel,#fff);box-shadow:-18px 0 45px rgba(15,23,42,.25);overflow:auto;padding:18px;transform:translateX(0)}
.machine-drawer.hidden{display:none}.machine-drawer-head{position:sticky;top:-18px;z-index:3;background:var(--panel,#fff);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 0 12px;border-bottom:1px solid var(--border,#dbe3ef)}
.machine-drawer-tabs{display:flex;gap:8px;overflow:auto;padding:12px 0}.machine-drawer-tabs button{white-space:nowrap}.machine-drawer-tabs button.active{background:#0f766e;color:#fff}
.machine-tab-pane{display:none}.machine-tab-pane.active{display:block}.machine-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.machine-summary-grid article{padding:12px;border:1px solid var(--border,#dbe3ef);border-radius:12px}.machine-summary-grid span{display:block;font-size:.78rem;opacity:.72}.machine-summary-grid strong{font-size:1.15rem}
.machine-action-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;padding:12px;border:1px solid var(--border,#dbe3ef);border-radius:12px}.machine-action-form .full{grid-column:1/-1}.machine-history-row{display:grid;grid-template-columns:140px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--border,#dbe3ef)}.machine-history-row small{opacity:.7}.machine-card-result-list button{min-height:58px}
@media(max-width:640px){.machine-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-action-form{grid-template-columns:1fr}.machine-history-row{grid-template-columns:1fr}.machine-drawer{width:100vw;padding:14px}}

/* v13.2 final machine card */
.machine-drawer{border-left:1px solid var(--line);scrollbar-gutter:stable}.machine-drawer-head{top:-18px}.machine-quick-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.machine-quick-summary article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.machine-quick-summary span,.machine-quick-summary small{display:block;color:var(--muted);font-size:.78rem}.machine-quick-summary strong{display:block;margin:4px 0}.machine-card-open #app-shell{overflow:hidden}.machine-card-result-list button{cursor:pointer;transition:.15s}.machine-card-result-list button:hover{border-color:#0f766e;background:#ecfdf5;transform:translateX(2px)}
@media(max-width:900px){.machine-drawer{width:94vw}.machine-quick-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.machine-drawer{width:100vw}.machine-quick-summary{grid-template-columns:1fr}}

/* v13.3 Belgeler şantiye filtresi */
#inspection-site-filter{min-width:180px}
@media (max-width:720px){#inspection-site-filter{width:100%}}


/* v13.4 çoklu personel ve işçilik */
.labor-entry{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.work-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:#f8fafc}.work-session-row small{display:block;color:var(--muted);margin-top:3px}.fault-close-box{position:sticky;bottom:-18px;background:var(--panel,#fff);border-top:1px solid var(--line);padding:14px 0 4px;margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fault-close-box small{color:var(--muted)}.check-line{display:flex!important;align-items:center;gap:8px;font-weight:800}.check-line input{width:20px;height:20px}.detail-modal-card{max-height:92dvh;overflow:auto}.labor-entry .form-grid{margin-top:10px}
@media(max-width:650px){.work-session-row{align-items:flex-start;display:grid}.fault-close-box{display:grid}.fault-close-box button{width:100%}}

/* v14.2 mechanic work flow */
.mechanic-work-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mechanic-work-status{display:grid;gap:5px;padding:16px;border:2px solid var(--green);border-radius:16px;background:rgba(22,163,74,.08)}.mechanic-work-status span,.mechanic-work-status small{display:block}.mechanic-work-actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){#view-fault .workflow{width:100%;gap:12px}#view-fault .step-card{grid-template-columns:38px 1fr;padding:14px;gap:10px}#view-fault .step-number{width:36px;height:36px}.mechanic-work-actions{grid-template-columns:1fr 1fr;position:sticky;bottom:8px;z-index:10;background:var(--bg);padding:8px;border-radius:18px}.mechanic-work-actions .primary-large{min-height:58px;font-size:1rem}}
