:root{--bg-dark:#fff;--bg-panel:#f5f5f5;--bg-sidebar:#eaeaea;--text-main:#333;--accent:#007acc;--accent-hover:#005999;--border:#ccc}body{background-color:var(--bg-dark);color:var(--text-main);margin:0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-container{flex-direction:column;width:100vw;height:100vh;display:flex}.header{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border);align-items:center;gap:16px;height:50px;padding:0 20px;display:flex}.header h1{color:var(--text-main);margin:0;font-size:16px;font-weight:600}.header-actions{gap:8px;margin-left:auto;display:flex}.btn{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;transition:background-color .2s;display:flex}.btn:hover{background-color:var(--accent-hover)}.btn-secondary{border:1px solid var(--border);background-color:#0000}.btn-secondary:hover{background-color:#0000000d}.main-content{background-color:var(--bg-panel);flex-direction:column;flex:1;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);background-color:var(--bg-sidebar);padding:0 20px;display:flex}.panel-tab{cursor:pointer;color:#888;border-bottom:2px solid #0000;align-items:center;padding:12px 20px;font-size:13px;font-weight:500;display:flex}.panel-tab:hover{color:var(--text-main)}.panel-tab.active{color:var(--text-main);border-bottom-color:var(--accent)}.panel-content{flex-direction:column;flex:1;display:flex;overflow:auto}.flasher-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:24px}.project-manager{width:100%;max-width:800px;margin:0 auto;padding:24px}.pm-section{border:1px solid var(--border);background:#00000008;border-radius:8px;margin-bottom:24px;padding:20px}.pm-section h2{align-items:center;gap:8px;margin-top:0;margin-bottom:16px;font-size:16px;display:flex}.create-box{gap:12px;display:flex}.pm-input{background:var(--bg-dark);border:1px solid var(--border);color:var(--text-main);border-radius:4px;flex:1;padding:10px 14px;font-family:inherit}.project-list{flex-direction:column;gap:12px;display:flex}.project-card{background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:16px;display:flex}.project-info h3{margin:0 0 4px;font-size:15px}.project-path{color:#888;font-family:monospace;font-size:12px}.project-actions{gap:8px;display:flex}.content-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:24px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.glass-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:16px}.empty-state{color:var(--text-muted,#888);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.empty-state__icon{color:var(--border,#444);margin-bottom:16px}.empty-state__title{color:var(--text-main);margin-bottom:8px;font-size:16px;font-weight:600}.empty-state__description{max-width:300px;font-size:13px}.input,.select{background:var(--bg-dark);border:1px solid var(--border);color:var(--text-main);border-radius:4px;padding:8px 12px;font-family:inherit}.input--mono{font-family:monospace}.btn--primary{background:var(--accent);color:#fff;border:none}.btn--primary:hover{background:var(--accent-hover)}.btn--danger{color:#fff;background:#d32f2f;border:none}.btn--danger:hover{background:#b71c1c}.btn--ghost{color:#555;background:0 0;border:none}.btn--ghost:hover{background:#0000000d}.btn--icon{justify-content:center;align-items:center;padding:4px;display:flex}.btn--sm{padding:4px 8px;font-size:11px}.console{flex-direction:column;gap:16px;height:100%;display:flex}.console__toolbar{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 16px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;width:100%;display:flex}.toolbar__group{align-items:center;gap:8px;display:flex}.console__layout{flex:1;gap:16px;padding:16px;display:flex;overflow:hidden}.console__virtual-container{background:var(--bg-dark);border:1px solid var(--border);color:#ccc;border-radius:4px;flex:1;font-family:monospace;font-size:13px;position:relative;overflow-y:auto}.console__virtual-spacer{width:100%}.console__virtual-viewport{width:100%;position:absolute;top:0;left:0}.console__line{white-space:pre-wrap;word-wrap:break-word;align-items:center;padding:0 8px;display:flex}.console__line--sent{color:#0a0}.console__line--error{color:#d32f2f}.console__line--warn{color:#f57c00}.console__line--normal{color:var(--text-main)}.console__timestamp{color:#888;-webkit-user-select:none;user-select:none;margin-right:8px}.console__input-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;align-items:center;gap:8px;padding:8px;display:flex}.console__input{background:var(--bg-dark);color:var(--text-main);border:none;outline:none;flex:1;padding:8px 12px;font-family:inherit}.macros-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.macro-btn{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.macro-btn:hover{background:var(--bg-sidebar)}.console__sidebar{flex-direction:column;gap:16px;width:250px;display:flex;overflow-y:auto}.flasher{flex-direction:column;gap:16px;display:flex}.flasher__row{gap:16px;display:flex}.flasher__section{flex:1}.flasher__section-title{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;font-weight:600;display:flex}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:8px;padding:32px;transition:all .2s}.drop-zone:hover{border-color:var(--accent);background:#007acc1a}.file-entry{border:1px solid var(--border);background:#00000008;border-radius:6px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.file-entry__info{flex:1}.file-entry__name{font-size:13px;font-weight:600}.file-entry__size{color:#888;font-size:11px}.flash-settings{flex-direction:column;gap:12px;display:flex}.flash-setting{justify-content:space-between;align-items:center;display:flex}.flash-actions{gap:12px;margin-top:16px;display:flex}.flash-progress{margin-top:16px}.flash-progress__bar-container{background:#0000001a;border-radius:4px;height:8px;overflow:hidden}.flash-progress__bar{background:var(--accent);height:100%;transition:width .2s}.flash-progress__info{color:#888;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}
