diff --git a/public/calibration.css b/public/calibration.css new file mode 100644 index 0000000..af28daa --- /dev/null +++ b/public/calibration.css @@ -0,0 +1,173 @@ + +/* ===== LAYOUT ===== */ + +body { + display: flex; + flex-direction: column; + height: 100vh; + margin: 0; + padding: 0; + overflow: hidden; +} + +/* ===== HEADER (gleicher Stil wie .section auf index.html) ===== */ + +.calib-topbar { + display: flex; + align-items: center; + gap: 16px; + padding: 14px 20px; + background: var(--panel); + border-bottom: 1px solid var(--border); + flex-shrink: 0; +} + +.calib-topbar a { + color: var(--muted); + text-decoration: none; + font-size: 13px; + border: 1px solid #334155; + border-radius: 6px; + padding: 6px 14px; + transition: border-color 0.2s, color 0.2s; +} + +.calib-topbar a:hover { + border-color: var(--accent); + color: var(--accent); +} + +.calib-topbar h1 { + margin: 0; + font-size: 15px; + font-weight: 500; + color: var(--accent); +} + +/* ===== BODY: SIDEBAR + CONTENT ===== */ + +.calib-body { + display: flex; + flex: 1; + overflow: hidden; + padding: 16px; + gap: 0; +} + +/* ===== LESEZEICHEN-TABS LINKS ===== */ + +.tab-sidebar { + display: flex; + flex-direction: column; + gap: 3px; + padding-top: 4px; + flex-shrink: 0; + width: 148px; +} + +.tab-btn { + background: #0e1a2b; + border: 1px solid #1f2937; + border-right: none; + border-radius: 6px 0 0 6px; + padding: 11px 16px; + color: var(--muted); + font-size: 13px; + text-align: left; + cursor: pointer; + transition: color 0.15s, background 0.15s, border-color 0.15s; + white-space: nowrap; +} + +.tab-btn:hover { + color: var(--text); + background: #132c44; + border-color: #334155; +} + +.tab-btn.active { + color: var(--accent); + background: var(--panel); /* gleiche Farbe wie Content-Area */ + border-color: #334155; + border-right: none; + border-left: 3px solid var(--accent); + padding-left: 13px; /* kompensiert den dickeren linken Rand */ + z-index: 1; +} + +/* ===== CONTENT AREA ===== */ + +.tab-content { + flex: 1; + background: var(--panel); + border: 1px solid #334155; + border-radius: 0 8px 8px 8px; + overflow-y: auto; + padding: 20px 24px; +} + +/* ===== TAB PANELS ===== */ + +.tab-panel { display: none; } +.tab-panel.active { display: block; } + +/* ===== SECTION OVERRIDE: kein äusserer Rand in der Content-Area ===== */ + +.tab-content .section { + background: #0e1a2b; +} + +/* ===== PLACEHOLDER NOTE ===== */ + +.placeholder-note { + margin-top: 14px; + padding: 14px 18px; + background: #0b1220; + border: 1px dashed #334155; + border-radius: 8px; + color: var(--muted); + font-size: 13px; + line-height: 1.7; +} + +/* ===== STATUS BADGE ===== */ + +.status-badge { + display: inline-block; + font-size: 11px; + padding: 2px 8px; + border-radius: 4px; + background: #1e293b; + color: var(--muted); + margin-left: 8px; + vertical-align: middle; + font-weight: normal; +} +.status-badge.open { color: #f59e0b; } +.status-badge.done { color: #34d399; background: #064e3b; } +.status-badge.wip { color: #60a5fa; } + +/* ===== INFO GRID ===== */ + +.info-grid { + display: grid; + grid-template-columns: 160px 1fr; + gap: 6px 12px; + margin-top: 14px; + font-size: 13px; +} + +.info-label { + color: var(--muted); +} + +.info-value { + color: var(--text); + font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; +} + +/* Buttons: aktiv vs. deaktiviert visuell unterscheiden */ +.controls button:disabled { + opacity: 0.35; + cursor: not-allowed; +} diff --git a/public/calibration.html b/public/calibration.html index 66f20cb..055902b 100644 --- a/public/calibration.html +++ b/public/calibration.html @@ -5,182 +5,7 @@