:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{margin:0;min-height:100%;background-color:#1a1a2e}.App{min-height:100vh}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:8px;color:#fff;font-size:14px;cursor:pointer;animation:slideIn .3s ease;max-width:320px;box-shadow:0 4px 12px #0000004d}.toast-error{background-color:#dc3545}.toast-success{background-color:#28a745}.toast-info{background-color:#17a2b8}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.board{padding:20px;min-height:100vh;background-color:#1a1a2e}.board-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.board-header h1{margin:0;font-size:24px;color:#e2e8f0}.logout-button{margin-left:auto;padding:6px 14px;background-color:transparent;color:#94a3b8;border:1px solid #2d2d44;border-radius:6px;font-size:13px;cursor:pointer;transition:color .2s,border-color .2s}.logout-button:hover{color:#e2e8f0;border-color:#94a3b8}.board-header .mission-count{background-color:#2d2d44;padding:4px 12px;border-radius:12px;font-size:14px;color:#94a3b8}.back-button{background:none;border:1px solid #3d3d5c;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;color:#94a3b8;transition:all .2s}.back-button:hover{background-color:#2d2d44;color:#e2e8f0}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#94a3b8;padding:0;line-height:1}.close-button:hover{color:#e2e8f0}.breadcrumb{color:#94a3b8;font-size:14px}.board-container{background-color:#252540;border-radius:12px;padding:20px;overflow-x:auto;position:relative}.board-columns-bg{position:absolute;inset:0 20px;display:grid;pointer-events:none}.column-line{border-left:1px solid #3d3d5c}.column-line:first-child{border-left:none}.board-content{position:relative}.status-headers{display:grid;gap:0;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #3d3d5c}.status-header{padding:8px 12px;font-size:14px;font-weight:600;color:#e2e8f0;cursor:pointer;text-align:center}.status-header:hover{color:#60a5fa}.campaign-section{margin-bottom:20px}.campaign-header-row,.program-header-row{padding:10px 14px;border-radius:6px;margin-bottom:8px;cursor:pointer}.campaign-header-row{background-color:#1e3a5f;margin-bottom:12px}.campaign-header-row:hover{background-color:#254a75}.program-header-row{background-color:#4a3728}.program-header-row:hover{background-color:#5a4738}.campaign-row-header{font-size:15px;font-weight:600;color:#60a5fa}.program-row-header{font-size:15px;font-weight:600;color:#fbbf24}.direct-missions-row,.program-missions-row{display:grid;gap:0;margin-bottom:8px;align-items:start}.direct-missions-row{margin-bottom:12px}.status-cell{min-height:40px;padding:8px;display:flex;flex-direction:column;gap:8px}.mission-card{background-color:#2d2d44;border-radius:8px;padding:14px;cursor:grab;box-shadow:0 1px 3px #0000004d;transition:box-shadow .2s,transform .2s}.mission-card:hover{box-shadow:0 4px 12px #0006}.mission-card.dragging{opacity:.5;transform:rotate(3deg);cursor:grabbing}.mission-hierarchy{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.campaign-tag,.program-tag{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.campaign-tag{background-color:#1e3a5f;color:#60a5fa}.program-tag{background-color:#4a3728;color:#fbbf24}.campaign-tag.clickable,.program-tag.clickable{cursor:pointer;transition:opacity .2s}.campaign-tag.clickable:hover,.program-tag.clickable:hover{opacity:.7}.mission-title{margin:0 0 6px;font-size:14px;font-weight:600;color:#e2e8f0}.mission-description{margin:0;font-size:13px;color:#94a3b8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mission-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.mission-detail-modal{background-color:#252540;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #3d3d5c}.modal-header h2{margin:0;font-size:20px;color:#e2e8f0}.modal-content{padding:20px}.detail-section{margin-bottom:20px}.detail-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.detail-section p{margin:0;color:#e2e8f0;line-height:1.6}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item label{display:block;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.status-value{font-size:14px;color:#e2e8f0}.zoomed-header{background-color:#252540;border-radius:12px;padding:20px;margin-bottom:20px;text-align:center}.zoomed-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.zoomed-header-top>div{flex:1}.zoomed-header-top h1{margin:0;color:#e2e8f0}.zoomed-header-top .close-button{font-size:28px}.zoomed-header .breadcrumb{display:block;font-size:18px;color:#e2e8f0;margin-bottom:4px}.zoomed-header .mission-count{color:#e2e8f0}.zoomed-header .entity-meta{justify-content:center}.zoomed-header .form-actions{margin-top:16px;justify-content:center}.zoomed-description{color:#94a3b8;margin:0 0 12px;font-size:14px}.zoomed-content{padding:20px 0;text-align:left}.zoomed-content h2{margin:0 0 16px;font-size:18px;color:#e2e8f0}.item-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.program-card{background-color:#2d2d44;border-radius:8px;padding:16px;cursor:pointer;box-shadow:0 1px 3px #0000004d;transition:box-shadow .2s;display:flex;flex-direction:column;gap:8px}.program-card:hover{box-shadow:0 4px 12px #0006}.program-card h3{margin:0;font-size:16px;color:#e2e8f0}.program-card .mission-count{font-size:12px;color:#94a3b8}.program-card-header{display:flex;justify-content:space-between;align-items:center}.campaign-description,.program-description{font-size:14px;color:#94a3b8;margin:4px 0 0}.entity-meta{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}.status-badge{display:inline-block;padding:2px 8px;background-color:#3d3d5c;border-radius:4px;font-size:12px;color:#e2e8f0}.timestamp{font-size:12px;color:#64748b}.empty-message{color:#94a3b8;font-style:italic;grid-column:1 / -1}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:#94a3b8}.spinner{width:40px;height:40px;border:4px solid #3d3d5c;border-top:4px solid #60a5fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;padding:20px}.error-message h3{color:#ef4444;margin:0;font-size:20px}.error-message p{color:#94a3b8;margin:0;max-width:400px}.retry-button{background-color:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.no-data{display:flex;align-items:center;justify-content:center;min-height:400px;color:#94a3b8;font-size:18px}.updating-indicator{color:#60a5fa;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.board.updating{opacity:.7;pointer-events:none}.mission-card.updating{pointer-events:none;opacity:.6}.manage-dropdown{position:relative;margin-left:auto}.manage-button{display:flex;align-items:center;gap:8px;background-color:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.manage-button:hover{background-color:#2563eb}.dropdown-arrow{font-size:10px}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background-color:#2d2d44;border:1px solid #3d3d5c;border-radius:8px;min-width:160px;box-shadow:0 4px 12px #0000004d;z-index:100;overflow:hidden}.dropdown-section{border-bottom:1px solid #3d3d5c}.dropdown-section:last-child{border-bottom:none}.dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:none;border:none;color:#e2e8f0;font-size:14px;cursor:pointer;text-align:left;transition:background-color .2s}.dropdown-item:hover,.dropdown-item.expanded{background-color:#3d3d5c}.submenu-arrow{font-size:10px;color:#94a3b8}.submenu{background-color:#252540}.submenu-item{display:block;width:100%;padding:10px 14px 10px 28px;background:none;border:none;color:#94a3b8;font-size:13px;cursor:pointer;text-align:left;transition:all .2s}.submenu-item:hover{background-color:#3d3d5c;color:#e2e8f0}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container{background-color:#252540;border-radius:12px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#e2e8f0;margin-bottom:6px}.form-group input,.form-group textarea,.form-group select,.form-select{width:100%;padding:10px 12px;background-color:#1a1a2e;border:1px solid #3d3d5c;border-radius:6px;color:#e2e8f0;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-select:focus{outline:none;border-color:#3b82f6}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:#64748b}.form-group select,.form-select{cursor:pointer}.form-error{background-color:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:10px 14px;border-radius:6px;font-size:14px;margin-bottom:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-primary{background-color:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#2563eb}.btn-primary:disabled{background-color:#1e40af;cursor:not-allowed}.btn-secondary{background-color:transparent;color:#94a3b8;border:1px solid #3d3d5c;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#2d2d44;color:#e2e8f0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background-color:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background-color:#b91c1c}.btn-danger:disabled{background-color:#991b1b;cursor:not-allowed}.select-prompt{color:#94a3b8;margin:0 0 12px;font-size:14px}.status-list{display:flex;flex-direction:column;gap:8px}.status-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 14px;background-color:#1a1a2e;border:1px solid #3d3d5c;border-radius:6px;cursor:pointer;text-align:left;transition:all .2s}.status-list-item:hover{background-color:#2d2d44;border-color:#3b82f6}.status-list-item .status-title{font-size:14px;font-weight:500;color:#e2e8f0}.status-list-item .status-description{font-size:12px;color:#94a3b8}.delete-confirm{text-align:center}.delete-warning{font-size:16px;color:#e2e8f0;margin:0 0 8px}.delete-description{font-size:14px;color:#94a3b8;margin:0 0 16px}.delete-note{font-size:13px;color:#f87171;margin:0 0 20px}
