body{margin:0;font-family:Arial,sans-serif;background:#f5f7fb;color:#111}header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #dfe5ef}header small{display:block;color:#667}.wrap{max-width:1400px;margin:0 auto;padding:16px}.grid{display:grid;grid-template-columns:330px 1fr;gap:16px}.card{background:#fff;border:1px solid #dde5f0;border-radius:16px;padding:16px;margin-bottom:16px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}h1,h2{margin:0 0 12px}input,textarea,select,button{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid #ccd7e5;margin:6px 0 12px}textarea{min-height:100px}button{background:#2563eb;color:#fff;border:none;cursor:pointer}button.danger,.btn-sm.danger{background:#dc2626}a{color:#2563eb;text-decoration:none}.project-item{padding:10px;border:1px solid #e0e7f3;border-radius:12px;margin-bottom:10px}.project-item.active{background:#eef4ff;border-color:#b8cbff}.meta{color:#667;font-size:12px}.tree .node{padding:12px;border:1px solid #e5ebf4;border-radius:12px;margin:10px 0 0 18px;background:#fafcff}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.btn-sm,.actions form button{display:inline-block;padding:6px 10px;border-radius:8px;background:#eff4ff;border:1px solid #d5e2ff;color:#1946b5;font-size:12px;width:auto}.actions form{display:inline}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef3fb;margin:4px 6px 0 0;font-size:12px}pre{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#dbe3f3;padding:10px;border-radius:10px}.preview{max-width:100%;max-height:140px;border-radius:10px;border:1px solid #ddd}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{width:360px;background:#fff;border:1px solid #dde5f0;border-radius:16px;padding:24px}.alert.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px;margin-bottom:12px}.row{display:flex;gap:8px;align-items:center}.row input{flex:1}.log-item{margin-bottom:12px}code{background:#f2f4f8;padding:2px 4px;border-radius:6px}@media (max-width:980px){.grid,.cols{grid-template-columns:1fr}}
