:root{--bg-workspace: #0d1117;--bg-panel: #161b22;--bg-header: #161b22;--border-color: #30363d;--accent-primary: #00b4d8;--accent-secondary: #2dd4bf;--accent-tertiary: #ef4444;--accent-warning: #f59e0b;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--text-highlight: #ffffff;--success: #2dd4bf;--warning: #f59e0b;--danger: #ef4444;--info: #00d4ff;--font-ui: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-cad: "Roboto Mono", "JetBrains Mono", "Consolas", monospace;--grid-color: rgba(0, 212, 255, .04);--grid-color-strong: rgba(0, 212, 255, .08);--accent-glow: rgba(0, 212, 255, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .24);--shadow-md: 0 4px 12px rgba(0, 0, 0, .32);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .48);--shadow-glow: 0 0 20px rgba(0, 212, 255, .15)}body{margin:0;padding:0;background-color:var(--bg-workspace);color:var(--text-primary);font-family:var(--font-ui);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:.01em}.workspace{display:grid;grid-template-columns:300px 1fr 350px;grid-template-rows:36px auto 1fr 28px;height:100vh;width:100vw}.header{grid-column:1 / -1;background:var(--bg-header);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-primary);font-family:var(--font-cad);position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--accent-primary) 20%,var(--accent-primary) 80%,transparent 100%);opacity:.5}.panel{background-color:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;position:relative}.panel:before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,var(--accent-primary) 0%,transparent 100%);opacity:.3}.panel-right{border-right:none;border-left:1px solid var(--border-color)}.panel-right:before{left:auto;right:0}.panel-header{padding:10px 14px;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:1.5px;color:var(--accent-primary);background:var(--bg-panel);border-bottom:1px solid var(--border-color);border-left:2px solid var(--accent-primary);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;font-family:var(--font-cad);z-index:10}.canvas-area{background-color:var(--bg-workspace);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px),linear-gradient(var(--grid-color-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color-strong) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;display:flex;flex-direction:column;padding:20px;overflow-y:auto;align-items:center;justify-content:flex-start}.canvas-card{background:var(--bg-panel);border:1px solid var(--border-color);padding:20px;margin-bottom:16px;width:100%;max-width:900px;border-radius:2px;box-shadow:var(--shadow-md);position:relative}.canvas-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent-primary),transparent);opacity:.3}.status-bar{grid-column:1 / -1;background:var(--accent-primary);border-top:none;color:#0d1117;display:flex;align-items:center;padding:0 16px;font-size:11px;justify-content:space-between;font-weight:600;font-family:var(--font-cad);letter-spacing:.5px}.prop-group{padding:10px 14px;border-bottom:1px solid var(--border-color);transition:background .15s}.prop-group:hover{background:#00d4ff08}.prop-label{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-cad)}.prop-input{width:100%;background-color:var(--bg-workspace);border:1px solid var(--border-color);color:var(--text-highlight);padding:6px 10px;font-size:12px;font-family:var(--font-mono);box-sizing:border-box;border-radius:2px;transition:all .15s}.prop-input:focus{outline:none;border-color:var(--accent-primary);background-color:#0d1117;box-shadow:0 0 0 2px var(--accent-glow)}.cad-btn{background:var(--accent-primary);color:#0d1117;border:none;padding:8px 16px;font-size:11px;cursor:pointer;width:100%;margin-top:12px;text-transform:uppercase;font-weight:700;letter-spacing:1px;border-radius:2px;transition:all .15s;box-shadow:0 2px 8px #00b4d840;font-family:var(--font-cad)}.cad-btn:hover{background:#00d4ff;box-shadow:0 4px 16px #00d4ff59,0 0 20px #00d4ff26}.cad-btn:active{transform:scale(.98)}.cad-btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);margin-top:8px;box-shadow:none}.cad-btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#00d4ff0f}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8b949e40;border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#00d4ff66;border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}::selection{background:#00b4d84d;color:#e6edf3}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px #00d4ff33}50%{box-shadow:0 0 20px #00d4ff66}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}#print-root{display:none}@media print{.no-print{display:none!important}body{background:#fff;margin:0;padding:0}@page{size:Letter;margin:0}.a4-page{page-break-after:always;page-break-inside:avoid}body.printing-report>*:not(#print-root){display:none!important}body.printing-report #print-root{display:block}#print-root .a4-page:not(.a4-page--landscape){height:279.4mm!important;min-height:279.4mm!important;max-height:279.4mm!important}#print-root .a4-page--landscape{width:279.4mm!important}#print-root .a4-page{margin:0!important;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.a4-page:last-child{page-break-after:auto}table,figure,img{page-break-inside:avoid}body,p,div,span{-webkit-print-color-adjust:exact;print-color-adjust:exact}}fieldset:disabled button{opacity:.4!important;cursor:not-allowed!important}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{cursor:not-allowed!important;background-image:none}
