:root{--bg-primary: #0b1121;--bg-secondary: #111827;--bg-card: #1a2235;--border: #1e2d42;--text-primary: #e2eaf4;--text-secondary: #a0b4c0;--accent: #5ecea1;--accent-dim: #3a9e78;--score-green: #5ecea1;--score-yellow: #f0b429;--score-gray: #64748b;--danger: #ef4444;--sidebar-width: 200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:13px;border:none;border-radius:5px;padding:5px 12px;transition:opacity .15s}button:hover{opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:13px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;padding:6px 10px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:80px}label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;padding:20px 0}.sidebar-logo{font-size:15px;font-weight:600;color:var(--accent);padding:0 16px 20px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px}.nav-item{display:block;padding:8px 12px;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;background:none;text-align:left;width:100%}.nav-item:hover{background:var(--bg-card);color:var(--text-primary);opacity:1}.nav-item.active{background:var(--bg-card);color:var(--accent);font-weight:500}.sidebar-signout{padding:12px 16px 0;border-top:1px solid var(--border);margin-top:auto}.sidebar-signout button{background:none;color:var(--text-secondary);font-size:12px;padding:4px 8px}.sidebar-signout button:hover{color:var(--text-primary)}.main-content{flex:1;overflow-y:auto;padding:28px 32px}.top-nav{display:none;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 16px;gap:8px;align-items:center;flex-wrap:wrap}.top-nav .nav-logo{font-size:14px;font-weight:600;color:var(--accent);margin-right:8px}.top-nav .nav-item{font-size:12px;padding:5px 10px}@media (max-width: 768px){.app-shell{flex-direction:column}.sidebar{display:none}.top-nav{display:flex}.main-content{padding:16px}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;line-height:1.6}.badge-green{background:#5ecea126;color:var(--score-green)}.badge-yellow{background:#f0b42926;color:var(--score-yellow)}.badge-gray{background:#64748b26;color:var(--score-gray)}.badge-blue{background:#3b82f626;color:#7cb3f5}.badge-purple{background:#8b5cf626;color:#b48ef5}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;font-size:14px;font-weight:600;flex-shrink:0}.score-badge.green{background:#5ecea126;color:var(--score-green)}.score-badge.yellow{background:#f0b42926;color:var(--score-yellow)}.score-badge.gray{background:#64748b26;color:var(--score-gray)}.btn-primary{background:var(--accent);color:#0b1121;font-weight:500}.btn-ghost{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text-primary)}.btn-danger{background:#ef444426;color:var(--danger)}.form-row{margin-bottom:12px}.form-row label{color:var(--text-secondary)}.form-actions{display:flex;gap:8px;margin-top:16px}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:8px}.page-title{font-size:18px;font-weight:600}.page-meta{font-size:12px;color:var(--text-secondary)}.filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filter-bar select{width:auto;min-width:130px}.count-label{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.post-card{display:flex;gap:14px;margin-bottom:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.post-card-body{flex:1;min-width:0}.post-card-title{font-size:14px;font-weight:500;margin-bottom:4px;color:var(--text-primary)}.post-card-meta{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.post-card-body-text{font-size:13px;color:var(--text-secondary);margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.post-card-approach{font-size:12px;color:var(--text-secondary);border-left:2px solid var(--border);padding-left:8px;margin-bottom:8px}.post-card-caution{font-size:12px;color:var(--score-yellow);background:#f0b42914;border:1px solid rgba(240,180,41,.2);border-radius:4px;padding:6px 10px;margin-bottom:8px}.post-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.post-card-actions button{font-size:12px;padding:4px 10px}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:10px 16px;font-size:13px;color:var(--text-primary);box-shadow:0 4px 12px #0006;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stats-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 18px;min-width:120px}.stat-value{font-size:22px;font-weight:600;color:var(--text-primary)}.stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.log-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:10px}.log-entry-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.log-entry-date{font-size:11px;color:var(--text-secondary)}.log-entry-response{font-size:13px;color:var(--text-secondary);border-left:2px solid var(--border);padding-left:10px;margin-top:8px;white-space:pre-wrap;word-break:break-word}.log-entry-response.collapsed{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.expand-btn{background:none;color:var(--accent);font-size:12px;padding:2px 0;margin-top:4px}.inline-form{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.inline-form h3{font-size:14px;font-weight:600;margin-bottom:16px}.calendar-group{margin-bottom:28px}.calendar-group-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.calendar-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;margin-bottom:4px}.calendar-item:hover{background:var(--bg-card)}.calendar-item input[type=checkbox]{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:var(--accent);cursor:pointer}.calendar-item-body{flex:1;min-width:0}.calendar-item-title{font-size:13px;cursor:pointer}.calendar-item-title.done{text-decoration:line-through;color:var(--text-secondary)}.calendar-item-url{font-size:12px;color:var(--accent);margin-top:2px}.calendar-item-notes{font-size:12px;color:var(--text-secondary);margin-top:4px}.calendar-item-notes input{font-size:12px;padding:3px 8px;margin-top:4px}.add-item-btn{background:none;color:var(--text-secondary);font-size:12px;padding:6px 12px;border:1px dashed var(--border);border-radius:5px;width:100%;text-align:left;margin-top:6px}.add-item-btn:hover{color:var(--text-primary);border-color:var(--accent);opacity:1}.runs-table{width:100%;border-collapse:collapse;font-size:13px}.runs-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.runs-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.runs-table tr:last-child td{border-bottom:none}.runs-table tbody tr:hover td{background:var(--bg-card)}.login-shell{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:36px 32px;width:100%;max-width:360px}.login-logo{font-size:18px;font-weight:600;color:var(--accent);margin-bottom:6px}.login-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.error-state{padding:20px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger);font-size:13px}.empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:13px}.run-header{display:flex;gap:20px;align-items:center;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.run-header span strong{color:var(--text-primary)}.phase-badge{display:inline-flex;align-items:center;gap:4px;background:#5ecea11a;color:var(--accent);border:1px solid rgba(94,206,161,.2);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}
