*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.status-bar{display:flex;align-items:center;gap:0;margin-bottom:20px;background:var(--bg-card);background-image:repeating-linear-gradient(70deg,transparent,transparent 100px,rgba(255,220,180,.01) 100px,rgba(255,220,180,.01) 101px,transparent 101px,transparent 200px),linear-gradient(90deg,transparent,rgba(212,120,60,.03) 50%,transparent 100%);border:1px solid var(--border);border-radius:var(--radius);overflow:visible}.status-bar>:first-child{border-radius:var(--radius) 0 0 var(--radius)}.status-bar>:last-child{border-radius:0 var(--radius) var(--radius) 0}.status-item{animation:slideUp .3s ease-out backwards}.status-item:nth-child(1){animation-delay:.02s}.status-item:nth-child(2){animation-delay:.04s}.status-item:nth-child(3){animation-delay:.06s}.status-item:nth-child(4){animation-delay:.08s}.status-item:nth-child(5){animation-delay:.1s}.status-item{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:none;border-right:1px solid var(--border);cursor:pointer;transition:all .2s;font-size:13px;color:var(--text-muted);white-space:nowrap}@media (max-width: 1100px){.status-item{padding:8px 10px;font-size:12px;gap:4px}.status-item .status-label{display:none}.status-value{font-size:13px;min-width:14px}}.status-item:last-child{border-right:none}.status-item:hover{background:var(--bg-elevated)}.status-value{font-weight:800;font-size:15px;min-width:18px;text-align:center}.status-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.status-bar-spacer{flex:1}.status-save-btn{font-weight:700;color:var(--text)}.status-save-btn.has-dirty{color:var(--warning)}.status-save-btn:hover{background:var(--bg-elevated)}.quicksave-panel{background:var(--bg-card);background-image:repeating-linear-gradient(60deg,transparent,transparent 90px,rgba(255,220,180,.01) 90px,rgba(255,220,180,.01) 91px,transparent 91px,transparent 180px);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:16px;margin-top:-1px;margin-bottom:20px;animation:slideUp .2s ease-out;box-shadow:var(--shadow);overflow-x:hidden}.quicksave-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.quicksave-title{font-size:14px;font-weight:700}.quicksave-empty{font-size:13px;color:var(--text-muted);padding:8px 0;text-align:center}.quicksave-projects{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.quicksave-project{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-elevated);border-radius:6px;font-size:13px}.quicksave-results{display:flex;flex-direction:column;gap:4px}.quicksave-result{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-elevated);border-radius:6px;font-size:13px}.quicksave-result.ok{border-left:3px solid var(--success)}.quicksave-result.err{border-left:3px solid var(--danger)}:root{--bg: #120e0c;--bg-card: #1c1612;--bg-elevated: #261e18;--bg-surface: #2f241d;--border: #3d3027;--border-glow: #5c4738;--text: #f0e8e0;--text-muted: #a09080;--primary: #d4783c;--primary-hover: #c0682c;--primary-glow: rgba(212,120,60,.2);--success: #5a9c6a;--success-glow: rgba(90,156,106,.2);--warning: #d4a030;--warning-glow: rgba(212,160,48,.2);--danger: #d45050;--danger-glow: rgba(212,80,80,.2);--info: #6090c0;--info-glow: rgba(96,144,192,.2);--radius: 10px;--shadow: 0 4px 24px rgba(0,0,0,.5);--marble-vein: rgba(255,220,180,.015);--marble-vein2: rgba(255,200,150,.01);--sunset-top: rgba(180,80,60,.04);--sunset-mid: rgba(200,120,50,.03);--sunset-bottom: rgba(160,100,120,.04)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);background-image:repeating-linear-gradient(65deg,transparent,transparent 120px,var(--marble-vein) 120px,var(--marble-vein) 121px,transparent 121px,transparent 240px),repeating-linear-gradient(-30deg,transparent,transparent 180px,var(--marble-vein2) 180px,var(--marble-vein2) 181px,transparent 181px,transparent 360px),radial-gradient(ellipse at 30% 20%,var(--sunset-top) 0%,transparent 60%),radial-gradient(ellipse at 70% 40%,var(--sunset-mid) 0%,transparent 50%),radial-gradient(ellipse at 50% 90%,var(--sunset-bottom) 0%,transparent 60%);color:var(--text);line-height:1.5;overflow-x:hidden}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:radial-gradient(ellipse at center,rgba(212,120,60,.06) 0%,transparent 70%)}.login-card{background:var(--bg-card);background-image:repeating-linear-gradient(75deg,transparent,transparent 80px,rgba(255,220,180,.02) 80px,rgba(255,220,180,.02) 81px,transparent 81px,transparent 160px),repeating-linear-gradient(-20deg,transparent,transparent 140px,rgba(255,200,150,.015) 140px,rgba(255,200,150,.015) 141px,transparent 141px,transparent 280px);border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 8px 40px #00000080,0 0 60px var(--primary-glow)}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:48px;margin-bottom:8px}.login-header h1{font-size:24px;font-weight:700}.login-subtitle{color:var(--text-muted);font-size:14px}.app-layout{display:flex;min-height:100vh;overflow-x:hidden}.sidebar{width:220px;background:var(--bg-card);background-image:repeating-linear-gradient(50deg,transparent,transparent 100px,rgba(255,220,180,.012) 100px,rgba(255,220,180,.012) 101px,transparent 101px,transparent 200px);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-header{padding:16px 14px 12px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(212,120,60,.08) 0%,transparent 100%)}.sidebar-header h2{font-size:16px;font-weight:800;background:linear-gradient(135deg,var(--primary) 0%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.sidebar-subtitle{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.sidebar-nav{flex:1;padding:10px 6px;display:flex;flex-direction:column;gap:1px}.nav-btn{display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:none;color:var(--text-muted);font-size:13px;border-radius:6px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.nav-btn:hover{background:var(--bg-elevated);color:var(--text)}.nav-btn.active{background:linear-gradient(135deg,var(--primary) 0%,#c05030 100%);color:#fff;box-shadow:0 0 20px var(--primary-glow)}.nav-icon{font-size:16px}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.user-info{font-size:13px;color:var(--text-muted)}.logout-btn{padding:8px 12px;background:none;border:1px solid var(--border);color:var(--danger);border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.logout-btn:hover{background:#ef44441a}.main-content{margin-left:220px;flex:1;padding:28px;min-width:0}@media (max-width: 1100px){.main-content{padding:20px}}@media (max-width: 768px){.main-content{padding:14px}}.page-title{font-size:22px;font-weight:800;margin-bottom:24px;background:linear-gradient(135deg,#f0e8e0,#d4783c,#c05030);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;word-break:break-word}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.page-header .page-title{margin-bottom:0}.page-loading,.loading-screen{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}}.stat-card{background:var(--bg-card);background-image:repeating-linear-gradient(50deg,transparent,transparent 75px,rgba(255,220,180,.008) 75px,rgba(255,220,180,.008) 76px,transparent 76px,transparent 150px);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;transition:all .2s;box-shadow:var(--shadow)}.stat-card:hover{border-color:var(--border-glow);transform:translateY(-2px)}.stat-value{font-size:32px;font-weight:800;margin-bottom:4px;letter-spacing:-1px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.stat-success .stat-value{color:var(--success);text-shadow:0 0 20px var(--success-glow)}.stat-danger .stat-value{color:var(--danger);text-shadow:0 0 20px var(--danger-glow)}.stat-info .stat-value{color:var(--info);text-shadow:0 0 20px var(--info-glow)}.section{margin-bottom:28px}@media (max-width: 1100px){.section{margin-bottom:20px}}.section h2{font-size:13px;font-weight:700;margin-bottom:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.section h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border) 0%,transparent 100%)}.project-list{display:flex;flex-direction:column;gap:12px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.project-header h3{font-size:16px;font-weight:600}.project-stats{display:flex;flex-wrap:wrap;gap:6px}.mini-container{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-elevated);border-radius:4px;font-size:12px}.mini-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--success-glow)}50%{box-shadow:0 0 12px var(--success-glow),0 0 24px var(--success-glow)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;position:relative}.status-dot.running{background:var(--success);animation:pulse-dot 2s ease-in-out infinite;box-shadow:0 0 6px var(--success-glow)}.status-dot.exited,.status-dot.stopped{background:var(--danger);box-shadow:0 0 4px var(--danger-glow)}.status-dot.paused{background:var(--warning);box-shadow:0 0 4px var(--warning-glow)}.status-dot.created{background:var(--info);box-shadow:0 0 4px var(--info-glow)}.status-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.running{background:#2dd46b1f;color:var(--success);box-shadow:inset 0 0 12px var(--success-glow)}.status-badge.exited,.status-badge.stopped{background:#f85a5a1f;color:var(--danger);box-shadow:inset 0 0 12px var(--danger-glow)}.status-badge.paused{background:#f0c9291f;color:var(--warning);box-shadow:inset 0 0 12px var(--warning-glow)}.status-badge.created{background:#5b9cf61f;color:var(--info);box-shadow:inset 0 0 12px var(--info-glow)}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.container-row:hover{background:var(--bg-elevated)}.container-name{margin-left:8px;font-weight:500}.port-badge{display:inline-block;padding:1px 6px;background:var(--bg-elevated);border-radius:3px;font-size:12px;font-family:monospace;margin-right:4px}.actions{display:flex;gap:6px;flex-wrap:wrap}.url-table code{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;word-break:break-all}.badge-ssl{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#22c55e26;color:var(--success)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:var(--bg-elevated);color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;letter-spacing:.3px}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.btn-sm{padding:5px 12px;font-size:11px;border-radius:6px}.btn-full{width:100%}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#7c3aed 100%);color:#fff;box-shadow:0 2px 12px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,#6d28d9 100%);box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;box-shadow:0 2px 12px var(--success-glow)}.btn-success:hover:not(:disabled){box-shadow:0 4px 20px var(--success-glow);transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,var(--warning) 0%,#ca8a04 100%);color:#000;box-shadow:0 2px 12px var(--warning-glow)}.btn-warning:hover:not(:disabled){box-shadow:0 4px 20px var(--warning-glow);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;box-shadow:0 2px 12px var(--danger-glow)}.btn-danger:hover:not(:disabled){box-shadow:0 4px 20px var(--danger-glow);transform:translateY(-1px)}.btn-info{background:linear-gradient(135deg,var(--info) 0%,#2563eb 100%);color:#fff;box-shadow:0 2px 12px var(--info-glow)}.btn-info:hover:not(:disabled){box-shadow:0 4px 20px var(--info-glow);transform:translateY(-1px)}.btn-outline{background:none;border:1px solid var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-glow)}.btn-ghost{background:none;border:none;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text-muted)}.form-group input,.form-select{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;outline:none;transition:border .15s}.form-group input:focus,.form-select:focus{border-color:var(--primary)}.form-hint{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.form-hint code{font-family:monospace;background:var(--bg);padding:1px 4px;border-radius:3px}.form-select{max-width:300px;cursor:pointer}.error-msg{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--danger);font-size:13px;margin-bottom:16px}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.form-card h3{font-size:16px;font-weight:600;margin-bottom:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.text-muted{color:var(--text-muted);font-size:13px}.logs-controls{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.connection-status{font-size:13px;font-weight:500}.connection-status.connected{color:var(--success)}.connection-status.disconnected{color:var(--danger)}.logs-container{background:#000;border:1px solid var(--border);border-radius:var(--radius);position:relative}.logs-loading{position:absolute;top:12px;left:16px;font-size:12px;color:var(--text-muted)}.logs-output{padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.6;color:#a8b2d1;overflow:auto;max-height:70vh;white-space:pre-wrap;word-break:break-all}.card{background:var(--bg-card);background-image:repeating-linear-gradient(45deg,transparent,transparent 110px,rgba(255,220,180,.008) 110px,rgba(255,220,180,.008) 111px,transparent 111px,transparent 220px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transition:opacity .3s}.project-card:hover{border-color:var(--primary);border-top-color:var(--primary);box-shadow:0 0 30px var(--primary-glow),var(--shadow);transform:translateY(-3px)}.project-card:hover:before{opacity:1}.project-card.dirty{border-left:3px solid var(--warning)}.card-top{display:flex;flex-direction:column;gap:8px}.card-title-row{display:flex;align-items:center;gap:8px}.card-title-row h3{font-size:16px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis}.branch-tag{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:700;background:#7c7ff71f;color:var(--primary);font-family:JetBrains Mono,monospace;white-space:nowrap;letter-spacing:.3px;box-shadow:inset 0 0 8px var(--primary-glow)}.branch-tag-lg{font-size:13px;padding:3px 10px}.card-meta{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tag-warning{background:#f0c9291f;color:var(--warning);box-shadow:inset 0 0 8px var(--warning-glow)}.tag-ok{background:#2dd46b1f;color:var(--success);box-shadow:inset 0 0 8px var(--success-glow)}.tag-ahead{background:#5b9cf61f;color:var(--info);box-shadow:inset 0 0 8px var(--info-glow)}.tag-behind{background:#f85a5a1f;color:var(--danger);box-shadow:inset 0 0 8px var(--danger-glow)}.card-commit{font-size:12px;color:var(--text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-commit code{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--info);margin-right:6px}.commit-subj{overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;gap:6px}.detail-view{animation:slideUp .3s ease-out}.detail-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.detail-header .btn{margin-top:4px}.detail-title{font-size:22px;font-weight:700;margin:0 0 4px}.detail-toolbar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.msg{padding:10px 14px;border-radius:6px;font-size:13px;font-family:JetBrains Mono,monospace;margin-bottom:16px;white-space:pre-wrap;word-break:break-word}.msg-success{background:#2dd46b14;color:var(--success);border:1px solid rgba(45,212,107,.2);box-shadow:inset 0 0 20px var(--success-glow)}.msg-error{background:#f85a5a14;color:var(--danger);border:1px solid rgba(248,90,90,.2);box-shadow:inset 0 0 20px var(--danger-glow)}.tabs{display:flex;gap:3px;margin-bottom:20px;background:var(--bg-elevated);border-radius:10px;padding:4px;flex-wrap:wrap;border:1px solid var(--border)}.tab{padding:8px 18px;background:none;border:none;color:var(--text-muted);font-size:12px;font-weight:600;border-radius:7px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}.tab.active{background:var(--bg-card);color:var(--text);box-shadow:0 2px 12px #0000004d,inset 0 0 20px var(--primary-glow);border:1px solid var(--border-glow)}.tab:hover:not(.active){color:var(--text)}.tab-content{animation:fadeIn .15s}.action-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.action-card h4{font-size:14px;font-weight:700;margin-bottom:8px}.commit-bar{display:flex;gap:6px;flex-wrap:wrap}@media (max-width: 1100px){.commit-bar{flex-direction:column}.commit-bar .fi{min-width:0}}.fi{flex:1;min-width:180px;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none}.fi:focus{border-color:var(--primary)}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;margin:16px 0 8px}.file-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.file-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px}.file-item:last-child{border-bottom:none}.file-code{display:inline-block;width:24px;text-align:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;padding:1px 4px;border-radius:3px}.file-code.M{background:#eab30826;color:var(--warning)}.file-code.A{background:#22c55e26;color:var(--success)}.file-code.D{background:#ef444426;color:var(--danger)}.file-code.\?{background:#6366f126;color:var(--primary)}.file-path{font-family:JetBrains Mono,monospace;font-size:12px}.diff-box{background:#000;border:1px solid var(--border);border-radius:var(--radius);padding:14px;font-family:JetBrains Mono,monospace;font-size:12px;color:#a8b2d1;overflow:auto;max-height:200px;white-space:pre-wrap;margin-top:8px}.status-box{max-height:250px;margin-top:8px}.branch-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.branch-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.branch-item:last-child{border-bottom:none}.branch-item.current{background:#6366f10d}.branch-indicator{width:12px;font-size:10px;color:var(--primary)}.branch-name{flex:1;font-family:JetBrains Mono,monospace;font-weight:500}.branch-actions{display:flex;gap:4px}.btn-xs{padding:3px 10px;font-size:10px;border-radius:5px}.commit-log{position:relative;padding-left:20px}.commit-log:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--border)}.commit-row{position:relative;padding-bottom:16px}.commit-dot{position:absolute;left:-16px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid var(--bg);box-shadow:0 0 8px var(--primary-glow)}.commit-body{padding-left:4px}.commit-msg{font-size:14px;font-weight:500}.commit-meta{display:flex;gap:12px;font-size:12px;color:var(--text-muted);margin-top:2px}.commit-meta code{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--info)}.text-muted{color:var(--text-muted)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px;max-width:480px;width:90%;box-shadow:0 12px 48px #0009,0 0 40px var(--primary-glow)}.confirm-dialog h3{font-size:18px;font-weight:700;margin-bottom:12px}.confirm-dialog p{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:12px}.confirm-dialog .confirm-extra{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:20px;padding:12px;background:var(--bg);border-radius:6px}.confirm-buttons{display:flex;gap:8px;justify-content:flex-end}.help-text{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:12px}.tooltip-text{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.toolbar-group{display:flex;flex-direction:column;align-items:center}.dashboard .stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-icon{font-size:24px;margin-bottom:8px}.system-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;box-shadow:var(--shadow)}.system-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.system-badge.ok{background:#2dd46b1a;color:var(--success);box-shadow:inset 0 0 12px var(--success-glow)}.system-badge.err{background:#f85a5a1a;color:var(--danger);box-shadow:inset 0 0 12px var(--danger-glow)}.system-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.system-badge.ok .system-dot{animation:pulse-glow 2s ease-in-out infinite}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h2{margin-bottom:0}.dashboard-container-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.dash-container-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 4px;background:var(--bg-elevated);border-radius:4px;font-size:11px}.dash-container-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-summary-list{display:flex;flex-direction:column;gap:6px}.url-summary-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:13px;transition:border-color .15s}.url-summary-item:hover{border-color:var(--primary)}.project-urls-row{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}.project-url-chip{padding:1px 6px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:4px;font-size:10px}.project-url-chip code{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--primary)}.action-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.action-card-title h4{margin-bottom:0}.url-link{display:inline-flex;align-items:center;gap:4px;color:var(--primary);text-decoration:none;font-family:JetBrains Mono,monospace;font-size:13px;transition:color .15s}.url-link:hover{color:var(--primary-hover);text-decoration:underline}.url-external-icon{font-size:11px;opacity:.6}.container-url{font-size:12px;color:var(--text-muted)}.project-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-elevated);border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s;color:var(--text)}.project-badge:hover{background:var(--primary);color:#fff}.btn-danger-outline{background:none;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.btn-danger-outline:hover:not(:disabled){background:#ef44441a;border-color:var(--danger)}.compose-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow);flex-wrap:wrap}.compose-bar-label{font-size:13px;font-weight:600;color:var(--text-muted);margin-right:4px}@media (max-width: 820px){.sidebar{width:100%;position:static}.main-content{margin-left:0}.app-layout{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:8px;align-items:flex-start}}@media (max-width: 1100px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.journal-page{position:relative}.achievement-toast{position:fixed;top:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#1a1a3e,#2a1a3e);border:1px solid var(--warning);border-radius:12px;box-shadow:0 0 40px #f0c9294d,0 8px 32px #00000080;animation:slideDown .4s cubic-bezier(.34,1.56,.64,1);cursor:pointer;min-width:280px}@keyframes slideDown{0%{transform:translateY(-120%);opacity:0}to{transform:translateY(0);opacity:1}}.achievement-toast-icon{font-size:36px;animation:glowPulse 2s infinite}.achievement-toast-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--warning);font-weight:700}.achievement-toast-name{font-size:16px;font-weight:700;color:#fff;margin:2px 0}.achievement-toast-desc{font-size:12px;color:var(--text-muted)}.xp-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.xp-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.xp-level-badge{display:flex;align-items:center;gap:4px;padding:6px 14px;background:linear-gradient(135deg,#f0c92926,#ffc8000d);border:1px solid rgba(240,201,41,.3);border-radius:20px;flex-shrink:0}.xp-level-icon{font-size:20px}.xp-level-num{font-size:22px;font-weight:800;color:var(--warning)}.xp-info{flex:1}.xp-bar-track{height:12px;background:var(--bg-elevated);border-radius:20px;overflow:hidden;position:relative}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--warning) 0%,#f5a623 100%);border-radius:20px;transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 12px #f0c92966}.xp-bar-shine{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:barShine 3s ease-in-out infinite}@keyframes barShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.xp-text{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;color:var(--text-muted)}.xp-total{font-weight:600;color:var(--text)}.xp-stats-mini{display:flex;gap:12px;font-size:13px;color:var(--text-muted);flex-shrink:0}.journal-actions{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.journal-tabs{display:flex;gap:4px;margin-left:auto;background:var(--bg-elevated);border-radius:8px;padding:3px}@media (max-width: 1100px){.journal-actions{flex-direction:column;align-items:stretch}.journal-tabs{margin-left:0;justify-content:center}}.tab-btn{padding:6px 14px;background:none;border:none;color:var(--text-muted);font-size:13px;border-radius:6px;cursor:pointer;transition:all .15s;font-weight:600}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 0 12px var(--primary-glow)}.journal-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;animation:slideUp .2s ease-out}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-row .fi{flex:1}.task-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}@media (max-width: 1100px){.task-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.task-board{grid-template-columns:1fr}}.task-column{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:200px}.task-column-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.task-column-body{padding:8px;flex:1;display:flex;flex-direction:column;gap:8px;overflow-x:hidden}.task-column-empty{color:var(--text-muted);font-size:12px;text-align:center;padding:24px;font-style:italic}.task-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:all .15s;animation:slideUp .2s ease-out backwards}.task-card:hover{border-color:var(--border-glow)}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.task-card-title{font-size:13px;font-weight:700;color:var(--text);word-break:break-word}.task-card-delete{background:none;border:none;cursor:pointer;font-size:12px;opacity:0;transition:opacity .15s;padding:2px;flex-shrink:0}.task-card:hover .task-card-delete{opacity:.6}.task-card:hover .task-card-delete:hover{opacity:1}.task-card-desc{font-size:12px;color:var(--text-muted);margin-bottom:6px;line-height:1.4}.task-card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.task-card-meta .tag{font-size:10px;padding:2px 8px}.task-date{font-size:10px;color:var(--text-muted)}.task-card-actions{display:flex;gap:4px;flex-wrap:wrap}.btn-sm{padding:4px 10px;font-size:11px;border-radius:6px;font-weight:600}.task-card-edit{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.timeline{margin-bottom:24px}.timeline-empty{text-align:center;padding:40px;color:var(--text-muted);font-style:italic}.timeline-item{position:relative;padding-left:32px;padding-bottom:20px;cursor:pointer}.timeline-line{position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--border)}.timeline-item:last-child .timeline-line{display:none}.timeline-dot{position:absolute;left:4px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--bg);box-shadow:0 0 8px var(--primary-glow)}.timeline-item.debug .timeline-dot{background:var(--danger);box-shadow:0 0 8px var(--danger-glow)}.timeline-item.plan .timeline-dot{background:var(--success);box-shadow:0 0 8px var(--success-glow)}.timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;transition:all .15s}.timeline-content:hover{border-color:var(--border-glow)}.timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.timeline-type{font-size:11px;color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.timeline-item.debug .timeline-type{color:var(--danger)}.timeline-item.plan .timeline-type{color:var(--success)}.timeline-date{font-size:11px;color:var(--text-muted);margin-left:auto}.timeline-delete{background:none;border:none;cursor:pointer;font-size:12px;opacity:0;transition:opacity .15s;padding:2px}.timeline-content:hover .timeline-delete{opacity:.5}.timeline-content:hover .timeline-delete:hover{opacity:1}.timeline-title{font-size:14px;font-weight:700;margin-bottom:4px}.timeline-text{font-size:13px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;overflow-x:hidden}.timeline-text.collapsed{max-height:3em;overflow:hidden;position:relative}.timeline-text.collapsed:after{content:"...";position:absolute;bottom:0;right:0;background:var(--bg-card);padding:0 4px;color:var(--text-muted)}.achievements-section{margin-bottom:24px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.achievement-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;transition:all .2s;box-shadow:var(--shadow)}.achievement-card.unlocked{border-color:var(--warning);box-shadow:0 0 20px #f0c92926}.achievement-card.locked{opacity:.5;filter:grayscale(.6)}.achievement-icon{font-size:36px;margin-bottom:8px}.achievement-card.unlocked .achievement-icon{animation:glowPulse 3s infinite}.achievement-name{font-size:13px;font-weight:700;margin-bottom:4px}.achievement-desc{font-size:11px;color:var(--text-muted)}.missions-board{margin-bottom:24px}.project-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.project-card-mission{background:var(--bg-card);border:1px solid var(--border);border-top:3px solid;border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow);animation:slideUp .25s ease-out backwards}.project-card-mission:hover{transform:translateY(-2px);border-color:var(--border-glow)}.project-card-mission.planned{opacity:.7}.project-card-m-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.project-card-icon{font-size:28px}.project-status-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.project-status-badge.planned{background:#7c7ff71a;color:var(--primary)}.project-status-badge.in_progress{background:#f0c9291a;color:var(--warning)}.project-status-badge.completed{background:#2dd46b1a;color:var(--success)}.project-priority-dot{width:10px;height:10px;border-radius:50%;margin-left:auto;flex-shrink:0}.project-priority-dot.low{background:var(--text-muted)}.project-priority-dot.medium{background:var(--info)}.project-priority-dot.high{background:var(--warning)}.project-priority-dot.critical{background:var(--danger);box-shadow:0 0 6px var(--danger-glow);animation:pulse-dot 1.5s infinite}.project-card-m-name{font-size:16px;font-weight:700;margin-bottom:4px}.project-card-m-desc{font-size:12px;color:var(--text-muted);line-height:1.4;margin-bottom:12px}.project-card-m-stats{display:flex;flex-direction:column;gap:8px}.project-card-progress{display:flex;align-items:center;gap:8px}.project-card-progress-track{flex:1;height:6px;background:var(--bg-elevated);border-radius:10px;overflow:hidden}.project-card-progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#2dd46b);border-radius:10px;transition:width .4s ease;box-shadow:0 0 6px var(--success-glow)}.project-card-pct{font-size:12px;font-weight:700;color:var(--success);min-width:32px}.project-card-counts{display:flex;gap:8px;font-size:11px}.count-todo{color:var(--warning)}.count-progress{color:var(--info)}.count-done{color:var(--success)}.project-goals-bar{display:flex;gap:4px}.goal-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.goal-dot.done{background:var(--success);box-shadow:0 0 4px var(--success-glow)}.project-detail{margin-bottom:24px}.project-detail-header{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start}@media (max-width: 1100px){.project-detail-header{flex-direction:column;gap:8px}}.project-detail-info{flex:1}.project-detail-info h2{font-size:22px;font-weight:800;margin-bottom:2px}.project-detail-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.project-priority-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.project-priority-badge.low{background:#7a7f991a;color:var(--text-muted)}.project-priority-badge.medium{background:#5b9cf61a;color:var(--info)}.project-priority-badge.high{background:#f0c9291a;color:var(--warning)}.project-priority-badge.critical{background:#f85a5a1a;color:var(--danger)}.project-goals-section{margin-bottom:20px}.project-goals-section h4{font-size:13px;font-weight:700;margin-bottom:8px}.project-goals-list{display:flex;flex-direction:column;gap:4px}.project-goal-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);border-radius:6px;cursor:pointer;font-size:13px;transition:all .12s}.project-goal-item:hover{background:#7c7ff70f}.project-goal-item .done{text-decoration:line-through;color:var(--text-muted)}.project-filters{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.filter-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}@media (max-width: 1100px){.project-filters{flex-direction:row;flex-wrap:wrap}.filter-group{flex:1;min-width:0}.filter-label{min-width:auto;font-size:9px}.filter-chip{font-size:10px;padding:2px 8px}}.filter-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:700;min-width:60px}.filter-chip{padding:3px 10px;font-size:11px;font-weight:600;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);cursor:pointer;transition:all .12s}.filter-chip:hover{border-color:var(--border-glow);color:var(--text)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.project-quick-actions{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.quick-btn{padding:5px 14px;font-size:11px;font-weight:700;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .12s}.quick-btn:hover{border-color:var(--border-glow);color:var(--text)}.quick-btn.active{background:#7c7ff71a;border-color:var(--primary);color:var(--primary)}.project-task-list{display:flex;flex-direction:column;gap:4px}.project-task{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:all .12s;animation:slideUp .15s ease-out backwards}.project-task:hover{border-color:var(--border-glow)}.project-task.done{opacity:.55}.project-task.done .project-task-title{text-decoration:line-through;color:var(--text-muted)}.task-status-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:2px;transition:transform .1s}.task-status-btn:hover{transform:scale(1.2)}.project-task-body{flex:1;cursor:pointer;min-width:0}.project-task-title{font-size:13px;font-weight:600;word-break:break-word}.project-task-meta{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.project-task-meta .tag{font-size:9px;padding:1px 6px}.priority-tag{font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px}.priority-tag.low{color:var(--text-muted);background:#7a7f9914}.priority-tag.medium{color:var(--info);background:#5b9cf614}.priority-tag.high{color:var(--warning);background:#f0c92914}.priority-tag.critical{color:var(--danger);background:#f85a5a14}.task-effort{font-size:10px;color:var(--text-muted)}.project-task-desc{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.4;padding:6px 8px;background:var(--bg-elevated);border-radius:4px}.project-task-right{flex-shrink:0}.task-id{font-size:9px;color:var(--text-muted);font-family:monospace;opacity:.4}.journal-notif{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;padding:8px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:600;animation:slideUp .2s ease-out;box-shadow:0 4px 24px #00000080}.tab-badge{display:inline-block;margin-left:4px;padding:0 6px;font-size:10px;font-weight:800;line-height:16px;background:var(--danger);color:#fff;border-radius:10px}.dashboard-player-widget{cursor:pointer}.player-widget-inner{display:flex;align-items:center;gap:16px;padding:4px 0;flex-wrap:wrap}.player-level-badge{display:flex;align-items:center;gap:4px;padding:4px 14px;background:linear-gradient(135deg,#f0c9291f,#ffc8000a);border:1px solid rgba(240,201,41,.25);border-radius:20px}.player-level-num{font-size:20px;font-weight:800;color:var(--warning)}.player-xp-bar{flex:1;min-width:120px}.player-xp-track{height:8px;background:var(--bg-elevated);border-radius:20px;overflow:hidden}.player-xp-fill{height:100%;background:linear-gradient(90deg,var(--warning),#f5a623);border-radius:20px;transition:width .4s ease;box-shadow:0 0 8px #f0c9294d}.player-xp-label{font-size:11px;color:var(--text-muted);margin-top:2px}.player-stats{display:flex;gap:12px;font-size:13px;color:var(--text-muted);position:relative}.player-mission-pulse{display:inline-block;width:8px;height:8px;background:var(--success);border-radius:50%;margin-left:2px;animation:pulse-dot 1.5s infinite;vertical-align:super}@media (max-width: 1100px) and (min-height: 1000px){.system-bar>.text-muted{width:100%;text-align:center;margin-left:0!important}.player-widget-inner{flex-direction:column;align-items:stretch}.player-stats{justify-content:center}}@media (max-width: 768px){.player-widget-inner{flex-direction:column;align-items:stretch}.player-stats{justify-content:center}}.board-section{margin-bottom:24px}.board-filters{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow)}.board-filters .filter-group{flex-wrap:wrap}.board-search{min-width:200px;max-width:300px}.task-card{border-left:3px solid transparent}.task-card-project{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.project-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.project-badge-general{background:#7a7f991f;color:var(--text-muted)}.task-card-id{font-size:9px;color:var(--text-muted);font-family:monospace;opacity:.4}.task-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.task-card-title{font-size:13px;font-weight:700;word-break:break-word;flex:1}.task-card-date{font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.task-card-body{cursor:pointer}.task-card-meta{flex-wrap:wrap}.task-age{font-size:10px;color:var(--text-muted)}.task-age.aging{color:var(--warning);font-weight:700}.task-age.old{color:var(--danger);font-weight:700}.task-done-date{font-size:10px;color:var(--success)}.task-card-desc{font-size:12px;color:var(--text-muted);margin-top:4px;padding:6px 8px;background:var(--bg);border-radius:4px;line-height:1.4}.calendar-section{margin-bottom:24px}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow)}.calendar-nav h2{font-size:18px;font-weight:800;min-width:200px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.cal-header{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cal-cell{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:6px;min-height:68px;cursor:pointer;transition:all .12s;display:flex;flex-direction:column;align-items:center;gap:2px}.cal-cell:hover{border-color:var(--border-glow)}.cal-cell.today{border-color:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.cal-cell.selected{background:var(--bg-elevated);border-color:var(--success)}.cal-cell.empty{background:none;border-color:transparent;cursor:default}.cal-day-num{font-size:14px;font-weight:700}.cal-cell.today .cal-day-num{color:var(--primary)}.cal-dots{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.cal-dot{width:6px;height:6px;border-radius:50%}.cal-dot.todo{background:var(--warning)}.cal-dot.progress{background:var(--info)}.cal-dot.done{background:var(--success)}.cal-dot.entry{background:var(--primary)}.cal-count{font-size:9px;color:var(--text-muted)}.cal-day-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.cal-day-detail h3{font-size:16px;font-weight:700;margin-bottom:12px}.cal-item{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;padding:8px 12px;margin-bottom:6px;transition:all .12s}.cal-item:hover{border-color:var(--border-glow)}.cal-item-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.cal-item-time{font-size:10px;color:var(--text-muted);margin-left:auto}.cal-item-title{font-size:13px;font-weight:600}.cal-item-meta{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap;align-items:center}.cal-item-preview{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}.task-status-badge-sm{font-size:10px;color:var(--text-muted)}.agenda-section{margin-bottom:24px}.agenda-header{margin-bottom:16px}.agenda-header h2{font-size:20px;font-weight:800;margin-bottom:4px}.agenda-date-picker{display:flex;align-items:center;gap:8px;margin-bottom:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow)}.agenda-date-input{max-width:200px;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;outline:none}.agenda-date-input:focus{border-color:var(--primary)}.agenda-focus{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.agenda-tasks{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.agenda-tasks h3{font-size:14px;font-weight:700;margin-bottom:12px}.agenda-empty{text-align:center;padding:24px}.agenda-task{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-elevated);border-left:3px solid var(--border);border-radius:8px;margin-bottom:8px;transition:all .12s;animation:slideUp .15s ease-out backwards}.agenda-task.done{opacity:.55}.agenda-task.done .agenda-task-title{text-decoration:line-through;color:var(--text-muted)}.agenda-task-num{width:24px;height:24px;background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text-muted);flex-shrink:0}.agenda-task-body{flex:1;min-width:0}.agenda-task-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.agenda-task-title{font-size:13px;font-weight:600;word-break:break-word}.agenda-task-meta{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap;align-items:center}.agenda-task-meta .tag,.agenda-task-meta .project-badge{font-size:9px;padding:1px 6px}.agenda-task-remove{opacity:.4}.agenda-task-remove:hover{opacity:1}.agenda-note{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.agenda-note h3{font-size:14px;font-weight:700;margin-bottom:8px}.agenda-note-input{width:100%;resize:vertical}.agenda-week{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.agenda-week h3{font-size:14px;font-weight:700;margin-bottom:12px}.agenda-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.agenda-week-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .12s}.agenda-week-day:hover{border-color:var(--border-glow)}.agenda-week-day.today{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.agenda-week-day.selected{background:var(--primary);border-color:var(--primary);color:#fff}.agenda-week-dow{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.agenda-week-day.selected .agenda-week-dow{color:#ffffffb3}.agenda-week-date{font-size:16px;font-weight:800}.missions-tab-content{margin-bottom:24px}.missions-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1100px){.missions-columns{grid-template-columns:1fr}}.missions-col h3{font-size:14px;font-weight:700;margin-bottom:12px}.mission-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:8px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow);animation:slideUp .2s ease-out backwards}.mission-card:hover{border-color:var(--border-glow)}.mission-card.claimed{opacity:.5}.mission-card.ready{border-color:var(--success);box-shadow:0 0 16px var(--success-glow)}.mission-card.ready:hover{transform:scale(1.02)}.mission-card-header{display:flex;gap:10px;align-items:flex-start}.mission-card-icon{font-size:28px;flex-shrink:0}.mission-card-body{flex:1}.mission-card-title{font-size:13px;font-weight:700}.mission-card-desc{font-size:11px;color:var(--text-muted);margin:2px 0}.mission-card-meta{display:flex;gap:6px;margin-top:4px;font-size:11px;color:var(--text-muted)}.mission-card-meta .tag{font-size:9px;padding:1px 6px}.mission-card-progress{margin-top:6px;display:flex;align-items:center;gap:6px}.mission-progress-track{flex:1;height:4px;background:var(--bg-elevated);border-radius:10px;overflow:hidden}.mission-progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#2dd46b);border-radius:10px;transition:width .3s}.mission-progress-text{font-size:10px;color:var(--text-muted);min-width:28px}.mission-card-xp{font-size:12px;font-weight:700;color:var(--warning);white-space:nowrap;flex-shrink:0}.mission-claim-hint{text-align:center;font-size:12px;font-weight:700;color:var(--success);margin-top:6px;animation:glowPulse 1.5s infinite}.mission-claimed-badge{text-align:center;font-size:11px;color:var(--text-muted);margin-top:4px}.mission-time{font-size:10px;color:var(--text-muted)}.mission-new-badge{position:absolute;top:-4px;right:-4px;padding:1px 6px;font-size:9px;font-weight:800;background:var(--danger);color:#fff;border-radius:8px}.mission-star{position:absolute;top:-4px;left:-4px;font-size:12px}.mission-card{position:relative}.agenda-content{display:grid;grid-template-columns:1fr 320px;gap:16px;margin-top:16px}@media (max-width: 1100px){.agenda-content{grid-template-columns:1fr}}.agenda-date-label{font-size:13px;color:var(--text-muted);font-weight:600}.agenda-date-stats{display:flex;gap:8px;margin-left:auto;font-size:11px}.agenda-tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agenda-tasks-header h3{margin-bottom:0}.agenda-overdue{background:linear-gradient(135deg,#f85a5a14,#f85a5a05);border:1px solid rgba(248,90,90,.25);border-radius:var(--radius);padding:12px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.agenda-overdue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:700;color:var(--danger);font-size:13px}.agenda-overdue-list{display:flex;flex-direction:column;gap:4px}.agenda-overdue-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg-elevated);border-radius:5px;font-size:12px}.agenda-overdue-project{flex-shrink:0}.agenda-overdue-title{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-overdue-date{font-size:10px;color:var(--text-muted);white-space:nowrap}.agenda-overdue-tag{font-size:9px;font-weight:700;color:var(--danger)}.agenda-week-day.has-past{border-color:#f85a5a4d}.agenda-week-count{font-size:9px;font-weight:700;color:var(--text-muted);background:var(--bg);padding:0 5px;border-radius:6px;line-height:14px}.agenda-week-day.selected .agenda-week-count{color:#ffffffb3;background:#ffffff1a}.agenda-week-overdue-dot{width:5px;height:5px;border-radius:50%;background:var(--danger);box-shadow:0 0 4px var(--danger-glow)}.agenda-slot{margin-bottom:12px}.agenda-slot-header{display:flex;align-items:center;gap:6px;padding:4px 0;margin-bottom:6px;border-bottom:1px solid var(--border)}.agenda-slot-icon{font-size:16px}.agenda-slot-name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.agenda-slot-count{font-size:10px;font-weight:700;color:var(--text-muted);background:var(--bg);padding:0 6px;border-radius:6px;line-height:16px}.agenda-slot-empty{font-size:12px;color:var(--text-muted);padding:6px 8px;font-style:italic}.agenda-task.overdue{border-left-color:var(--danger)!important;background:#f85a5a0a}.agenda-reschedule-select{padding:2px 6px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:10px;cursor:pointer;outline:none;max-width:90px}.agenda-reschedule-select:focus{border-color:var(--primary)}.agenda-sidebar{display:flex;flex-direction:column;gap:12px}.agenda-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.agenda-stats h3{font-size:14px;font-weight:700;margin-bottom:12px}.agenda-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.agenda-stat{text-align:center;padding:8px;background:var(--bg-elevated);border-radius:6px}.agenda-stat-value{font-size:20px;font-weight:800;display:block}.agenda-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.agenda-progress-bar{display:flex;align-items:center;gap:8px}.agenda-progress-track{flex:1;height:6px;background:var(--bg-elevated);border-radius:10px;overflow:hidden}.agenda-progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#2dd46b);border-radius:10px;transition:width .4s;box-shadow:0 0 6px var(--success-glow)}.agenda-progress-text{font-size:11px;font-weight:700;color:var(--success);min-width:36px}.agenda-quick-add{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.agenda-quick-add h3{font-size:14px;font-weight:700;margin-bottom:8px}.agenda-quick-add-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.agenda-quick-add-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg-elevated);border-radius:4px;font-size:12px}.agenda-quick-add-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-quick-add-item .btn{flex-shrink:0}.task-plan-picker{margin-top:8px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;animation:slideUp .15s ease-out}.task-plan-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:600;color:var(--text-muted)}.task-plan-picker-dates{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.task-plan-picker-btn{font-size:10px!important;padding:3px 8px!important}.task-plan-picker-custom{display:flex}.agenda-task-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-xs{padding:3px 8px;font-size:10px;border-radius:5px}.status-item-wrap{position:relative}.status-agenda-btn{font-weight:700;color:var(--text)}.status-agenda-btn.has-tasks{color:var(--warning)}.status-agenda-btn:hover{background:var(--bg-elevated)}.agenda-popover{position:absolute;top:100%;right:0;z-index:1000;width:420px;max-height:480px;background:var(--bg-card);background-image:repeating-linear-gradient(55deg,transparent,transparent 95px,rgba(255,220,180,.01) 95px,rgba(255,220,180,.01) 96px,transparent 96px,transparent 190px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:slideUp .15s ease-out;overflow:hidden;display:flex;flex-direction:column}.agenda-popover-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text);flex-shrink:0}.agenda-popover-empty{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:13px}.agenda-popover-list{overflow-y:auto;flex:1}.agenda-popover-item{padding:8px 14px;border-bottom:1px solid var(--border);transition:background .15s}.agenda-popover-item:last-child{border-bottom:none}.agenda-popover-item:hover{background:var(--bg-elevated)}.agenda-popover-item.done{opacity:.55}.agenda-popover-item-top{display:flex;align-items:center;gap:8px}.agenda-popover-title{flex:1;font-size:12px;color:var(--text);cursor:pointer;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-popover-item.done .agenda-popover-title{text-decoration:line-through;color:var(--text-muted)}.agenda-popover-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.task-action-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;transition:background .15s;line-height:1}.task-action-btn:hover{background:var(--bg-surface)}.agenda-popover-desc{margin-top:6px;margin-left:0;padding:8px 10px;background:var(--bg-surface);border-radius:6px;font-size:12px;color:var(--text-muted);line-height:1.5}.agenda-popover-desc-text{white-space:pre-wrap;margin-bottom:8px}.agenda-task-notes{border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.agenda-task-notes-title{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.agenda-task-note-item{display:flex;align-items:flex-start;gap:6px;padding:4px 0;border-bottom:1px solid var(--border)}.agenda-task-note-item:last-child{border-bottom:none}.agenda-task-note-time{font-size:9px;color:var(--text-muted);white-space:nowrap;margin-top:2px;flex-shrink:0}.agenda-task-note-text{flex:1;font-size:11px;color:var(--text);line-height:1.4}.agenda-task-note-actions{display:flex;gap:2px;flex-shrink:0;margin-top:-2px}.agenda-task-note-add{display:flex;gap:4px;margin-top:6px}.agenda-task-note-add .fi{flex:1;font-size:11px;padding:4px 8px}.agenda-task-note-add .btn{flex-shrink:0;padding:4px 8px;font-size:11px}.status-notes-btn{font-weight:700;color:var(--text)}.status-notes-btn.has-notes{color:var(--info)}.status-notes-btn:hover{background:var(--bg-elevated)}.notes-popover{position:absolute;top:100%;right:0;z-index:1000;width:380px;max-height:420px;background:var(--bg-card);background-image:repeating-linear-gradient(-40deg,transparent,transparent 85px,rgba(255,220,180,.01) 85px,rgba(255,220,180,.01) 86px,transparent 86px,transparent 170px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:slideUp .15s ease-out;overflow:hidden;display:flex;flex-direction:column}.notes-popover-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text);flex-shrink:0}.notes-popover-input-row{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.notes-popover-input-row .fi{flex:1;font-size:12px;padding:6px 10px}.notes-popover-input-row .btn{flex-shrink:0}.notes-popover-list{overflow-y:auto;flex:1}.notes-popover-empty{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:13px}.notes-popover-item{padding:8px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;transition:background .15s}.notes-popover-item:last-child{border-bottom:none}.notes-popover-item:hover{background:var(--bg-elevated)}.notes-popover-time{font-size:10px;color:var(--text-muted)}.notes-popover-text{font-size:12px;color:var(--text);line-height:1.4}.notes-popover-actions{display:flex;gap:2px;margin-top:4px}.task-action-btn.danger{color:#ef4444}.task-action-btn.danger:hover{background:#ef444426}
