html, body { margin:0; min-height:100%; font-family:"Segoe UI", Arial, sans-serif; background:#071316; }
/* Каркас панели лежит здесь, а не в автоматически генерируемом scoped CSS:
   основной app.css гарантированно отдаётся и локально, и после публикации на VDS. */
.page { min-height:100vh; display:flex; background:#071316; }
.page main { flex:1; min-width:0; background:#0b181c; }
.page .sidebar { background:#09171a; border-right:1px solid #22454a; }
.page main > .top-row { height:3.8rem; display:flex; align-items:center; color:#8eb7b4; background:#0d2023; border-bottom:1px solid #22454a; font-size:.9rem; }
.page article { color:#e8f4f2; }
.sidebar .navbar-brand.gate-brand { color:#fff; display:flex; align-items:center; gap:12px; margin:20px 18px 28px; font-weight:800; letter-spacing:1.2px; }
.sidebar .gate-brand img { width:52px; height:52px; object-fit:cover; border:1px solid #2bbdbd; }
.sidebar .gate-brand small { color:#42d5d3; display:block; font-size:.58rem; letter-spacing:2px; margin-top:2px; }
.sidebar .nav-item .nav-link,.sidebar .nav-item button { color:#a8c1be; border-radius:0; margin:2px 12px; padding:.78rem 1rem; width:calc(100% - 24px); text-align:left; }
.sidebar .nav-item .nav-link.active,.sidebar .nav-item .nav-link:hover,.sidebar .nav-item button:hover { color:#fff; background:#164044; border-left:3px solid #38d3d0; }
.sidebar .nav-item button { background:transparent; border:0; }
.sidebar .navbar-toggler { display:none; }
@media (min-width:641px) { .page .sidebar { width:268px; min-height:100vh; } .page .content { min-height:calc(100vh - 3.8rem); padding:2.5rem!important; } }
h1:focus { outline: none; }
a { color:#50dbd7; } a:hover { color:#8df4ee; }
h1,h2,h3 { color:#f2fbfa; } p { color:#b7cecb; }
.btn-primary { color:#071316; background:#e9ad2f; border-color:#f2c459; font-weight:700; } .btn-primary:hover { background:#f2bf4f; color:#071316; }
.form-control,.form-select { background:#10262a; border:1px solid #316066; color:#eefbf9; } .form-control:focus,.form-select:focus { background:#10262a; color:#fff; border-color:#43d9d4; box-shadow:0 0 0 .15rem rgba(67,217,212,.18); }
.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus { -webkit-text-fill-color:#eefbf9; -webkit-box-shadow:0 0 0 1000px #10262a inset; box-shadow:0 0 0 1000px #10262a inset; caret-color:#eefbf9; transition:background-color 9999s ease-out 0s; }
.form-floating>label,.form-label { color:#9abbb8; }.card { background:#11262a; border:1px solid #285257; color:#e9f6f5; }.text-danger,.validation-message { color:#ff8b85!important; }
.eyebrow,.card-label { color:#48d7d4; font-size:.72rem; font-weight:700; letter-spacing:.09em; }.card-label { margin-bottom:.55rem; }
.profile-page { max-width:700px; }.profile-card { margin-top:1.3rem; }
.page-intro{max-width:760px}.news-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:1.4rem;margin-top:1.4rem;align-items:start}.news-preview{padding:1rem;border:1px solid #285257;background:#0d2023;position:sticky;top:1rem}.launcher-news-card{background:#142c30;border:1px solid #356169;padding:1.5rem}.launcher-news-card h2{font-size:1.35rem}.news-summary{color:#e2f4f1;font-weight:600}.news-body{white-space:pre-wrap}.status{color:#4de0db;margin-left:.5rem}@media(max-width:850px){.news-workspace{grid-template-columns:1fr}.news-preview{position:static}}
.field-hint{display:block;color:#88aaa7;font-size:.82rem;margin-top:.2rem}.editor-toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.55rem;border:1px solid #32656a;border-bottom:0;background:#0d2023;border-radius:.35rem .35rem 0 0}.tool-button,.toolbar-select{min-height:2.2rem;background:#17383d;color:#e8f5f3;border:1px solid #347078;border-radius:.25rem;padding:.25rem .55rem;font-size:.85rem}.tool-button:hover,.tool-button:focus,.toolbar-select:focus{background:#205158;border-color:#48d7d4;outline:0}.toolbar-divider{height:1.55rem;width:1px;background:#38666a;margin:0 .15rem}.toolbar-select{padding-right:1.5rem}.rich-editor{min-height:240px;padding:1rem;background:#10262a;border:1px solid #43d9d4;color:#eefbf9;border-radius:0 0 .35rem .35rem;outline:0;line-height:1.6}.rich-editor:empty:before{content:attr(data-placeholder);color:#779b98;pointer-events:none}.rich-editor h2{font-size:1.28rem;margin:1rem 0 .55rem}.rich-editor img,.rich-preview img{display:block;max-width:100%;height:auto;border:1px solid #3b6b70;border-radius:.25rem;margin:1rem 0}.rich-editor a,.rich-preview a{color:#54e0dc;text-decoration:underline}.rich-preview{line-height:1.65;overflow-wrap:anywhere}.rich-preview p:first-child{margin-top:0}.rich-preview p:last-child{margin-bottom:0}.editor-insert-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);gap:1rem;margin:1rem 0}.inline-input{display:flex;gap:.5rem}.inline-input .form-control{min-width:0}.image-picker{padding:.38rem}.upload-message{margin:.6rem 0 1rem;color:#67ddd7;font-size:.9rem}@media(max-width:650px){.editor-insert-row{grid-template-columns:1fr}.inline-input{flex-wrap:wrap}}
.news-textarea{min-height:260px;resize:vertical;line-height:1.6;padding:1rem;background:#10262a;color:#eefbf9}.news-textarea::placeholder{color:#779b98}.news-list-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}
.action-row{display:flex;gap:.6rem;flex-wrap:wrap}.btn-secondary{background:#17383d;color:#e8f5f3;border:1px solid #347078}.btn-danger{background:#842f35;color:#fff;border:1px solid #b94c52}.news-item{margin-top:.8rem}.news-item h2{font-size:1.15rem;margin:.35rem 0}.news-item-head{display:flex;justify-content:space-between;gap:1rem}.empty-state{padding:1.5rem;background:#0d2023;color:#a9c3c0}@media(max-width:700px){.news-item-head{display:block}.news-item-head .action-row{margin-top:1rem}}
.health-card{margin:1.5rem 0;display:flex;justify-content:space-between;gap:2rem;padding:1.5rem;border:1px solid #32656a;background:#10262a}.health-card h2{margin:.15rem 0 .5rem}.health-items{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;white-space:nowrap}.health-items span{color:#d8ebe8}.health-items i{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.4rem}.ok{background:#4bd3a2}.wait{background:#e9ad2f}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.summary-card{padding:1.35rem;background:#11262a;border:1px solid #285257;min-height:174px}.summary-card strong{display:block;color:#f4fbfa;font-size:1.55rem;margin:.5rem 0}.summary-card p:last-child{margin-bottom:0}.activity-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #285257}.activity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.activity-list>div{padding:1rem;background:#0d2023;border-left:3px solid #38d3d0}.event-time{color:#50dbd7;font-size:.72rem;font-weight:700;letter-spacing:.08em}@media(max-width:1000px){.summary-grid,.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.health-card{display:block}.health-items{margin-top:1rem}.summary-grid,.activity-list{grid-template-columns:1fr}}
.build-profile-grid{margin-top:1.5rem}.storage-note{margin-top:1.4rem;padding:1.15rem 1.25rem;border:1px solid #285257;background:#0d2023}.storage-note p{margin-bottom:.45rem}.storage-note code{color:#76e5df;overflow-wrap:anywhere}.page-actions{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.back-link{display:inline-block;margin-bottom:.65rem}.release-badge{padding:.65rem .9rem;border:1px solid #4d7473;background:#143034;color:#7be6e0;font-weight:700;white-space:nowrap}.release-create{margin:1.5rem 0}.revision-create-grid{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(260px,1fr) auto;gap:1rem;align-items:end}.release-workspace{margin:1.5rem 0}.upload-panel{margin:1.25rem 0;padding:1rem;border:1px solid #32656a;background:#0d2023}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.build-file-input{max-width:100%}.build-files-table{margin-top:1.25rem}.build-files-table .table{margin-bottom:0;color:#dcefee}.build-files-table .table th{color:#7de2dd;border-color:#2d565a}.build-files-table .table td{border-color:#25484c;vertical-align:middle}.build-files-table code{color:#c2efeb;font-size:.85rem;overflow-wrap:anywhere}.hash{min-width:128px}.published-note{margin:1.25rem 0;padding:.8rem 1rem;background:#203639;border-left:3px solid #e9ad2f;color:#e7f3f1}.release-list{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #285257}.release-row{margin-top:.7rem}.release-row .card-body{display:flex;justify-content:space-between;align-items:center;gap:1rem}.release-row h3{margin:.15rem 0 .35rem}.release-row p:last-child{margin-bottom:0}.operation-message{margin:.9rem 0 0;color:#71e0da}@media(max-width:850px){.page-actions{display:block}.release-badge{display:inline-block;margin-top:1rem}.revision-create-grid{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}}@media(max-width:600px){.release-row .card-body{display:block}.release-row .btn{margin-top:1rem}.hash{display:none}}
.page-heading{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.page-heading>div{max-width:850px}.page-heading h1,.page-heading h2{margin-top:0}.summary-link{display:block;text-decoration:none;transition:transform .15s,border-color .15s}.summary-link:hover{transform:translateY(-2px);border-color:#46d9d4;color:inherit}.summary-link p:last-child{color:#b7cecb}.build-dashboard-grid,.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.build-dashboard-card,.client-card{display:block;padding:1.25rem;background:#11262a;border:1px solid #285257;color:#e8f4f2;text-decoration:none;text-align:left}.build-dashboard-card:hover,.client-card:hover{border-color:#46d9d4;color:#fff;background:#143034}.build-dashboard-card h3{margin:.45rem 0}.build-dashboard-card strong{color:#52ded9}.client-card{position:relative;font:inherit;cursor:pointer}.client-card strong,.client-card span,.client-card small{display:block}.client-card span:not(.status-dot){color:#88aaa7;margin-top:.3rem}.client-card small{color:#b7cecb;margin-top:.65rem}.status-dot{position:absolute;right:1rem;top:1.1rem;width:.65rem;height:.65rem;border-radius:50%;background:#4bd3a2}.table-section,.detail-panel{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #285257}.detail-panel{padding:1.5rem;border:1px solid #32656a;background:#0d2023}.btn-small{padding:.28rem .6rem;font-size:.85rem}.notice{padding:.75rem 1rem;background:#203639;border-left:3px solid #e9ad2f;color:#e7f3f1}@media(max-width:850px){.build-dashboard-grid,.client-grid{grid-template-columns:1fr}}@media(max-width:600px){.page-heading{display:block}.page-heading .btn{margin-top:1rem}}
.table-section table.table,.detail-panel table.table{--bs-table-color:#e6f5f3;--bs-table-bg:transparent;--bs-table-border-color:#315a5f;--bs-table-striped-color:#e6f5f3;--bs-table-hover-color:#fff;--bs-table-hover-bg:#143034;color:#e6f5f3!important;margin-top:1rem}.table-section table.table>thead>tr>th,.detail-panel table.table>thead>tr>th{color:#83e8e2!important;border-bottom-color:#3d7778;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.table-section table.table>tbody>tr>td,.detail-panel table.table>tbody>tr>td{color:#d7e9e7!important;border-color:#315a5f;vertical-align:middle}.table-section table.table>tbody>tr>td strong,.detail-panel table.table>tbody>tr>td strong{color:#fff!important}.table-section table.table>tbody>tr{transition:background-color .15s}.table-section table.table>tbody>tr:hover{background:#102b2e}
