*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.5;color:#333;background:#f7f7f9;min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100vh}.header{background:#3b5998;padding:8px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #2d4373}.header-logo{color:#fff;font-weight:600;font-size:14px;text-decoration:none}.header-nav{color:#fffc;font-size:13px}.board-link-box{margin-left:auto;display:flex;align-items:center;gap:8px}.board-link-box span{color:#fffc;font-size:12px}.board-link-box input{background:#0003;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;width:250px;outline:none}.layout{flex:1;display:flex;overflow:hidden}.main{flex:1;padding:24px;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:column}.dashboard-layout{display:flex;justify-content:center;align-items:flex-start;gap:32px;height:100%;padding-top:40px}.dashboard-sidebar{width:350px;background:#fff;border:1px solid #c7ccd9;border-radius:3px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.dashboard-title{background:linear-gradient(to bottom,#f8f8fa,#eef0f4);border-bottom:1px solid #c7ccd9;padding:12px 16px;font-size:16px;font-weight:600;color:#333}.sidebar-empty{padding:24px;text-align:center;color:#74777d}.boards-list{display:flex;flex-direction:column;overflow-y:auto}.board-card{display:flex;align-items:center;justify-content:space-between;padding:5px 16px;border-bottom:1px solid #eef0f4;cursor:pointer;transition:background .2s}.board-card:hover{background:#f8f8fa}.board-card:last-child{border-bottom:none}.board-card-content{flex:1;display:flex;flex-direction:column;gap:4px;overflow:hidden}.board-card-title{font-weight:600;color:#3b5998;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-date{font-size:11px;color:#74777d}.edit-title-input{border:1px solid #3b5998;border-radius:3px;padding:2px 6px;font-size:14px;font-family:inherit;font-weight:600;color:#333;outline:none;background:#fff;width:95%}.home-screen{display:flex;flex-direction:column}.panel{background:#fff;border:1px solid #c7ccd9;border-radius:3px;box-shadow:0 1px 3px #00000014;min-width:400px}.panel-header{background:linear-gradient(to bottom,#f8f8fa,#eef0f4);border-bottom:1px solid #c7ccd9;padding:12px 16px;font-size:16px;font-weight:600;color:#333}.panel-body{padding:24px;text-align:center}.btn-primary{background:#3b5998;color:#fff;border:1px solid #2d4373;padding:8px 16px;font-size:13px;font-weight:600;border-radius:3px;cursor:pointer}.btn-primary:hover:not(:disabled){background:#2d4373}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.board-container{display:flex;flex-direction:column;height:100%}.board-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.board-header h2{font-size:18px;color:#333;font-weight:600;margin:0}.add-column-top{display:flex;align-items:center}.btn-add-column-top{background:#f8f8fa;border:1px dashed #c7ccd9;color:#555;padding:6px 12px;font-weight:600;cursor:pointer;border-radius:3px;font-size:13px}.btn-add-column-top:hover{background:#eef0f5;color:#3b5998;border-color:#3b5998}.btn-small{padding:5px 10px}.columns-container{display:flex;gap:16px;flex:1;overflow-x:auto;padding-bottom:16px}.column{flex:1;min-width:250px;background:#fff;border:1px solid #c7ccd9;border-radius:5px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column}.column-header{background:linear-gradient(to bottom,#f8f8fa,#eef0f4);border-bottom:1px solid #c7ccd9;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.column-header h3{font-size:13px;font-weight:600;color:#333}.card-count{background:#e8ecf5;color:#3b5998;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.card-list{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;background:#f7f7f9}.card{background:#fff;border:1px solid #c7ccd9;border-radius:3px;padding:10px;box-shadow:0 1px 2px #0000000d}.card-content{font-size:13px;line-height:1.5;color:#333;margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word;transition:filter .3s ease}.card-hidden .card-content{filter:blur(5px);-webkit-user-select:none;user-select:none}.card-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8e8e8;padding-top:8px}.btn-delete{background:transparent;border:none;color:#74777d;cursor:pointer;font-size:12px}.btn-delete:hover{text-decoration:underline;color:#c53030}.vote-controls{display:flex;align-items:center;gap:6px}.vote-count{font-weight:600;color:#3b5998;font-size:12px;background:#f5f7ff;padding:2px 6px;border-radius:3px;min-width:20px;text-align:center}.btn-vote{background:#fff;border:1px solid #c7ccd9;color:#555;border-radius:3px;padding:2px 6px;font-size:11px;cursor:pointer}.btn-vote:hover:not(:disabled){background:#f5f7ff;border-color:#3b5998;color:#3b5998}.btn-vote:disabled{opacity:.5;cursor:not-allowed}.btn-add-card{margin:10px;padding:6px;background:#f8f8fa;border:1px dashed #c7ccd9;color:#555;text-align:center;cursor:pointer;border-radius:3px}.btn-add-card:hover{background:#eef0f5;color:#3b5998;border-color:#3b5998}.add-card-form{margin:10px;display:flex;flex-direction:column;gap:8px}.add-card-form textarea{width:100%;padding:8px;border:1px solid #c7ccd9;border-radius:3px;font-family:inherit;font-size:13px;resize:vertical;min-height:60px;outline:none}.add-card-form textarea:focus{border-color:#3b5998;box-shadow:0 0 0 2px #3b599833}.form-actions{display:flex;justify-content:flex-end;gap:8px}.form-actions button{padding:4px 12px;font-size:12px;border-radius:3px;cursor:pointer;font-weight:600;border:none}.btn-save{background:#3b5998;color:#fff;border:1px solid #2d4373}.btn-save:hover{background:#2d4373}.btn-cancel{background:#f8f8fa;color:#333;border:1px solid #c7ccd9;padding:8px 16px;cursor:pointer}.btn-cancel:hover{background:#eef0f5}.loading-screen,.error-screen{padding:40px;text-align:center;color:#555}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;width:400px;max-width:90vw;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .2s ease-out forwards}@keyframes modalIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:16px 20px;background:#f8f8fa;border-bottom:1px solid #c7ccd9}.modal-header h3{margin:0;color:#333;font-size:16px}.modal-content{padding:20px;color:#555;font-size:14px;line-height:1.5}.modal-actions{padding:16px 20px;border-top:1px solid #eef0f4;display:flex;justify-content:flex-end;gap:12px;background:#fafafc}.btn-danger{background:#c53030;color:#fff;border:1px solid #9b2c2c;padding:8px 16px;font-size:13px;font-weight:600;border-radius:3px;cursor:pointer;margin:0}.btn-danger:hover{background:#9b2c2c}.grouping-mode-active{cursor:pointer;transition:all .2s ease;border:1px solid #a3d7b4}.grouping-mode-active:hover{border-color:#3b5998;transform:translateY(-2px);box-shadow:0 4px 12px #3b599826}.card-selected{border:2px solid #3b5998!important;background:#f0f4ff;position:relative}.selection-badge{position:absolute;top:-8px;right:-8px;background:#3b5998;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 4px #0003;z-index:10}.card-stacked{position:relative;border-bottom:2px solid #5c7cfa!important;box-shadow:0 1px 3px #0000001a,0 5px 0 -1px #fff,0 5px #c7ccd9,0 10px 0 -2px #fff,0 10px 0 -1px #c7ccd9!important;margin-bottom:16px!important}.stacked-badge{background:#5c7cfa;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:12px;display:inline-block;margin-top:8px;box-shadow:0 1px 3px #0003}button.active_grouping{animation:pulseGreen 2s infinite}@keyframes pulseGreen{0%{box-shadow:0 0 #1e7e3466}70%{box-shadow:0 0 0 6px #1e7e3400}to{box-shadow:0 0 #1e7e3400}}.column-configurator{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.configurator-row{display:flex;align-items:center;gap:12px;background:#f8f8fa;padding:8px 12px;border-radius:3px;border:1px solid #e8e8e8}.row-number{font-weight:600;color:#74777d;width:20px}.input-text,.input-select{padding:6px 10px;border:1px solid #c7ccd9;border-radius:3px;font-size:13px;color:#333;outline:none}.color-picker{-webkit-appearance:none;appearance:none;border:1px solid #c7ccd9;width:38px;height:34px;border-radius:4px;cursor:pointer;padding:2px;background:#fff}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:2px}.input-text{flex:1}.input-text:focus,.input-select:focus{border-color:#3b5998;box-shadow:0 0 0 2px #3b599833}.btn-icon{background:transparent;border:none;cursor:pointer;color:#74777d;font-size:14px;padding:4px;transition:transform .2s}.btn-icon:not(:disabled):hover{transform:scale(1.1)}.btn-icon.delete:hover{color:#c53030}.btn-icon.move:hover:not(:disabled){color:#3b5998}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.reactions-container{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.reaction-badge{display:inline-flex;align-items:center;gap:4px;background:#f0f0f4;border:1px solid #e1e3e8;border-radius:12px;padding:2px 6px;font-size:13px;color:#333;cursor:pointer;transition:all .2s ease}.reaction-badge:hover:not(:disabled){background:#e1e3e8}.reaction-badge.active{background:#e3f0fb;border-color:#3b5998;color:#3b5998}.reaction-badge:disabled{cursor:not-allowed;opacity:.8}.reaction-badge .count{font-weight:600;font-size:12px}.btn-add-reaction{background:#fff;border:1px dashed #c7ccd9;color:#74777d;opacity:.8}.btn-add-reaction:hover:not(:disabled){background:#f8f8fa;color:#333;opacity:1}.emoji-picker-popup{position:absolute;top:110%;right:0;background:#fff;border:1px solid #c7ccd9;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:8px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;z-index:1000}.emoji-btn{background:transparent;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:transform .1s,background .2s}.emoji-btn:hover{background:#f0f0f4;transform:scale(1.2)}.home-container{display:flex;justify-content:center;align-items:flex-start;padding-top:60px;width:100%}.home-panel{width:100%;max-width:600px}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#333;font-size:13px}.divider{border:0;height:1px;background:#c7ccd9;margin:24px 0}.actions-split{display:flex;gap:32px}.action-col{flex:1;display:flex;flex-direction:column}.action-col h3{font-size:14px;margin-bottom:16px;color:#3b5998;font-weight:600}.action-col-divider{display:flex;align-items:center;justify-content:center;position:relative;width:20px}.action-col-divider:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#c7ccd9}.action-col-divider span{background:#f8f8fa;padding:4px;font-size:11px;color:#74777d;position:relative;z-index:1;border:1px solid #c7ccd9;border-radius:50%}.room-layout{display:flex;flex-direction:column;height:100%;width:100%}.room-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.room-info{display:flex;align-items:center;gap:16px}.room-info h2{font-size:18px;font-weight:600;color:#333;margin:0}.room-id-badge{background:#e8ecf5;color:#3b5998;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.room-status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.room-status-badge.voting{background:#e6f4ea;color:#137333;border:1px solid #ceead6}.room-status-badge.revealed{background:#fce8e6;color:#c5221f;border:1px solid #fad2cf}.admin-controls{display:flex;align-items:center;gap:8px}.room-main{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:24px}.room-footer{padding:16px;background:#fff;border-top:1px solid #c7ccd9;box-shadow:0 -2px 10px #00000005;margin:auto -24px -24px}.poker-list-container{width:100%;height:100%;padding:24px;animation:modalIn .3s ease-out}.vote-result-box{display:flex;align-items:center;justify-content:center}.vote-badge{display:flex;align-items:center;justify-content:center;width:40px;height:56px;border-radius:4px;font-weight:700;font-size:16px;box-shadow:0 1px 3px #0000001a;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.vote-badge.waiting{background:#f8f8fa;border:1px dashed #c7ccd9;color:#74777d;box-shadow:none}.vote-badge.hidden{background:#f0f4ff;border:1px solid #3b5998;color:#3b5998}.vote-badge.revealed{background:#fff;border:1px solid #3b5998;color:#333;font-size:20px;box-shadow:0 4px 8px #3b599833}.avatar-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #c7ccd9;display:flex;align-items:center;justify-content:center;font-weight:600;color:#3b5998;margin:0}.deck-container{display:flex;justify-content:center;width:100%}.cards-row{display:flex;gap:12px;overflow-x:auto;padding:8px}.deck-card{flex-shrink:0;width:55px;height:80px;background:#fff;border:1px solid #c7ccd9;border-radius:4px;color:#333;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.deck-card:hover{transform:translateY(-4px);border-color:#3b5998;box-shadow:0 4px 8px #3b599833}.deck-card.selected{background:#f0f4ff;border:2px solid #3b5998;color:#3b5998;transform:translateY(-8px);box-shadow:0 6px 12px #3b59984d}
