:root{color-scheme:dark;--bg: #0a0a0a;--surface: #111111;--surface-2: #161616;--border: #262626;--text: #ededed;--text-dim: #888888;--accent: #ffffff;--success: #2ecc71;--error: #e5484d;--pending: #f5a623}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.sidebar-brand{font-size:15px;font-weight:600;padding:0 8px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:13.5px;color:var(--text-dim)}.sidebar-nav a:hover{background:var(--surface);color:var(--text)}.sidebar-nav a.active{background:var(--surface-2);color:var(--text)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:8px;padding:8px;font-size:13px;color:var(--text-dim)}.sidebar-footer img{width:26px;height:26px;border-radius:50%}.main{flex:1;min-width:0}.main-inner{max-width:920px;margin:0 auto;padding:32px 24px 80px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.page-header h1{font-size:20px;margin:0;font-weight:600}.btn{background:var(--accent);color:#000;border:none;border-radius:6px;padding:8px 14px;font-size:13.5px;font-weight:500;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.danger{background:transparent;color:var(--error);border:1px solid var(--error)}.btn.small{padding:5px 10px;font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:12px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.project-card:hover{border-color:#3a3a3a}.project-card .name{font-size:14.5px;font-weight:600}.project-card .repo{font-size:12.5px;color:var(--text-dim)}.empty-state{border:1px dashed var(--border);border-radius:10px;padding:40px 20px;text-align:center;color:var(--text-dim);font-size:13.5px}.muted{color:var(--text-dim);font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 8px;border-radius:20px;border:1px solid var(--border);width:fit-content}.badge .dot{width:7px;height:7px;border-radius:50%}.badge.SUCCESS .dot{background:var(--success)}.badge.FAILED .dot{background:var(--error)}.badge.BUILDING .dot,.badge.DEPLOYING .dot,.badge.QUEUED .dot{background:var(--pending)}.section-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:30px 0 10px;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;z-index:10}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:460px;max-width:92vw;max-height:76vh;overflow-y:auto;padding:16px}.repo-row{display:flex;align-items:center;justify-content:space-between;padding:10px 6px;border-bottom:1px solid var(--border)}.repo-row:last-child{border-bottom:none}.log-viewer{background:#000;border:1px solid var(--border);border-radius:8px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;max-height:420px;overflow-y:auto}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-row input{flex:1;background:#000;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:13px}.centered-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}@media (max-width: 720px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 16px}.sidebar-nav{flex-direction:row}.sidebar-footer{margin-top:0}}
