*{box-sizing:border-box}:root{--bg:#f3f6fa;--panel:#fff;--soft:#f8fafc;--sidebar:#101827;--sidebar-hover:#1e293b;--text:#172033;--muted:#667085;--border:#dce3ec;--primary:#2563eb;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--shadow:rgba(23,32,51,.07)}body[data-theme="dark"]{--bg:#17212f;--panel:#202c3b;--soft:#293748;--sidebar:#111a29;--sidebar-hover:#2a394c;--text:#e3eaf2;--muted:#a6b2c2;--border:#3b4a5e;--primary:#3f94c7;--success:#4fb88b;--danger:#d97887;--warning:#d3a14a;--shadow:rgba(0,0,0,.12)}body{margin:0;min-height:100vh;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#fff;padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:block;background:#fff;border-radius:10px;padding:8px;margin:0 5px 20px}.brand img{display:block;width:100%;height:54px;object-fit:contain}.menu{display:grid;gap:6px}.menu a,.sidebar-footer a{padding:12px;border-radius:10px;color:#d7e0eb}.menu a:hover,.menu a.active,.sidebar-footer a:hover{background:var(--sidebar-hover);color:#fff}.sidebar-footer{margin-top:auto}.main{min-width:0}.topbar{min-height:70px;padding:13px 24px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:var(--muted)}.top-actions,.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.top-actions form,.actions form{margin:0}.content{padding:22px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}.button.primary{background:var(--primary);color:#fff}.button.secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.button.danger,.icon-danger{background:#fee2e2;color:#991b1b}.button.whatsapp{background:#16a34a;color:#fff}.button.small{padding:7px 9px;font-size:12px}.button.full{width:100%}.message{margin-bottom:14px;padding:12px 14px;border-radius:10px;background:#dcfce7;color:#166534;font-weight:700}.message.error{background:#fee2e2;color:#991b1b}.stats-grid{display:grid;gap:14px;margin-bottom:18px}.stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card,.panel-card{background:var(--panel);border:1px solid var(--border);border-radius:15px;box-shadow:0 10px 25px var(--shadow)}.stat-card{padding:17px}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{display:block;margin:8px 0 4px;font-size:29px}.stat-card small{color:var(--muted)}.currency-small{font-size:19px!important}.panel-card{overflow:hidden}.panel-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-header h2{margin:0;font-size:18px}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.panel-header a{color:var(--primary);font-weight:800}.top-gap{margin-top:16px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(600px,1.75fr);gap:16px}.table-wrapper{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{background:var(--soft);color:var(--muted);font-size:12px;text-transform:uppercase}td{font-size:14px}td strong{display:block}td span,.strong-link+span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.strong-link{font-weight:800;color:var(--text)}.strong-link:hover{color:var(--primary)}.empty{padding:28px;color:var(--muted);text-align:center}.list{padding:0 16px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.list-row span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.badge{display:inline-flex!important;width:auto!important;margin:0!important;padding:5px 9px;border-radius:999px;font-size:12px!important;font-weight:900}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}.badge.yellow{background:#fef3c7;color:#92400e}.badge.blue{background:#e0f2fe;color:#075985}.badge.gray{background:#e5e7eb;color:#374151}.severity-critical{background:#fee2e2;color:#991b1b}.severity-warning{background:#fef3c7;color:#92400e}.severity-info{background:#e0f2fe;color:#075985}.filter-grid{padding:15px;display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:10px;align-items:end}.filter-grid.compact{grid-template-columns:2fr 1fr auto}.filter-grid label,.target-form label,.form-group{display:grid;gap:6px;font-size:12px;font-weight:800}.filter-grid input,.filter-grid select,.target-form input,.recipe-form select,.form-control,.login-card input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}.filter-actions{display:flex;gap:7px}.filter-summary{padding:0 15px 12px;color:var(--muted);font-size:13px}.profile-info{padding:14px;display:grid;gap:10px}.profile-info>div{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--soft)}.profile-info span{display:block;color:var(--muted);font-size:12px;font-weight:700}.profile-info strong{display:block;margin-top:4px}.profile-info .wide{min-height:80px}.tabs{display:flex;gap:7px;flex-wrap:wrap;padding:13px}.tab{padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:var(--soft);font-size:12px;font-weight:800}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.card-grid,.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:0 14px 14px}.mini-card,.gallery-card{border:1px solid var(--border);border-radius:13px;background:var(--panel);overflow:hidden}.mini-card{padding:12px}.mini-card h3{margin:9px 0 5px}.mini-card p{line-height:1.45}.mini-card small,.gallery-card small{color:var(--muted)}.mini-head{display:flex;justify-content:space-between;gap:8px}.icon-danger{border:0;border-radius:8px;padding:5px 8px;cursor:pointer}.gallery-card img{width:100%;height:175px;object-fit:cover;display:block;background:var(--soft)}.gallery-card>div{padding:10px;display:grid;gap:7px}.gallery-card p{margin:0}.form-card{max-width:1050px;margin:0 auto}.panel-form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group.wide{grid-column:1/-1}.form-group span{font-weight:800}.form-group small{color:var(--muted)}textarea.form-control{min-height:105px;resize:vertical}.form-checkbox{width:20px;height:20px}.field-error{color:var(--danger)!important}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:15px 0}.group-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:13px;display:grid;gap:8px}.group-card.active,.group-card:hover{border-color:var(--primary);background:var(--soft)}.group-card span{color:var(--muted)}.group-card div{display:flex;justify-content:space-between;gap:8px}.group-card em{font-style:normal;font-size:17px;font-weight:900}.target-form{padding:15px;display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.readiness{padding:14px;border-radius:12px;font-weight:800;margin-top:14px}.readiness.inside{margin:14px}.readiness.success{background:#dcfce7;color:#166534}.readiness.warning{background:#fef3c7;color:#92400e}.readiness.danger{background:#fee2e2;color:#991b1b}.recipe-form select{min-width:235px}.recipe-complete{background:#effdf5}.recipe-draft{background:#fffaf0}.recipe-not_used{background:#f3f4f6}.negative{color:var(--danger);font-weight:900}.positive{color:var(--success);font-weight:900}.map{height:430px;background:var(--soft)}.map-bubble{display:flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-weight:900;border:3px solid rgba(255,255,255,.9);box-shadow:0 5px 15px rgba(0,0,0,.2)}.map-bubble.region{width:38px;height:38px;background:#2563eb}.map-bubble.location{width:36px;height:36px;background:#0f766e}.map-bubble.device{width:16px;height:16px;background:#dc2626;border-width:2px}.chart-wrap{height:330px;padding:14px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.login-body{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:20px}.login-card{width:min(430px,100%);padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 60px var(--shadow)}.login-card img{display:block;width:230px;max-width:100%;margin:0 auto 18px}.login-card h1{text-align:center;margin:0 0 8px}.login-card p{text-align:center;color:var(--muted);margin:0 0 18px}.login-card label{display:block;margin:10px 0 6px;font-weight:800;font-size:13px}.password-row{display:grid;grid-template-columns:1fr auto}.password-row input{border-radius:10px 0 0 10px}.password-row button{border:1px solid var(--border);border-left:0;background:var(--soft);color:var(--text);border-radius:0 10px 10px 0;padding:0 12px;font-weight:800}.login-card .full{margin-top:16px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text)}@media(max-width:1200px){.stats-4,.stats-5{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:1/-1}.profile-grid{grid-template-columns:1fr}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.menu{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:10px}.topbar{position:static;align-items:flex-start;flex-direction:column}.two-column,.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.wide{grid-column:auto}.target-form{grid-template-columns:1fr}.stats-2,.stats-4,.stats-5{grid-template-columns:1fr}}
/* =========================================================
   v1.0.1 — Hedef İmalat koyu mod renk düzenlemesi
   Yalnızca görünüm değişir; hesaplama mantığına dokunmaz.
   ========================================================= */

/* Bölüm başlıkları — açık mod */
.panel-header.recipe-draft {
    background: #fff8e7;
    border-bottom-color: #ead9a8;
}

.panel-header.recipe-complete {
    background: #ecfdf5;
    border-bottom-color: #a7f3d0;
}

.panel-header.recipe-not_used {
    background: #f4f7fb;
    border-bottom-color: #dce3ec;
}

/* Bölüm durumunu soldaki ince vurgu çizgisiyle okunur kıl */
.panel-card:has(> .panel-header.recipe-draft) {
    border-left: 4px solid #d97706;
}

.panel-card:has(> .panel-header.recipe-complete) {
    border-left: 4px solid #16a34a;
}

.panel-card:has(> .panel-header.recipe-not_used) {
    border-left: 4px solid #64748b;
}

/* Koyu modda açık krem/beyaz blokları kaldır */
body[data-theme="dark"] .panel-header.recipe-draft {
    background: #29364b;
    border-bottom-color: #52657e;
}

body[data-theme="dark"] .panel-header.recipe-complete {
    background: #123c35;
    border-bottom-color: #287567;
}

body[data-theme="dark"] .panel-header.recipe-not_used {
    background: #263247;
    border-bottom-color: #465a74;
}

body[data-theme="dark"] .panel-header.recipe-draft h2,
body[data-theme="dark"] .panel-header.recipe-complete h2,
body[data-theme="dark"] .panel-header.recipe-not_used h2 {
    color: #f4f8ff;
}

body[data-theme="dark"] .panel-header.recipe-draft p,
body[data-theme="dark"] .panel-header.recipe-complete p,
body[data-theme="dark"] .panel-header.recipe-not_used p {
    color: #b8c8db;
}

/* Hedef imalat tablosunu ana koyu paletle bütünleştir */
body[data-theme="dark"] .panel-card .table-wrapper {
    background: #182437;
}

body[data-theme="dark"] .panel-card table thead th {
    background: #22344d;
    color: #d7e6f8;
    border-bottom-color: #40536d;
}

body[data-theme="dark"] .panel-card table tbody td {
    background: #182437;
    border-bottom-color: #32465f;
}

body[data-theme="dark"] .panel-card table tbody tr:hover td {
    background: #1d2d43;
}

/* Uyarı kutuları koyu modda neon/açık blok gibi görünmesin */
body[data-theme="dark"] .readiness.success {
    background: #103b31;
    color: #a7f3d0;
    border: 1px solid #256d5d;
}

body[data-theme="dark"] .readiness.warning {
    background: #40351d;
    color: #fde68a;
    border: 1px solid #735d25;
}

body[data-theme="dark"] .readiness.danger {
    background: #451e29;
    color: #fecdd3;
    border: 1px solid #7f3445;
}

/* Durum etiketleri */
body[data-theme="dark"] .badge.green {
    background: #12483a;
    color: #a7f3d0;
}

body[data-theme="dark"] .badge.yellow {
    background: #4b3b18;
    color: #fde68a;
}

body[data-theme="dark"] .badge.red {
    background: #4b1f2a;
    color: #fecdd3;
}

body[data-theme="dark"] .badge.gray {
    background: #344156;
    color: #d9e4f2;
}

/* Reçete durum seçimi */
body[data-theme="dark"] .recipe-form select {
    background: #142137;
    color: #eef6ff;
    border-color: #52657e;
}

/* Hedef ve plan giriş alanları */
body[data-theme="dark"] .target-form input {
    background: #101c2d;
    color: #f2f7ff;
    border-color: #465a74;
}

body[data-theme="dark"] .target-form input::placeholder {
    color: #8fa5bb;
}

/* İmalat özet kartlarını biraz belirginleştir */
body[data-theme="dark"] .stats-grid .stat-card {
    background: linear-gradient(180deg, #1a2940, #182437);
    border-color: #3d526d;
}

body[data-theme="dark"] .stats-grid .stat-card strong {
    color: #f7fbff;
}

body[data-theme="dark"] .positive {
    color: #5ee6ba;
}

body[data-theme="dark"] .negative {
    color: #ff8fa3;
}


/* v1.1 SCADA telemetri durum renkleri */
.telemetry-success{color:#10b981!important}
.telemetry-warning{color:#f59e0b!important}
.telemetry-danger{color:#ef4444!important}
.telemetry-neutral{color:var(--muted)!important}
.stat-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px}

/* v1.2 jeneratör ve mekanik telemetri */
.telemetry-section-title{margin:20px 0 10px;font-size:18px}.telemetry-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.telemetry-chart-grid .panel-card:last-child{grid-column:1/-1}.telemetry-wide-table{min-width:1900px}.telemetry-wide-table small{color:var(--muted)}@media(max-width:1050px){.telemetry-chart-grid{grid-template-columns:1fr}.telemetry-chart-grid .panel-card:last-child{grid-column:auto}}

/* v1.2.2 işlem geçmişi filtreleri */
.operation-filter{grid-template-columns:minmax(280px,2fr) minmax(290px,1.2fr) auto}
.filter-summary strong{color:var(--text)}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--border)}
.pagination span{color:var(--muted);font-size:13px;font-weight:800}
@media(max-width:850px){.operation-filter{grid-template-columns:1fr}.operation-filter .filter-actions{grid-column:auto}}


/* =========================================================
   v1.2.3 — Gereksiz yazı imleci / metin seçimi düzeltmesi
   Form alanları yazılabilir kalır, panel yüzeyi düzenlenemez.
   ========================================================= */

/* Panelin normal yüzeyinde I-beam/yazı imleci ve yanlışlıkla seçim oluşmasın */
html,
body,
.app-shell,
.sidebar,
.main,
.topbar,
.content,
.panel-card,
.stat-card,
.panel-header,
.table-wrapper,
table,
thead,
tbody,
tr,
th,
td,
.menu,
.menu a,
.sidebar-footer,
.brand,
.list,
.list-row,
.tabs,
.tab,
.group-grid,
.group-card,
.card-grid,
.mini-card,
.gallery-grid,
.gallery-card,
.profile-info,
.badge,
.message,
.readiness,
.pagination,
.telemetry-section-title {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    caret-color: transparent;
    cursor: default;
}

/* Gerçek veri giriş alanları normal davranmaya devam etsin */
input,
textarea,
select,
option,
.form-control,
.login-card input,
[contenteditable="true"],
pre,
code {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    user-select: text !important;
    caret-color: auto !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
textarea,
[contenteditable="true"] {
    cursor: text !important;
}

/* Tıklanabilir gerçek kontroller doğru imleci göstersin */
a,
button,
.button,
.tab,
.group-card,
input[type="checkbox"],
input[type="radio"],
input[type="button"],
input[type="submit"],
input[type="reset"],
select,
label[for] {
    cursor: pointer !important;
    caret-color: transparent;
}

/* Logo ve galeri görselleri yanlışlıkla sürüklenmesin */
img {
    -webkit-user-drag: none;
    user-drag: none;
}


/* =========================================================
   v1.2.4 — Sayfaya özel işlem butonlarının yeni konumu
   Üst çubuk yalnızca genel kontrolleri taşır. Yeni kayıt,
   düzenleme ve geri dönüş butonları içerik üstünde görünür.
   ========================================================= */
.global-actions {
    margin-left: auto;
}

.page-action-bar {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.page-action-bar:empty {
    display: none;
}

.page-action-bar .button {
    box-shadow: 0 7px 18px var(--shadow);
}

body[data-theme="dark"] .page-action-bar .button.secondary {
    background: #1b2a40;
    border-color: #465a74;
}

@media(max-width:850px) {
    .global-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .page-action-bar {
        justify-content: stretch;
    }

    .page-action-bar .button {
        flex: 1 1 auto;
    }
}


/* =========================================================
   v1.2.5 — Müşteri ekleme butonunun filtre alanına taşınması
   ========================================================= */
.customer-filter-actions {
    min-width: 170px;
    display: grid;
    gap: 8px;
    align-self: end;
}

.customer-filter-actions .customer-add-button {
    width: 100%;
}

.customer-filter-actions .filter-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.customer-filter-actions .filter-action-row .button {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

@media(max-width:1200px) {
    .customer-filter-actions {
        grid-column: 1 / -1;
        width: min(330px, 100%);
        justify-self: end;
    }
}

@media(max-width:850px) {
    .customer-filter-actions {
        width: 100%;
        justify-self: stretch;
    }
}


/* =========================================================
   v1.2.6 — Tüm liste sekmelerinde yeni kayıt butonu konumu
   Müşteri, cihaz, işlem ve ürün ekleme butonları filtre
   kolonunun sağında; Filtrele/Temizle düğmelerinin üstündedir.
   ========================================================= */
.record-filter-actions {
    min-width: 170px;
    display: grid;
    gap: 8px;
    align-self: end;
}

.record-filter-actions .record-add-button {
    width: 100%;
}

.record-filter-actions .filter-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.record-filter-actions .filter-action-row .button {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

@media(max-width:1200px) {
    .record-filter-actions {
        grid-column: 1 / -1;
        width: min(330px, 100%);
        justify-self: end;
    }
}

@media(max-width:850px) {
    .record-filter-actions {
        grid-column: auto;
        width: 100%;
        justify-self: stretch;
    }
}

/* =========================================================
   v1.4 — Alarm, otomasyon parametreleri ve uzaktan kontrol
   ========================================================= */
.notice{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--soft);line-height:1.5}.notice.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.notice.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.notice.success{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.compact-notice{margin:12px 16px;padding:10px 12px}.control-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px}.control-panel{overflow:visible}.parameter-grid{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.parameter-grid>div{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--soft)}.parameter-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800}.parameter-grid strong{display:block;margin-top:6px}.remote-readiness{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px 4px}.command-groups{padding:12px 16px 16px;display:grid;gap:12px}.command-groups>div{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.command-groups>div>span{font-weight:900}.command-groups form{margin:0}.command-published,.command-acknowledged{background:#e0f2fe;color:#075985}.command-executed{background:#dcfce7;color:#166534}.command-rejected,.command-failed,.command-expired{background:#fee2e2;color:#991b1b}.command-pending{background:#fef3c7;color:#92400e}.automation-form{overflow:visible}.settings-section+.settings-section{border-top:1px solid var(--border)}.settings-grid{padding:18px}.checkbox-line{display:flex!important;align-items:center;justify-content:flex-start;gap:10px}.checkbox-line span{order:2}.checkbox-line input{order:1}.automation-form .form-actions{padding:18px;margin:0}.button:disabled{opacity:.5;cursor:not-allowed!important}body[data-theme="dark"] .notice.warning{background:#3a2d19;border-color:#785b2b;color:#fde68a}body[data-theme="dark"] .notice.danger{background:#3b2028;border-color:#7f3343;color:#fecdd3}body[data-theme="dark"] .notice.success{background:#17392e;border-color:#2f6b56;color:#a7f3d0}
@media(max-width:1100px){.control-grid{grid-template-columns:1fr}.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.parameter-grid{grid-template-columns:1fr}.command-groups>div{grid-template-columns:1fr}.command-groups .actions{width:100%}.command-groups form,.command-groups button{flex:1;width:100%}}


/* =========================================================
   v1.4.1 — Uzaktan kontrol açıklaması, okunabilir parametre
   kartları ve gözü yormayan koyu mod paleti
   ========================================================= */

/* Yeni CSS'in eski tarayıcı önbelleğinden etkilenmemesi için base.html v1.4.1 kullanır. */
.control-grid{
    grid-template-columns:1fr;
    gap:18px;
}

.control-panel-header{
    padding:18px 20px;
    align-items:flex-start;
}

.control-panel-header>div{
    min-width:0;
}

.control-panel-header h2{
    line-height:1.25;
}

.settings-edit-button{
    flex:0 0 auto;
    min-width:150px;
    box-shadow:0 8px 18px var(--shadow);
}

.parameter-grid{
    padding:18px 20px 20px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.parameter-grid>.parameter-item{
    min-height:92px;
    padding:15px 16px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--soft);
    overflow:hidden;
}

.parameter-grid>.parameter-item span{
    margin:0;
    line-height:1.35;
    letter-spacing:.01em;
}

.parameter-grid>.parameter-item strong{
    margin:0;
    font-size:22px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.parameter-state.is-active{
    border-color:color-mix(in srgb,var(--success) 55%,var(--border));
}

.parameter-state.is-active strong{
    color:var(--success);
}

.parameter-state.is-inactive strong{
    color:var(--muted);
}

.remote-status-card{
    margin:16px 20px 6px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.remote-status-card>div{
    min-width:0;
}

.remote-status-card strong{
    display:block;
    font-size:15px;
    margin-bottom:4px;
}

.remote-status-card p{
    margin:0;
    color:inherit;
    opacity:.9;
    line-height:1.45;
}

.remote-readiness{
    padding:12px 20px 8px;
    gap:9px;
}

.command-groups{
    padding:14px 20px 20px;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.command-groups>.command-group-card{
    min-width:0;
    min-height:150px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--soft);
}

.command-groups>.command-group-card>span{
    font-size:14px;
    line-height:1.3;
}

.command-groups>.command-group-card>small{
    display:block;
    min-height:34px;
    color:var(--muted);
    line-height:1.35;
}

.command-groups>.command-group-card>.actions{
    margin-top:auto;
    align-items:stretch;
}

.command-groups>.command-group-card>.actions form{
    flex:1 1 0;
}

.command-groups>.command-group-card>.actions .button{
    width:100%;
    min-height:38px;
}

.button:disabled{
    filter:saturate(.5);
}

/* Koyu mod: daha düşük kontrast, daha yumuşak mavi-gri yüzeyler. */
body[data-theme="dark"] .topbar,
body[data-theme="dark"] .panel-card,
body[data-theme="dark"] .stat-card,
body[data-theme="dark"] .mini-card,
body[data-theme="dark"] .gallery-card,
body[data-theme="dark"] .group-card{
    background:var(--panel);
    border-color:var(--border);
}

body[data-theme="dark"] .stat-card,
body[data-theme="dark"] .stats-grid .stat-card{
    background:var(--panel);
}

body[data-theme="dark"] .parameter-grid>.parameter-item,
body[data-theme="dark"] .command-groups>.command-group-card,
body[data-theme="dark"] .profile-info>div,
body[data-theme="dark"] th,
body[data-theme="dark"] .panel-card table thead th{
    background:var(--soft);
    border-color:var(--border);
}

body[data-theme="dark"] .panel-card .table-wrapper,
body[data-theme="dark"] .panel-card table tbody td{
    background:var(--panel);
    border-color:var(--border);
}

body[data-theme="dark"] .panel-card table tbody tr:hover td{
    background:#263445;
}

body[data-theme="dark"] .button.primary{
    background:var(--primary);
    color:#f8fbff;
}

body[data-theme="dark"] .button.secondary{
    background:#263445;
    color:var(--text);
    border-color:var(--border);
}

body[data-theme="dark"] .button.danger,
body[data-theme="dark"] .icon-danger{
    background:#4a2b35;
    color:#f2b2bc;
    border-color:#68404c;
}

body[data-theme="dark"] .badge.green{
    background:#25483d;
    color:#b7e3cf;
}

body[data-theme="dark"] .badge.yellow{
    background:#4a3d28;
    color:#e9d29a;
}

body[data-theme="dark"] .badge.red{
    background:#4a2c35;
    color:#edb7c0;
}

body[data-theme="dark"] .badge.blue{
    background:#294458;
    color:#b9d9ec;
}

body[data-theme="dark"] .badge.gray{
    background:#344153;
    color:#c9d2dd;
}

body[data-theme="dark"] .notice.warning{
    background:#3b3427;
    border-color:#625339;
    color:#e8d19c;
}

body[data-theme="dark"] .notice.danger{
    background:#3e2b32;
    border-color:#62404b;
    color:#eab4bd;
}

body[data-theme="dark"] .notice.success{
    background:#263d36;
    border-color:#3f6255;
    color:#b8ddce;
}

body[data-theme="dark"] input,
body[data-theme="dark"] select,
body[data-theme="dark"] textarea,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .filter-grid input,
body[data-theme="dark"] .filter-grid select{
    background:#1b2634;
    border-color:var(--border);
    color:var(--text);
}

body[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder{
    color:#8795a8;
}

body[data-theme="dark"] .telemetry-success{color:#64c59a!important}
body[data-theme="dark"] .telemetry-warning{color:#d9ad5a!important}
body[data-theme="dark"] .telemetry-danger{color:#dd8592!important}

@media(max-width:1200px){
    .parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .command-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
    .control-panel-header{
        flex-direction:column;
        align-items:stretch;
    }
    .settings-edit-button{
        width:100%;
    }
    .parameter-grid,
    .command-groups{
        grid-template-columns:1fr;
    }
    .remote-status-card{
        flex-direction:column;
        align-items:stretch;
    }
    .remote-status-card .button{
        width:100%;
    }
}

#remote-control-settings{scroll-margin-top:92px}
