:root{--bg:#f5f7fb;--card:#ffffff;--sidebar:#0f172a;--border:#e6ebf3;--text:#0f172a;--muted:#6b7280;--brand:#2563ff;--brand-soft:#eef2ff;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--shadow-soft: 0 1px 2px rgba(0,0,0,.03), 0 8px 30px rgba(0,0,0,.04);--shadow-hover: 0 10px 40px rgba(0,0,0,.08);--shadow-panel: -12px 0 40px rgba(0,0,0,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(180deg,#f8f9fc,#f5f7fb);color:var(--text);-webkit-font-smoothing:antialiased}.hidden{display:none!important}h1{font-size:22px;font-weight:600;letter-spacing:-.3px}h2{font-size:18px;font-weight:600}h3{font-size:14px;font-weight:600;color:var(--muted)}#ct-app{display:flex;height:100vh;overflow:hidden}.ct-sidebar{width:240px;background:var(--sidebar);color:#94a3b8;display:flex;flex-direction:column;padding:30px 22px}.ct-sidebar-header{margin-bottom:34px}.ct-sidebar-header img{width:145px;filter:brightness(1.2)}.ct-nav-item{display:flex;align-items:center;gap:12px;border:none;background:none;color:#94a3b8;padding:10px 12px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease}.ct-nav-item:hover{background:#ffffff0f;color:#fff}.ct-nav-item.active{background:#2563ff2e;color:#fff;font-weight:500}.ct-sidebar-footer{margin-top:auto}.ct-main-wrapper{flex:1;display:flex;flex-direction:column}.ct-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 50px}.ct-plan-badge{background:var(--brand-soft);color:var(--brand);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.ct-usage-bar{width:130px;height:5px;background:#e6ebf3;border-radius:5px;overflow:hidden;margin-top:4px}.ct-usage-fill{height:100%;background:var(--brand);transition:width .3s ease}.ct-content{flex:1;padding:50px;overflow-y:auto}.ct-card{background:var(--card);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft);margin-bottom:28px;transition:.2s ease}.ct-card:hover{box-shadow:var(--shadow-hover)}.ct-drawing-upload{background:#fafbfe;border:1px dashed var(--border);padding:24px;border-radius:var(--radius-md);margin-bottom:30px}.ct-builder-grid{display:flex;gap:50px}.ct-builder-left{width:260px}.ct-builder-right{flex:1}.ct-table{width:100%;border-spacing:0 14px}.ct-table th{font-size:12px;font-weight:500;color:var(--muted);padding-bottom:6px}.ct-table tr{background:#fff;border-radius:12px;transition:.2s ease}.ct-table tr:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.ct-table td{padding:16px;font-size:14px}.ct-total-bar{margin-top:28px;padding-top:24px;border-top:1px solid var(--border);text-align:right;font-size:22px;font-weight:600;color:var(--brand)}.ct-btn-primary{background:var(--brand);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:.2s ease}.ct-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563ff40}.ct-btn-secondary{background:#f1f5f9;border:none;padding:10px 16px;border-radius:var(--radius-sm);cursor:pointer}.ct-assistant{position:fixed;top:0;right:0;width:420px;height:100%;background:#fff;box-shadow:var(--shadow-panel);padding:32px;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;z-index:100}.ct-assistant:not(.hidden){transform:translate(0)}.ct-assistant-messages{flex:1;overflow-y:auto;margin-bottom:20px}.ct-assistant input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-size:14px}.ct-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffbf;display:flex;align-items:center;justify-content:center;z-index:200}.ct-loader-spinner{width:44px;height:44px;border:3px solid #e6ebf3;border-top:3px solid var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ct-locked{opacity:.4;pointer-events:none}.ct-view{display:none}.ct-view.active{display:block}@media (max-width:900px){.ct-sidebar{position:fixed;left:-240px;top:0;height:100%;transition:left .3s ease}body.ct-sidebar-open .ct-sidebar{left:0}.ct-builder-grid{flex-direction:column}.ct-assistant{width:100%}}
