:root{--giphar-forest:#00442a;--giphar-forest-dark:#00311e;--giphar-emerald:#25864f;--giphar-emerald-dark:#1c6b3e;--giphar-mint:#2ec47c;--giphar-lime:#83b921;--giphar-orange:#ee7203;--giphar-blue:#25864f;--giphar-blue-dark:#00442a;--giphar-green:#2ec47c;--giphar-green-dark:#25864f;--bg-page:#f4f7f5;--bg-card:#fff;--border-color:#d5e2da;--text-main:#1a1f1c;--text-muted:#52665a;--danger:#e30613;--warning:#ee7203}*{box-sizing:border-box}body{background-color:var(--bg-page);color:var(--text-main);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:13.5px}input[type=checkbox]{accent-color:var(--giphar-emerald)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.navbar{background:linear-gradient(90deg, var(--giphar-forest-dark) 0%, var(--giphar-forest) 55%, #1c4831 100%);border-bottom:3px solid var(--giphar-mint);color:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;box-shadow:0 2px 8px #00442a2e}.navbar-brand{letter-spacing:.3px;align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.navbar-logo-img{background:#fff;border-radius:7px;width:auto;height:38px;padding:5px 11px;display:block;box-shadow:0 1px 4px #00000029}.navbar-links{align-items:center;gap:6px;display:flex}.nav-tab{color:#ffffffe0;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:8px 14px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.nav-tab:hover{color:#fff;background:#2ec47c2e}.nav-tab.active{color:var(--giphar-forest);background:#fff;font-weight:700;box-shadow:0 1px 4px #0000001f}.navbar-right{align-items:center;gap:12px;font-size:12.5px;display:flex}.db-badge{background:#ffffff26;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.db-badge.oracle{border:1px solid var(--giphar-mint);color:#ecfdf5;background:#2ec47c40}.db-badge.memory{background:#ee720347;border:1px solid #fdba74}.main-container{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:18px 24px}.panel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:18px;overflow:hidden;box-shadow:0 1px 4px #00442a0f}.panel-header{border-bottom:1px solid var(--border-color);background:linear-gradient(#f9fbfa 0%,#f1f6f3 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.panel-title{color:var(--giphar-forest);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.toolbar{border-bottom:1px solid var(--border-color);background:#fafcfb;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.filter-group{align-items:center;gap:6px;display:flex}.filter-group label{color:var(--text-muted);white-space:nowrap;font-size:12.5px;font-weight:600}input[type=text],input[type=number],input[type=date],input[type=password],select{color:var(--text-main);background:#fff;border:1px solid #c2d4c9;border-radius:5px;padding:6px 10px;font-size:13px}input:focus,select:focus{border-color:var(--giphar-emerald);outline:none;box-shadow:0 0 0 2px #25864f2e}.btn{cursor:pointer;color:var(--giphar-forest);background:#fff;border:1px solid #c2d4c9;border-radius:5px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){background:#eef5f1;border-color:#9cbba8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--giphar-forest);border-color:var(--giphar-forest);color:#fff}.btn-primary:hover:not(:disabled){background:var(--giphar-emerald);border-color:var(--giphar-emerald)}.btn-success{background:var(--giphar-emerald);border-color:var(--giphar-emerald);color:#fff}.btn-success:hover:not(:disabled){background:var(--giphar-emerald-dark);border-color:var(--giphar-emerald-dark)}.btn-danger{color:var(--danger);background:#fef2f2;border-color:#fca5a5}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{padding:4px 8px;font-size:12px}.table-wrapper{overflow-x:auto}table.data-grid{border-collapse:collapse;width:100%;font-size:13px}table.data-grid th{color:var(--giphar-forest);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#edf4f0;border-bottom:2px solid #bdd3c5;border-right:1px solid #dce9e1;padding:9px 10px;font-weight:700}table.data-grid th.clickable-header{cursor:pointer;color:var(--giphar-forest)}table.data-grid th.clickable-header:hover{background:#dcece3}table.data-grid td{vertical-align:middle;border-bottom:1px solid #e4eee8;border-right:1px solid #eff5f1;padding:7px 10px}table.data-grid tr:hover td{background:#f4f9f6}table.data-grid tr.row-balais td{background:#fefce8}table.data-grid tr.row-default-cal td{background:#eef8f3}.center-cell{text-align:center!important}.right-cell{text-align:right!important}.action-icons{align-items:center;gap:4px;display:inline-flex}.icon-btn{cursor:pointer;color:var(--giphar-emerald);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--giphar-forest);background:#e3f3eb;border-color:#a8dabb}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover:not(:disabled){background:#fee2e2;border-color:#fecaca}.modal-backdrop{z-index:1000;background:#0028187a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-window{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:820px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #002d1b40}.modal-header{background:linear-gradient(90deg, var(--giphar-forest) 0%, var(--giphar-emerald) 100%);color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.modal-body{flex:1;padding:16px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:#f4f8f5;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.status-toast{border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.status-toast.success{color:var(--giphar-forest);background:#dcfce7;border:1px solid #86efac}.status-toast.info{color:var(--giphar-forest);background:#e3f3eb;border:1px solid #a8dabb}.chart-bars{border-bottom:1px solid var(--border-color);align-items:flex-end;gap:24px;height:190px;padding:20px 24px 10px;display:flex}.chart-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.chart-bar-fill{background:linear-gradient(180deg, var(--giphar-mint) 0%, var(--giphar-emerald) 45%, var(--giphar-forest) 100%);color:#fff;border-radius:6px 6px 0 0;justify-content:center;align-items:flex-start;width:100%;max-width:64px;min-height:4px;padding-top:4px;font-size:11.5px;font-weight:700;transition:height .25s;display:flex}.chart-bar-label{color:var(--text-main);margin-top:8px;font-size:12.5px;font-weight:600}
