/* Basic layouts precede feature queries so older embedded browsers stay usable. */
.app { display:block; padding-left:250px; position:relative; }
.sidebar { position:absolute; left:0; top:0; bottom:0; width:250px; }
.login-page { display:table; width:92%; max-width:1180px; padding-top:12vh; }
.login-copy,.login-card { display:table-cell; vertical-align:middle; }
.login-copy { padding-right:60px; }
.login-card { width:420px; }
.side-nav,.project-list,.nav-list,.stats { display:block; }
.side-nav a { display:block; margin-bottom:8px; }
.stat { display:inline-block; width:30%; margin-right:2%; }
.upload-drop { display:block; padding-top:36px; }
.upload-icon { display:block; line-height:58px; }
.inline-upload-form.show { display:block; }
.inline-upload-form .field { display:inline-block; width:36%; margin-right:12px; vertical-align:bottom; }
.project-card,.nav-row { display:block; margin-bottom:10px; }
.project-actions { margin-top:12px; }
.nav-form { display:block; }
.nav-form .field { display:inline-block; width:35%; margin-right:12px; }
.guide-grid { display:flex; flex-wrap:wrap; margin:0 -6px 20px; }
.guide-card { flex:1; min-width:210px; margin:6px; padding:18px; border:1px solid #dce8dc; border-radius:12px; background:#f8fcf8; line-height:1.7; }
.guide-card strong { display:block; color:#087234; margin-bottom:8px; }
.guide-card p { margin:0; }
.help-link { color:#067d32; font-weight:bold; }
.backend-card { border:1px solid #dce8dc; border-radius:10px; padding:18px; margin-top:12px; }
.backend-card p { margin:10px 0; }
.backend-heading { font-size:17px; }
.state { display:inline-block; padding:4px 9px; font-size:13px; border-radius:6px; background:#eff3f6; margin-left:10px; }
.state-running { background:#e0f7e9; color:#087234; }
.state-failed { background:#ffeded; color:#b42318; }
.state-starting { background:#fff3d9; color:#915e00; }
.failure-log { max-height:180px; overflow:auto; white-space:pre-wrap; overflow-wrap:break-word; background:#fff5f4; color:#9b2424; padding:12px; font-size:13px; }
.runtime-actions { margin-top:10px; }
.runtime-actions .btn { margin:4px 6px 0 0; }
.btn:disabled { opacity:.6; cursor:wait; }
@media(max-width:900px) { .app {padding-left:0;} .sidebar {position:static;width:100%;} .login-page,.login-copy,.login-card {display:block;width:92%;} .login-copy {padding:0 0 24px;} .stat {width:100%;margin:0 0 10px;} .inline-upload-form .field,.nav-form .field {width:100%;} }
