.app{height:100vh;display:flex;flex-direction:column;background-color:#f0f0f0;position:relative}.floating-properties-bar{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:200;background:#fff;border-radius:50px;padding:6px 20px;box-shadow:0 4px 20px #00000026;animation:slideDown .2s ease-out;max-width:calc(100vw - 200px);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.text-properties-bar{top:110px;z-index:199}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.floating-properties-bar .config-properties{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;white-space:nowrap;position:relative}.floating-properties-bar .property-overflow-menu{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:50px;padding:16px 32px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:row;align-items:center;gap:24px;z-index:201;white-space:nowrap;opacity:0;animation:fadeInDropdown .15s ease-out forwards;transform-origin:top right;will-change:opacity,transform}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.floating-properties-bar .overflow-menu-btn{padding:6px 12px;background:#fff;border-radius:4px;font-size:16px;justify-content:center;min-width:36px;color:#5f6368;font-weight:700}.floating-properties-bar .overflow-menu-btn:hover{background:#f8f9fa;border-color:#1a73e8}.floating-properties-bar .property-item{display:flex;align-items:center;gap:8px;font-size:13px}.floating-properties-bar .property-label{color:#5f6368;font-weight:500;min-width:60px}.floating-properties-bar .property-value{color:#3c4043;font-weight:400}.floating-properties-bar .color-preview{width:16px;height:16px;border:1px solid #dadce0;border-radius:2px}.floating-properties-bar .color-picker{margin:0}.floating-properties-bar .color-picker-label{display:none}.floating-properties-bar .color-swatch-wrapper{display:flex;align-items:center;gap:6px}.floating-properties-bar .color-swatch{width:28px!important;height:28px!important;border-radius:4px;cursor:pointer;border:2px solid #dadce0;transition:border-color .2s ease}.floating-properties-bar .color-swatch:hover{border-color:#1a73e8}.floating-properties-bar .color-value{font-size:11px;color:#5f6368;font-family:Monaco,Courier New,monospace}.floating-properties-bar .color-picker-popover{position:absolute;z-index:300;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.floating-properties-bar .property-actions{gap:8px;margin-left:auto;position:relative;flex-shrink:0;display:flex;align-items:center}.floating-properties-bar .config-btn{padding:6px 12px;background:#fff;border-radius:4px;font-size:13px}.floating-properties-bar .config-btn:hover{background:#f8f9fa;border-color:#1a73e8}.floating-properties-bar .config-btn-edit{color:#1a73e8}.floating-properties-bar .config-btn-duplicate{color:#137333}.floating-properties-bar .config-btn-duplicate:hover{background:#e6f4ea}.floating-properties-bar .config-btn-delete{color:#d93025}.floating-properties-bar .config-btn-delete:hover{background:#fce8e6}.main-content-wrapper{flex:1;display:flex;overflow:hidden}.field-container{flex:1;display:flex;justify-content:center;align-items:center;padding:10px;overflow:hidden;background-color:#f5f5f5;position:relative}.field-container .football-field{max-width:100%;max-height:100%}.page-navigator-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:16px;background:#fff;padding:6px 16px;border-radius:50px;box-shadow:0 2px 10px #0000001a;border:1px solid #e0e0e0;user-select:none}.page-nav-info{font-size:13px;font-weight:600;color:#5f6368;padding-right:12px;border-right:1px solid #eee}.page-nav-controls{display:flex;align-items:center;gap:8px}.nav-btn-action,.nav-btn,.config-btn,.overflow-menu-btn,.primary-button,.warning-button,.save-button,.cancel-button,.field-view-button,.secondary-button,.danger-button,.teams-button,.edit-button,.bottom-button-primary,.bottom-button-secondary,.bottom-button-danger{display:flex;align-items:center;gap:4px;background:#f8f9fa;border:1px solid #dadce0;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:#3c4043;cursor:pointer;transition:all .2s}.nav-btn{background:none;border-color:transparent;border-radius:4px;color:#1a73e8}.nav-btn:hover:not(:disabled){background:#f1f3f4;border-color:#1a73e8}.nav-btn:disabled{color:#dadce0;cursor:not-allowed}.nav-divider{width:1px;height:16px;background:#eee;margin:0 4px}.nav-btn-action:hover{background:#f1f3f4;border-color:#1a73e8;color:#1a73e8}.top-action-bar{display:flex;gap:12px;padding:16px 24px;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000f;align-items:center;position:relative}.button-group{display:flex;gap:8px;align-items:center}.field-view-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;background-color:#fff;font-size:14px}.color-input{width:40px;height:32px;border:1px solid #ddd;border-radius:6px;cursor:pointer;background:none;padding:0}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:4px}.primary-button{padding:12px 20px;background:#28a745;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;gap:8px}.primary-button:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.warning-button{padding:10px 16px;background:#dc3545;color:#fff;border:none;font-size:14px}.warning-button:hover{background:#c82333}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0;border-bottom:none}.modal-header h3{margin:0;font-size:20px;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button:hover{background:#f8f9fa;color:#000}.modal-content{padding:20px;flex:1;overflow-y:auto}.modal-actions{padding:20px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e0e0e0}.cancel-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px}.cancel-button:hover{background:#5a6268}.save-button{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px}.save-button:hover{background:#218838}.field-view-button{padding:12px 20px;border-color:#dee2e6;border-radius:12px;font-size:14px;font-weight:600;color:#495057;gap:8px}.field-view-button:hover{background:#e9ecef;border-color:#ced4da;transform:translateY(-1px)}.field-dropdown{position:relative}.dropdown-arrow{margin-left:4px;transition:transform .2s ease;font-size:12px}.dropdown-arrow.open{transform:rotate(180deg)}.field-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;min-width:220px;margin-top:4px;overflow:hidden}.field-dropdown-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;gap:12px;border-bottom:1px solid #f1f3f4}.field-dropdown-item:last-child{border-bottom:none}.field-dropdown-item:hover{background-color:#f8f9fa}.field-dropdown-item.selected{background-color:#e3f2fd;color:#1976d2}.field-dropdown-image{width:40px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.field-dropdown-image img{max-width:100%;max-height:100%;object-fit:contain}.field-dropdown-text{flex:1;font-size:14px;font-weight:500}.field-selected-check{color:#28a745;font-weight:700;font-size:16px}.secondary-button{padding:12px 20px;background:#28a745;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;gap:8px}.secondary-button:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.danger-button{padding:12px 20px;background:#dc3545;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;opacity:0;visibility:hidden;transform:scale(.95)}.danger-button:hover{background:#c82333;transform:translateY(-1px) scale(1);box-shadow:0 4px 12px #dc35454d}.danger-button.visible{opacity:1;visibility:visible;transform:scale(1)}.teams-button{padding:12px 20px;background:#ffc107;color:#212529;border:none;border-radius:12px;font-size:14px;font-weight:600;gap:8px}.teams-button:hover{background:#e0a800;transform:translateY(-1px);box-shadow:0 4px 12px #ffc1074d}.edit-button{padding:12px 20px;background:#17a2b8;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;opacity:0;visibility:hidden;transform:scale(.95)}.edit-button:hover{background:#138496;transform:translateY(-1px) scale(1);box-shadow:0 4px 12px #17a2b84d}.edit-button.visible{opacity:1;visibility:visible;transform:scale(1)}.action-buttons-container{display:flex;gap:8px;margin-left:auto}.bottom-button-primary{padding:12px 20px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;gap:8px}.bottom-button-primary:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.bottom-button-secondary{padding:12px 20px;border-color:#dee2e6;border-radius:8px;font-size:14px;font-weight:600;color:#495057;gap:8px}.bottom-button-secondary:hover{background:#e9ecef;border-color:#ced4da;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.bottom-button-danger{padding:12px 20px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;gap:8px}.bottom-button-danger:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.mobile-sidebar-toggle{display:none;position:absolute;top:10px;left:10px;z-index:300;padding:8px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 5px #0000001a;cursor:pointer;align-items:center;justify-content:center;color:#5f6368;transition:all .2s ease}.mobile-sidebar-toggle:hover{background:#f1f3f4;color:#1a73e8}.sidebar-wrapper{height:100%;z-index:101;position:relative}.sidebar-backdrop{display:none}@media (max-width: 768px){.mobile-sidebar-toggle{display:flex}.sidebar-wrapper{position:fixed;top:0;left:-100%;bottom:0;width:auto;min-width:250px;max-width:80vw;background:#fff;z-index:1000;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #00000026}.sidebar-wrapper.open{left:0}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:999;backdrop-filter:blur(2px);animation:fadeIn .3s ease-out}.floating-properties-bar{max-width:calc(100vw - 24px);top:60px;padding:6px 12px;overflow-x:auto;scrollbar-width:none}.floating-properties-bar::-webkit-scrollbar{display:none}.floating-properties-bar .property-label{display:none}.floating-properties-bar .config-properties{gap:12px}.page-navigator-bar{max-width:calc(100vw - 60px);padding:4px 10px;gap:8px}.page-nav-info{font-size:11px;padding-right:8px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-btn{padding:4px 6px;font-size:11px}}.football-field-container{width:100%;height:100%;min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#f0f0f0;position:relative;overflow:hidden}.football-field{border:2px solid #333;border-radius:8px;box-shadow:0 4px 8px #0003;cursor:crosshair;background-color:transparent;transition:border-color .3s,box-shadow .3s}.field-with-background{border:2px solid #333;border-radius:8px;box-shadow:0 4px 8px #0003;transition:border-color .3s,box-shadow .3s;overflow:hidden;min-width:400px;min-height:300px;max-width:100%;max-height:100%}.field-with-background:hover{box-shadow:0 6px 12px #0000004d}.field-with-background.drawing-mode{border-color:red;box-shadow:0 4px 8px #ff00004d}.field-with-background.drawing-mode:hover{box-shadow:0 6px 12px #f006}.football-field:hover{box-shadow:0 6px 12px #0000004d}.football-field.drawing-mode{border-color:red;box-shadow:0 4px 8px #ff00004d;cursor:crosshair}.football-field.drawing-mode:hover{box-shadow:0 6px 12px #f006}.football-field.scaling-mode{cursor:nw-resize}.football-field.rotating-mode{cursor:grab}.football-field.rotating-mode:active{cursor:grabbing}.context-menu{position:absolute;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 0;box-shadow:0 4px 16px #00000026;z-index:1000;min-width:160px;font-size:13px}.context-menu div{padding:8px 12px;cursor:pointer;transition:background-color .2s;white-space:nowrap}.context-menu div:hover{background-color:#f5f5f5}.football-field.scaling-mode{cursor:ns-resize}.football-field.rotating-mode{cursor:alias}.field-resizing-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000c;color:#fff;padding:12px 24px;border-radius:8px;z-index:1000;font-size:14px;font-weight:500;pointer-events:none;text-align:center}.field-resizing-indicator p{margin:0}.football-field.resizing-tl,.football-field.resizing-br{cursor:nwse-resize!important}.football-field.resizing-tr,.football-field.resizing-bl{cursor:nesw-resize!important}.transform-info-panel{position:fixed;top:54px;right:0;bottom:0;background:#fff;border-left:2px solid #e0e0e0;box-shadow:-4px 0 20px #00000026;z-index:900;transition:all .3s ease}.transform-info-panel.collapsed{width:48px}.transform-info-panel.expanded{width:320px}.transform-info-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;cursor:pointer;user-select:none;transition:background-color .2s ease;min-height:48px}.transform-info-header:hover{background:#e9ecef}.transform-info-title{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#333;white-space:nowrap}.transform-icon{font-size:18px;transition:transform .3s ease;display:inline-block}.transform-info-content{display:flex;flex-direction:column;height:calc(100% - 48px);overflow-y:auto;padding:16px}.transform-status{background:#1e1e1e;color:#d4d4d4;padding:16px;border-radius:8px;margin-bottom:16px}.transform-status-value{font-size:18px;font-weight:600;color:gold;margin:0 0 8px;font-family:Consolas,Monaco,Courier New,monospace}.transform-status-hint{margin:0;font-size:12px;color:#aaa}.transform-controls{background:#fff;border-radius:8px}.control-section-title{font-size:14px;font-weight:600;color:#495057;margin:16px 0 8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #1a73e8}.control-item{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px 12px;margin-bottom:4px;background:#f8f9fa;border-radius:6px;font-size:13px;transition:all .2s ease}.control-item:hover{background:#e9ecef;transform:translate(-2px)}.control-icon{font-size:16px;text-align:center}.control-label{color:#495057;font-weight:500}.control-value{color:#1a73e8;font-weight:600;text-align:right}.control-hint{margin-top:16px;padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:13px;text-align:center;font-weight:500}.transform-info-content::-webkit-scrollbar{width:8px}.transform-info-content::-webkit-scrollbar-track{background:#f0f0f0}.transform-info-content::-webkit-scrollbar-thumb{background:silver;border-radius:4px}.transform-info-content::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.transform-info-panel.collapsed .transform-info-title span:not(.transform-icon){display:none}.transform-info-panel.collapsed .transform-info-content{display:none}.transform-vertical-text{writing-mode:vertical-lr;text-orientation:mixed;display:flex;align-items:center;justify-content:center;width:45px;height:calc(100% - 48px);font-size:13px;font-weight:600;color:#5f6368;letter-spacing:3px;cursor:pointer;user-select:none;padding:20px 0;transition:all .2s ease;background:transparent;text-transform:uppercase}.transform-vertical-text:focus{outline:2px solid #1a73e8;outline-offset:-4px;background:linear-gradient(180deg,#f8f9fa,#e9ecef,#f8f9fa);color:#1a73e8}.configuration-panel{background:#fff;border-right:1px solid #e0e0e0;padding:16px 6px;box-shadow:1px 0 3px #0000001a;min-width:56px;display:flex;flex-direction:column;overflow:visible;position:relative;z-index:101;height:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.configuration-panel:has(.config-section){width:50px;padding:0;z-index:101}.config-section{width:50px;min-width:50px;max-width:50px;display:flex;flex-direction:column;gap:8px;flex-wrap:nowrap;align-items:flex-start;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;bottom:0;background:#fff;padding:16px 8px;height:100%}.config-header{display:flex;align-items:center;justify-content:space-between}.config-title{margin:0;font-size:16px;font-weight:600;color:#3c4043}.config-actions{display:flex;gap:8px}.config-btn{padding:6px 12px;background:#fff;border-radius:4px;font-size:13px}.config-btn:hover{background:#f8f9fa;border-color:#1a73e8}.config-btn-edit{color:#1a73e8}.config-btn-duplicate{color:#137333}.config-btn-duplicate:hover{background:#e6f4ea}.config-btn-delete{color:#d93025}.config-btn-delete:hover{background:#fce8e6}.config-properties{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.property-item{display:flex;align-items:center;gap:8px;font-size:13px}.property-label{color:#5f6368;font-weight:500;min-width:60px}.property-value{color:#3c4043;font-weight:400}.color-preview{width:16px;height:16px;border:1px solid #dadce0;border-radius:2px}.property-actions{gap:8px;margin-left:auto}.preset-category{width:100%;flex-shrink:0}.preset-category-title{margin:0 0 8px;font-size:14px;font-weight:600;color:#5f6368}.preset-buttons{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;width:100%}.preset-btn{justify-content:flex-start;white-space:normal;min-height:36px;width:100%;touch-action:manipulation;font-size:11px}.config-section .preset-btn{transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),background-color .2s,border-color .2s,color .2s}.preset-btn-more{color:#5f6368}.preset-btn-more:hover{background:#e8f0fe;color:#1a73e8}.preset-toggle-btn{padding:6px 8px;flex-direction:column;justify-content:center;min-height:auto;flex-shrink:0;width:auto}.preset-toggle-text{font-size:10px;color:#5f6368;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed}.preset-toggle-btn:hover{background:#e8f0fe;border-color:#1a73e8}.preset-toggle-icon{font-size:12px;color:#5f6368;transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block;will-change:transform}.preset-toggle-icon.expanded{transform:rotate(0)}.config-section .preset-category{width:100%;flex-shrink:0;margin:0}.config-section .preset-buttons{flex-wrap:nowrap;flex-direction:column;gap:6px;align-items:flex-start}.config-section .preset-btn{padding:6px;width:36px;min-width:36px;min-height:36px;justify-content:flex-start;overflow:hidden;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}.config-section .preset-btn:hover{width:auto;padding:6px 12px}.config-section .preset-btn-text{opacity:0;width:0;overflow:hidden;white-space:nowrap;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.config-section .preset-btn:hover .preset-btn-text{opacity:1;width:auto;margin-left:4px}.config-section .preset-btn img{margin-right:0;flex-shrink:0}@media (max-width: 1024px) and (min-width: 769px){.preset-category{min-width:180px;flex-shrink:0}.preset-buttons{flex-wrap:wrap}}@media (max-width: 768px){.configuration-panel{padding:8px 12px;min-height:auto}.configuration-panel:has(.config-section){padding:0}.config-header{flex-direction:column;align-items:flex-start;gap:8px}.config-properties{gap:16px}.config-section{position:relative;flex-direction:column;flex-wrap:wrap;gap:16px;left:0;right:0}.config-section .preset-category{min-width:100%;width:100%}.config-section .preset-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px}.config-section .preset-btn{padding:10px 14px;min-height:44px;justify-content:flex-start}.config-section .preset-btn-text{display:inline;opacity:1;width:auto}.config-section .preset-btn img{margin-right:4px}.preset-category{min-width:100%;width:100%}.preset-buttons{justify-content:flex-start;flex-wrap:wrap;gap:8px}.preset-btn{min-height:44px;padding:10px 14px;font-size:12px}.preset-toggle-btn{display:none}}@media (max-width: 480px){.configuration-panel{padding:8px 10px}.config-actions{flex-direction:column;width:100%}.config-btn{justify-content:center;min-height:44px}.config-section{gap:12px}.preset-btn{font-size:11px;padding:10px 12px;min-height:44px;flex:1 1 auto;min-width:calc(50% - 4px);max-width:calc(50% - 4px);white-space:normal;line-height:1.3;text-align:center;word-break:break-word}.preset-btn img{width:18px;height:18px;flex-shrink:0}}@media (max-width: 360px){.preset-btn{font-size:10px;padding:8px 10px;min-width:100%;max-width:100%;white-space:normal;line-height:1.4}.preset-btn img{width:16px;height:16px;flex-shrink:0}}@media (max-width: 768px) and (orientation: landscape){.config-section{flex-direction:row;flex-wrap:nowrap;gap:16px}.preset-category{min-width:160px;width:auto;flex-shrink:0}.preset-buttons{flex-wrap:wrap;gap:6px}.preset-btn{min-width:auto;max-width:none;flex:0 1 auto}}.ai-menu-container{position:relative;display:flex;align-items:center;margin-left:12px}.ai-gemini-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;border-radius:20px;border:none;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:linear-gradient(90deg,#4285f4,#9b72cb,#d96570,#9b72cb,#4285f4);background-size:300% 100%;animation:gemini-pulse 30s linear infinite}.ai-gemini-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #9b72cb66;animation:gemini-pulse 2s linear infinite}.ai-gemini-btn:active{transform:translateY(0)}.ai-icon{margin-right:2px}@keyframes gemini-pulse{0%{background-position:0% 50%}6.66%{background-position:100% 50%}to{background-position:100% 50%}}.ai-dropdown{position:absolute;top:120%;left:0;min-width:200px;background-color:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:8px;z-index:1000;border:1px solid rgba(0,0,0,.05);animation:fadeIn .2s ease-out}.ai-dropdown-header{padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;font-weight:600;border-bottom:1px solid #F3F4F6;margin-bottom:4px}.ai-menu-item{display:block;width:100%;text-align:left;padding:10px 12px;background:none;border:none;border-radius:8px;font-size:14px;color:#374151;cursor:pointer;transition:background-color .15s}.ai-menu-item:hover{background-color:#f3f4f6;color:#111827}.ai-menu-item.disabled{color:#9ca3af;cursor:not-allowed;font-style:italic}.ai-menu-item.disabled:hover{background-color:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-chat-overlay{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.ai-chat-modal{width:500px;max-width:90vw;height:600px;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.ai-chat-header{padding:16px 20px;background:linear-gradient(90deg,#f9fafb,#f3f4f6);border-bottom:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center}.ai-chat-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#111827;font-size:16px}.ai-chat-close{background:none;border:none;font-size:24px;color:#6b7280;padding:4px;border-radius:4px;line-height:1}.ai-chat-close:hover{background-color:#e5e7eb;color:#374151}.ai-chat-content{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background-color:#f8fafc}.ai-message{max-width:80%;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5}.ai-message-user{align-self:flex-end;background-color:#eef2ff;color:#1e1b4b;border-bottom-right-radius:4px;border:1px solid #C7D2FE}.ai-message-assistant{align-self:flex-start;background-color:#fff;color:#374151;border-bottom-left-radius:4px;border:1px solid #E5E7EB;box-shadow:0 2px 4px #00000005}.ai-input-area{padding:16px;background:#fff;border-top:1px solid #E5E7EB;display:flex;gap:10px}.ai-input-field{flex:1;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-family:inherit;font-size:14px;resize:none;height:44px;outline:none;transition:border-color .2s}.ai-input-field:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.ai-send-button{justify-content:center;padding:0 20px;border-radius:8px;border:none;background:linear-gradient(90deg,#4285f4,#9b72cb,#d96570);background-size:200% 100%;color:#fff;font-weight:600}.ai-send-button:hover:not(:disabled){background-position:100% 0;transform:translateY(-1px)}.ai-send-button:disabled{opacity:.6;cursor:not-allowed;background:#9ca3af}.ai-thinking{display:flex;gap:4px;padding:8px 12px;align-self:flex-start;background:#fff;border-radius:12px 12px 12px 4px;border:1px solid #E5E7EB}.ai-dot{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.ai-dot:nth-child(1){animation-delay:-.32s}.ai-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.quota-warning{font-size:11px;color:#dc2626;margin-top:4px;text-align:center}.ai-action-buttons{display:flex;flex-direction:column;gap:8px;margin-top:12px;width:100%}.ai-action-btn{padding:8px 16px;border-radius:8px;font-size:13px;width:100%;text-align:center;border:1px solid transparent}.ai-action-btn.primary{background-color:#4f46e5;color:#fff}.ai-action-btn.primary:hover{background-color:#4338ca}.ai-action-btn.secondary{background-color:#fff;color:#4f46e5;border:1px solid #E0E7FF}.ai-action-btn.secondary:hover{background-color:#eef2ff;border-color:#c7d2fe}.ai-upload-overlay{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.ai-upload-modal{width:500px;max-width:90vw;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.ai-upload-header{padding:16px 20px;background:linear-gradient(90deg,#f9fafb,#f3f4f6);border-bottom:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center}.ai-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#111827;font-size:16px}.ai-close-btn{background:none;border:none;font-size:24px;color:#6b7280;padding:4px;border-radius:4px;cursor:pointer}.ai-close-btn:hover{background-color:#e5e7eb}.ai-upload-content{padding:24px;display:flex;flex-direction:column;gap:16px}.upload-zone{border:2px dashed #E5E7EB;border-radius:12px;height:300px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s;background-color:#f9fafb;position:relative;overflow:hidden}.upload-zone:hover{border-color:#818cf8;background-color:#f5f3ff}.upload-zone.has-file{border-style:solid;padding:0;background-color:#000}.upload-zone.error-border{border-color:#ef4444;background-color:#fef2f2}.upload-placeholder{text-align:center;pointer-events:none}.upload-icon-circle{width:64px;height:64px;background-color:#eef2ff;border-radius:50%;border:1px solid #C7D2FE;display:flex;justify-content:center;align-items:center;margin:0 auto 16px}.upload-text-primary{font-size:16px;font-weight:500;color:#374151;margin-bottom:4px}.upload-text-secondary{font-size:13px;color:#9ca3af}.preview-container{width:100%;height:100%;position:relative;display:flex;justify-content:center;align-items:center}.upload-preview{max-width:100%;max-height:100%;object-fit:contain}.remove-file-btn{position:absolute;top:10px;right:10px;background:#0009;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s}.remove-file-btn:hover{background:#dc2626e6}.analysis-container{display:flex;flex-direction:column;align-items:center;height:320px;gap:16px;overflow-y:auto}.analysis-preview-img{height:120px;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a}.analyzing-status{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px;color:#4f46e5;font-weight:500}.review-status{width:100%;background-color:#f0fdf4;border:1px solid #BBF7D0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.success-badge{display:flex;align-items:center;gap:8px;color:#166534;font-weight:600;font-size:16px}.analysis-summary ul{list-style:none;padding:0;margin:8px 0 0;display:flex;gap:16px}.analysis-summary li{font-size:14px;color:#374151;background:#fff;padding:4px 10px;border-radius:16px;border:1px solid #DCFCE7}.warning-box{margin-top:8px;background-color:#fffbeb;border:1px solid #FEF3C7;padding:10px;border-radius:8px;display:flex;gap:8px;color:#b45309;font-size:13px}.error-message{background-color:#fef2f2;border:1px solid #FECACA;color:#dc2626;padding:12px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:14px}.ai-upload-footer{padding:16px 24px;border-top:1px solid #E5E7EB;background-color:#f9fafb;display:flex;justify-content:flex-end}.footer-actions{display:flex;width:100%;justify-content:space-between;align-items:center}.footer-actions.right{justify-content:flex-end;gap:12px}.action-group{display:flex;gap:12px}.btn-primary{background:linear-gradient(90deg,#4285f4,#9b72cb);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .1s}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:active{transform:translateY(1px)}.btn-primary-outline{background:#fff;color:#4f46e5;border:1px solid #C7D2FE;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.btn-primary-outline:hover{background-color:#eef2ff}.btn-secondary{background:transparent;color:#6b7280;border:1px solid #E5E7EB;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary:hover{background-color:#f3f4f6;color:#374151}.left-sheet-overlay{position:fixed;inset:0;background-color:#0006;z-index:1000;backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.left-sheet-content{position:fixed;top:0;left:0;bottom:0;width:480px;max-width:90vw;background:#fff;box-shadow:4px 0 20px #00000026;display:flex;flex-direction:column;animation:slideInLeft .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.left-sheet-content.wide{width:600px;max-width:95vw}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.left-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #f0f0f0;background-color:#fafafa;flex-shrink:0}.left-sheet-title{margin:0;font-size:24px;font-weight:600;color:#2d3748;letter-spacing:-.5px}.left-sheet-close-button{background:#f7f7f7;border:1px solid #e2e8f0;border-radius:12px;padding:8px 16px;cursor:pointer;color:#4a5568;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s ease}.left-sheet-close-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.left-sheet-body{padding:24px;overflow-y:auto;flex:1}.left-sheet-search-container{position:relative;margin-bottom:24px}.left-sheet-search-input{width:100%;padding:12px 16px 12px 40px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;background-color:#f7fafc;transition:all .2s ease;outline:none}.left-sheet-search-input:focus{border-color:#4299e1;background-color:#fff;box-shadow:0 0 0 3px #4299e11a}.left-sheet-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#a0aec0;font-size:16px}.left-sheet-category-section{margin-bottom:32px}.left-sheet-category-title{font-size:16px;font-weight:600;color:#4a5568;margin-bottom:12px;letter-spacing:-.3px}.left-sheet-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.left-sheet-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.left-sheet-grid-1{display:grid;grid-template-columns:1fr;gap:12px}.left-sheet-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px;min-height:60px;text-align:left}.left-sheet-card:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.left-sheet-card.selected{background:#e6fffa;border-color:#48bb78}.left-sheet-card-icon{font-size:20px;width:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.left-sheet-card-title{font-size:14px;font-weight:600;color:#2d3748;margin:0}.left-sheet-field-option{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px;position:relative}.left-sheet-field-option:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.left-sheet-field-option.selected{background:#e6fffa;border-color:#48bb78}.left-sheet-field-image-container{width:60px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;border-radius:8px;padding:4px}.left-sheet-field-image{max-width:100%;max-height:100%;object-fit:contain}.left-sheet-field-info{flex:1}.left-sheet-field-name{font-size:15px;font-weight:600;color:#2d3748;margin:0 0 4px}.left-sheet-field-description{font-size:12px;color:#718096;margin:0}.left-sheet-selected-indicator{position:absolute;top:8px;right:8px;background:#48bb78;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.left-sheet-team-card{border:2px solid #e2e8f0;border-radius:12px;padding:16px;background:#f8fafc;margin-bottom:12px;position:relative;transition:all .2s ease}.left-sheet-team-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000014}.left-sheet-team-remove-button{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:#dc3545;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;transition:all .2s ease;opacity:.8}.left-sheet-team-remove-button:hover{opacity:1;background:#c82333;transform:scale(1.1)}.left-sheet-team-name-input{width:100%;padding:10px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;font-weight:600;background:#fff;transition:border-color .2s ease;margin-bottom:12px}.left-sheet-team-name-input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.left-sheet-team-config-section{margin-bottom:12px}.left-sheet-team-config-section label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#4a5568}.left-sheet-checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:500;margin-bottom:0;color:#2d3748}.left-sheet-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4299e1}.left-sheet-player-quantity-controls{display:flex;align-items:center;gap:12px}.left-sheet-quantity-button{width:36px;height:36px;border:2px solid #e2e8f0;background:#fff;color:#4a5568;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.left-sheet-quantity-button:hover:not(:disabled){border-color:#4299e1;background-color:#f7fafc;transform:translateY(-1px)}.left-sheet-quantity-button:disabled{border-color:#edf2f7;color:#a0aec0;cursor:not-allowed;background-color:#f7fafc}.left-sheet-quantity-button.minus{color:#dc3545}.left-sheet-quantity-button.minus:hover:not(:disabled){background:#dc3545;border-color:#dc3545;color:#fff}.left-sheet-quantity-button.plus{color:#28a745}.left-sheet-quantity-button.plus:hover:not(:disabled){background:#28a745;border-color:#28a745;color:#fff}.left-sheet-player-count{font-size:16px;font-weight:600;min-width:24px;text-align:center;color:#2d3748}.left-sheet-add-team-card{border:2px dashed #28a745;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f1f8f4;transition:all .2s ease;cursor:pointer;padding:24px;margin-bottom:12px}.left-sheet-add-team-card:hover{background:#e6f4ea;border-color:#20c997}.left-sheet-add-team-button{display:flex;flex-direction:column;align-items:center;gap:8px;border:none;background:none;color:#28a745;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.left-sheet-add-team-button:hover{color:#20c997;transform:scale(1.05)}.left-sheet-add-icon{font-size:32px;font-weight:700;line-height:1}.left-sheet-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;flex-shrink:0}.left-sheet-secondary-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.left-sheet-secondary-button:hover{background:#5a6268;transform:translateY(-1px)}.left-sheet-primary-button{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.left-sheet-primary-button:hover{background:#218838;transform:translateY(-1px)}@media (max-width: 768px){.left-sheet-content{width:90vw}.left-sheet-grid-2,.left-sheet-grid-3{grid-template-columns:1fr}}.pages-grid{display:flex;flex-direction:column;gap:16px}.page-thumbnail-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;user-select:none;touch-action:none}.page-thumbnail-item:hover{background:#f1f3f4;border-color:#dadce0}.page-thumbnail-item.active{background:#e8f0fe;border-color:#1a73e8}.thumbnail-handle{color:#9aa0a6;cursor:grab;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:background .2s}.thumbnail-handle:hover{background:#e8eaed;color:#5f6368}.page-thumbnail-item:active .thumbnail-handle{cursor:grabbing}.thumbnail-preview{width:80px;height:60px;background:#fff;border:1px solid #dadce0;border-radius:4px;position:relative;overflow:hidden}.page-index-badge{position:absolute;top:4px;left:4px;background:#0009;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;z-index:2}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e6f4ea}.placeholder-content{font-size:9px;color:#1e8e3e;text-align:center}.thumbnail-info{flex:1;display:flex;flex-direction:column;gap:4px}.page-name{font-size:14px;font-weight:500;color:#3c4043}.page-item-actions{display:flex;gap:8px}.item-action-btn{background:none;border:none;cursor:pointer;color:#5f6368;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.item-action-btn:hover{background:#dadce0;color:#202124}.item-action-btn.delete:hover{background:#fce8e6;color:#d93025}.add-page-thumbnail-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;border:2px dashed #dadce0;border-radius:10px;background:none;color:#5f6368;cursor:pointer;transition:all .2s}.add-page-thumbnail-btn:hover{background:#f8f9fa;border-color:#1a73e8;color:#1a73e8}.right-sheet-overlay{position:fixed;inset:0;background-color:#0006;z-index:1000;backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.right-sheet-content{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.right-sheet-content.wide{width:600px;max-width:95vw}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.right-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #f0f0f0;background-color:#fafafa;flex-shrink:0}.right-sheet-title{margin:0;font-size:24px;font-weight:600;color:#2d3748;letter-spacing:-.5px}.right-sheet-close-button{background:#f7f7f7;border:1px solid #e2e8f0;border-radius:12px;padding:8px 16px;cursor:pointer;color:#4a5568;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s ease}.right-sheet-close-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.right-sheet-body{padding:24px;overflow-y:auto;flex:1}.right-sheet-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;flex-shrink:0}.right-sheet-secondary-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.right-sheet-secondary-button:hover{background:#5a6268;transform:translateY(-1px)}.right-sheet-primary-button{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.right-sheet-primary-button:hover{background:#218838;transform:translateY(-1px)}@media (max-width: 768px){.right-sheet-content{width:90vw}}.rte-container{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;height:100%;background:#fff}.rte-toolbar{display:flex;align-items:center;gap:4px;padding:8px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.rte-toolbar button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;background:transparent;border-radius:6px;color:#4a5568;cursor:pointer;transition:all .2s}.rte-toolbar button:hover{background-color:#edf2f7;color:#2d3748}.rte-toolbar button.is-active{background-color:#e2e8f0;color:#2b6cb0;font-weight:700}.rte-toolbar button:disabled{opacity:.5;cursor:not-allowed}.rte-divider{width:1px;height:20px;background-color:#cbd5e0;margin:0 4px}.rte-editor-wrapper{padding:16px;flex:1;overflow-y:auto;cursor:text}.rte-content{min-height:150px;outline:none}.rte-content p{margin-bottom:.5em}.rte-content h1{font-size:1.5em;font-weight:700;margin-bottom:.5em;margin-top:.5em}.rte-content h2{font-size:1.25em;font-weight:700;margin-bottom:.5em;margin-top:.5em}.rte-content ul,.rte-content ol{padding-left:1.5em;margin-bottom:.5em}.rte-content ul{list-style-type:disc}.rte-content ol{list-style-type:decimal}.rte-content strong{font-weight:700}.rte-content em{font-style:italic}.rte-content s{text-decoration:line-through}.rte-content u{text-decoration:underline}.exercise-title-container{padding:8px 16px;border-bottom:1px solid #dadce0;background:#fff;box-shadow:0 1px 3px #3c40434d;position:sticky;top:0;z-index:102}.exercise-title-wrapper{display:flex;align-items:center;gap:8px;min-height:32px}.toolbar-section{display:flex;align-items:center;gap:4px;margin-right:12px}.exercise-title{margin:0 auto 0 0;font-size:16px;font-weight:600;color:#24292f;cursor:pointer;transition:color .15s ease;flex:0 0 auto;min-height:20px;display:flex;align-items:center}.exercise-title:hover{color:#0969da}.exercise-title.placeholder{color:#656d76;font-style:italic;font-weight:400}.exercise-title.placeholder:hover{color:#24292f}.exercise-title-input{flex:0 0 auto;font-size:16px;font-weight:600;padding:2px 6px;border:2px solid #0969da;border-radius:4px;background:#fff;color:#24292f;outline:none;height:20px;min-width:300px;margin-right:auto}.exercise-title-input::placeholder{color:#656d76;font-style:italic;font-weight:400}.unsaved-indicator{color:#d1242f;font-size:12px;font-weight:700;animation:pulse 2s infinite;margin-left:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.exercise-subtitle{min-height:16px;display:flex;align-items:center}.auto-save-info{font-size:12px;color:#656d76;font-style:italic;margin-right:8px}.auth-button{padding:4px 12px;font-size:12px;font-weight:500;border-radius:4px;border:1px solid #d1d5da;background:#fff;color:#24292f;cursor:pointer;transition:all .15s ease;white-space:nowrap}.auth-button:hover{background:#f6f8fa;border-color:#1f2328}.auth-button:active{background:#edeff2}.logout-button{color:#d1242f;border-color:#d1242f}.logout-button:hover{background:#fff1f3}.toolbar-dropdown{position:relative;display:inline-block}.toolbar-dropdown-trigger{background:transparent;border-color:transparent;padding:6px 10px;font-size:14px;white-space:nowrap;min-height:32px}.toolbar-dropdown-trigger:hover{background:#f1f3f4;border-color:#dadce0}.toolbar-dropdown-trigger.active{background:#e8f0fe;border-color:#1a73e8;color:#1a73e8}.dropdown-arrow{font-size:10px;transition:transform .2s ease}.toolbar-dropdown-trigger.active .dropdown-arrow{transform:rotate(180deg)}.toolbar-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dadce0;border-radius:8px;box-shadow:0 2px 10px #0003;min-width:200px;z-index:1000;padding:8px 0;margin-top:4px}.dropdown-item{display:flex;align-items:center;padding:8px 16px;font-size:14px;color:#3c4043;cursor:pointer;transition:background-color .2s ease;gap:12px}.dropdown-item:hover{background:#f1f3f4}.dropdown-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.dropdown-divider{height:1px;background:#e8eaed;margin:8px 0}.field-option-item{min-height:48px;padding:8px 16px}.field-option-item.selected{background:#e3f2fd;color:#1976d2}.field-option-image{width:32px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #e0e0e0;border-radius:4px;background:#f5f5f5}.field-option-image img{max-width:100%;max-height:100%;object-fit:contain}.field-selected-check{color:#28a745;font-weight:700;font-size:14px;margin-left:auto}@media (max-width: 768px){.toolbar-section{gap:2px}.toolbar-dropdown-trigger{padding:6px 8px;font-size:13px}.toolbar-dropdown-menu{min-width:180px}}@media (max-width: 480px){.toolbar-dropdown-trigger span:first-child{display:none}.toolbar-dropdown-trigger{padding:8px;min-width:32px;justify-content:center}.dropdown-arrow{display:none}}.color-picker{display:flex;flex-direction:column;gap:8px;position:relative}.color-picker-label{font-size:14px;font-weight:500;color:#333}.color-picker-controls{display:flex;flex-direction:column;gap:8px;position:relative}.color-swatch-wrapper{display:flex;align-items:center;gap:10px}.color-swatch{width:40px;height:40px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;background-image:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px}.color-swatch:hover{transform:scale(1.05);box-shadow:0 4px 8px #00000026;border-color:#999}.color-swatch:active{transform:scale(.98)}.color-value{font-family:Courier New,monospace;font-size:13px;color:#555;background:#f5f5f5;padding:6px 10px;border-radius:4px;border:1px solid #e0e0e0;min-width:140px}.color-picker-popover{position:absolute;top:50px;left:0;z-index:10000;box-shadow:0 6px 20px #00000026;border-radius:4px;background:#fff}.modern-color-section .color-picker{width:100%}.modern-color-row .color-picker{flex:1}.modern-color-row .color-picker .color-picker-label{display:none}.modern-color-row .color-picker .color-picker-controls{flex-direction:row;align-items:center}@media (max-width: 768px){.color-picker-popover{left:auto;right:0}}.shape-modal{min-width:400px;max-width:500px}.config-section label{display:block;margin-bottom:8px;font-weight:700;color:#333}.shape-selector{display:flex;align-items:center;gap:10px}.shape-selector select{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.shape-name{color:#666;font-size:14px;font-weight:400}.color-input-group{display:flex;gap:8px;align-items:center;margin-top:8px}.color-input-group input[type=color]{width:40px;height:40px;border:none;border-radius:4px;cursor:pointer}.color-input-group input[type=text]{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-family:monospace}.config-section select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-top:8px}.thickness-control{display:flex;align-items:center;gap:10px;margin-top:8px}.thickness-control input[type=range]{flex:1}.thickness-control span{min-width:40px;font-weight:700;color:#666}.config-section input[type=checkbox]{margin-right:8px}.preview-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.shape-preview{display:flex;justify-content:center;align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;padding:20px;margin-top:10px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid #eee}.button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s}.button.primary{background-color:#007bff;color:#fff}.button.primary:hover{background-color:#0056b3}.button.secondary{background-color:#6c757d;color:#fff}.button.secondary:hover{background-color:#545b62}.close-button{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#000}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #eee;margin-bottom:20px}.modal-header h3{margin:0;font-size:18px;color:#333}.modern-modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(2px)}.modern-modal-content{background:#fff;border-radius:24px;padding:0;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #00000026;border:1px solid rgba(0,0,0,.08)}.modern-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #f0f0f0;background-color:#fafafa}.modern-modal-title{margin:0;font-size:24px;font-weight:600;color:#2d3748;letter-spacing:-.5px}.modern-close-button{background:#f7f7f7;border-color:#e2e8f0;border-radius:12px;padding:8px 16px;color:#4a5568;font-size:14px;gap:8px}.modern-close-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.modern-modal-body{padding:32px;overflow-y:auto;max-height:calc(85vh - 140px)}.modern-search-container{position:relative;margin-bottom:32px}.modern-search-input{width:100%;padding:16px 20px 16px 48px;border:2px solid #e2e8f0;border-radius:16px;font-size:16px;background-color:#f7fafc;transition:all .2s ease;outline:none}.modern-search-input:focus{border-color:#4299e1;background-color:#fff;box-shadow:0 0 0 3px #4299e11a}.modern-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#a0aec0;font-size:18px}.modern-category-section{margin-bottom:40px}.modern-category-title{font-size:18px;font-weight:600;color:#4a5568;margin-bottom:16px;letter-spacing:-.3px}.modern-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.modern-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.modern-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.modern-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:12px;min-height:68px}.modern-card:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.modern-card.selected{background:#e6fffa;border-color:#48bb78}.modern-card-icon{font-size:20px;width:24px;display:flex;align-items:center;justify-content:center}.modern-card-title{font-size:16px;font-weight:600;color:#2d3748;margin:0}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.field-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;padding:24px;cursor:pointer;transition:all .2s ease;text-align:center;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative}.field-card.selected{background:#e6fffa;border-color:#48bb78}.field-card:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.field-card-icon{font-size:32px}.field-card-title{font-size:16px;font-weight:600;color:#2d3748;margin:0}.modern-color-section{background:#f7fafc;border:2px solid #e2e8f0;border-radius:16px;padding:20px;margin-bottom:24px}.modern-color-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}.modern-color-row:last-child{margin-bottom:0}.modern-color-label{font-size:14px;font-weight:600;color:#4a5568;min-width:100px}.modern-color-input{width:48px;height:48px;border:none;border-radius:12px;cursor:pointer;background:none;padding:0;transition:all .2s ease}.modern-color-input::-webkit-color-swatch-wrapper{padding:0;border-radius:10px}.modern-color-input::-webkit-color-swatch{border:none;border-radius:10px}.modern-range-container{flex:1;display:flex;align-items:center;gap:12px}.modern-range-input{flex:1;height:8px;border-radius:4px;background:#e2e8f0;outline:none;-webkit-appearance:none}.modern-range-input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#4299e1;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.modern-range-value{font-weight:600;color:#4a5568;min-width:40px;text-align:right}@media (max-width: 768px){.modern-modal-content{width:95%;margin:20px}.modern-modal-header{padding:20px 24px}.modern-modal-body{padding:24px}.modern-grid-3{grid-template-columns:repeat(2,1fr)}.field-grid{grid-template-columns:1fr}}@media (max-width: 480px){.modern-grid-2,.modern-grid-3{grid-template-columns:1fr}}.save-exercise-modal{background:#fff;border-radius:8px;width:500px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:#333}.name-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.name-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.tag-input-container{display:flex;gap:8px;margin-bottom:10px}.tag-input{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.tag-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.add-tag-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.add-tag-button:hover{background:#0056b3}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag{display:inline-flex;align-items:center;gap:6px;background:#e9ecef;padding:6px 12px;border-radius:16px;font-size:14px;color:#495057}.remove-tag{background:none;border:none;color:#6c757d;cursor:pointer;font-size:16px;font-weight:700;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%}.remove-tag:hover{background:#dc3545;color:#fff}.save-button:disabled{background:#6c757d;cursor:not-allowed}.save-button:disabled:hover{background:#6c757d}.exercise-preview-container{width:100%;height:200px;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:6px;background:#f8f9fa;overflow:hidden;position:relative}.exercise-preview-image{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:4px}.exercise-preview-canvas{border-radius:4px;box-shadow:0 2px 8px #0000001a;background:#fff}.exercise-grid-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease;height:100%;position:relative}.exercise-grid-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;border-color:#b0b0b0}.card-preview-area{position:relative;height:160px;background:#f8f9fa;cursor:pointer;overflow:hidden}.card-preview-area .exercise-preview-container{height:100%;border:none;border-radius:0;background:transparent;display:flex!important;align-items:center!important;justify-content:center!important}.card-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.card-preview-area:hover .card-overlay{opacity:1}.open-btn{background:#28a745;color:#fff;border:none;padding:8px 20px;border-radius:20px;font-weight:600;cursor:pointer;transform:translateY(10px);transition:all .2s}.card-preview-area:hover .open-btn{transform:translateY(0)}.card-badges{position:absolute;top:8px;left:8px;display:flex;gap:6px;pointer-events:none}.badge{background:#0009;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;backdrop-filter:blur(4px)}.badge.field-mode{text-transform:capitalize}.card-content{padding:12px;flex:1;display:flex;flex-direction:column}.card-header{margin-bottom:8px}.card-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-date{font-size:12px;color:#888}.card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.card-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.mini-tag{background:#f1f3f5;color:#495057;padding:2px 6px;border-radius:4px;font-size:11px}.mini-tag.more{background:#e9ecef;color:#868e96}.card-actions{display:flex;gap:4px;margin-left:8px}.action-btn{background:transparent;border:1px solid #dee2e6;border-radius:4px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6c757d;transition:all .15s}.action-btn:hover{background:#f8f9fa;color:#333;border-color:#ced4da}.action-btn.delete:hover{background:#fff5f5;color:#e03131;border-color:#ffa8a8}.exercise-manager-modal{background:#f8f9fa;border-radius:12px;width:90vw;max-width:1200px;height:85vh;max-height:900px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-header-new{background:#fff;padding:16px 24px;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:16px;z-index:10}.header-top{display:flex;justify-content:space-between;align-items:center}.header-top h3{margin:0;font-size:20px;font-weight:700;color:#1a1a1a;letter-spacing:-.5px}.close-button-new{background:transparent;border:none;color:#666;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button-new:hover{background:#f1f3f5;color:#000}.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.search-bar{flex:1;min-width:250px;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#adb5bd}.search-bar input{width:100%;padding:10px 12px 10px 40px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.search-bar input:focus{outline:none;border-color:#228be6;box-shadow:0 0 0 3px #228be61a}.toolbar-actions{display:flex;gap:12px}.toolbar-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #dee2e6;border-radius:8px;font-size:14px;font-weight:500;color:#495057;cursor:pointer;transition:all .2s}.toolbar-btn:hover{background:#f8f9fa;border-color:#ced4da}.toolbar-btn.active{background:#e7f5ff;border-color:#228be6;color:#1c7ed6}.sort-select{padding:8px 12px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;color:#495057;background-color:#fff;cursor:pointer;outline:none}.sort-select:focus{border-color:#228be6}.filter-dropdown-container{position:relative}.filter-dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;width:280px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e9ecef;z-index:100;padding:12px;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.backdrop-invisible{position:fixed;inset:0;z-index:90}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f3f5;font-weight:600;font-size:14px;color:#343a40}.clear-link{background:none;border:none;color:#e03131;font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.filter-tags-list{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.filter-tag-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;font-size:14px;color:#495057;transition:background .15s}.filter-tag-item:hover{background:#f8f9fa}.filter-tag-item input{margin:0}.empty-tags{text-align:center;color:#868e96;font-size:13px;font-style:italic;padding:10px}.modal-content-grid{flex:1;overflow-y:auto;padding:24px;position:relative}.exercises-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding-bottom:20px}.loading-state,.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#868e96}.spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#228be6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;color:#343a40;margin:0 0 8px}.empty-state p{margin:0 0 24px;max-width:300px}.reset-filters-btn{background:#e7f5ff;color:#1c7ed6;border:none;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.reset-filters-btn:hover{background:#d0ebff}.modal-footer-info{background:#fff;padding:12px 24px;border-top:1px solid #e0e0e0;font-size:13px;color:#868e96;text-align:right}.modal-content-grid::-webkit-scrollbar{width:8px}.modal-content-grid::-webkit-scrollbar-track{background:#f1f3f5}.modal-content-grid::-webkit-scrollbar-thumb{background:#ced4da;border-radius:4px}.modal-content-grid::-webkit-scrollbar-thumb:hover{background:#adb5bd}@media (max-width: 768px){.exercise-manager-modal{width:100vw;height:100vh;border-radius:0;max-height:none}.toolbar{flex-direction:column;align-items:stretch}.search-bar{width:100%;min-width:0}.toolbar-actions{justify-content:space-between}.exercises-grid-container{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.exercise-details-modal{background:#fff;border-radius:24px;width:95vw;height:95vh;max-width:1200px;max-height:900px;overflow:hidden;box-shadow:0 20px 60px #00000026;border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column}.exercise-details-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #f0f0f0;background-color:#fafafa;flex-shrink:0}.exercise-details-modal .modal-header h3{margin:0;font-size:24px;font-weight:600;color:#2d3748;letter-spacing:-.5px}.exercise-details-modal .modal-content{flex:1;overflow-y:auto;padding:0}.details-form{padding:32px}.form-section{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid #f0f0f0}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h4{margin:0 0 24px;font-size:18px;font-weight:600;color:#2d3748;letter-spacing:-.3px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#4a5568;font-size:14px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.number-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;background-color:#f7fafc;transition:all .2s ease;outline:none}.number-input:focus{border-color:#4299e1;background-color:#fff;box-shadow:0 0 0 3px #4299e11a}.description-textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;background-color:#f7fafc;transition:all .2s ease;outline:none;resize:vertical;min-height:60px;font-family:inherit}.description-textarea:focus{border-color:#4299e1;background-color:#fff;box-shadow:0 0 0 3px #4299e11a}.custom-dimension-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;background-color:#f7fafc;transition:all .2s ease;outline:none;margin-top:12px}.custom-dimension-input:focus{border-color:#4299e1;background-color:#fff;box-shadow:0 0 0 3px #4299e11a}.intensity-buttons{display:flex;gap:8px;margin-bottom:8px}.intensity-button{width:48px;height:48px;border:2px solid #e2e8f0;border-radius:12px;background:#f7fafc;color:#4a5568;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.intensity-button:hover{border-color:#cbd5e0;background:#edf2f7;transform:translateY(-1px)}.intensity-button.selected{background:#4299e1;border-color:#4299e1;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4299e14d}.intensity-labels{display:flex;justify-content:space-between;font-size:12px;color:#718096;font-weight:500}.field-dimension-options{display:flex;flex-wrap:wrap;gap:12px}.dimension-button{padding:12px 20px;border:2px solid #e2e8f0;border-radius:12px;background:#f7fafc;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dimension-button:hover{border-color:#cbd5e0;background:#edf2f7;transform:translateY(-1px)}.dimension-button.selected{background:#48bb78;border-color:#48bb78;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #48bb784d}.material-summary{background:#f7fafc;border:2px solid #e2e8f0;border-radius:16px;padding:20px}.material-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.material-item{display:flex;align-items:center;gap:8px;background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #e2e8f0}.material-count{background:#4299e1;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.material-name{font-size:14px;font-weight:500;color:#4a5568;text-transform:capitalize}.no-material{color:#718096;font-style:italic;text-align:center;margin:0}.tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tag-button{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#f7fafc;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.tag-button:hover{border-color:#cbd5e0;background:#edf2f7;transform:translateY(-1px)}.tag-button.selected{background:#e6fffa;border-color:#48bb78;color:#2d3748;transform:translateY(-2px);box-shadow:0 4px 12px #48bb7833}.session-part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.session-part-button{padding:16px 20px;border:2px solid #e2e8f0;border-radius:16px;background:#f7fafc;color:#4a5568;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.session-part-button:hover{border-color:#cbd5e0;background:#edf2f7;transform:translateY(-2px)}.session-part-button.selected{background:#ffd6cc;border-color:#f56500;color:#2d3748;transform:translateY(-3px);box-shadow:0 6px 20px #f5650033}.exercise-details-modal .modal-actions{padding:24px 32px;display:flex;gap:16px;justify-content:flex-end;border-top:1px solid #f0f0f0;background-color:#fafafa;flex-shrink:0}.exercise-details-modal .cancel-button{padding:12px 24px;background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.exercise-details-modal .cancel-button:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.exercise-details-modal .save-button{padding:12px 24px;background:#48bb78;color:#fff;border:2px solid #48bb78;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.exercise-details-modal .save-button:hover{background:#38a169;border-color:#38a169;transform:translateY(-1px);box-shadow:0 4px 12px #48bb784d}@media (max-width: 768px){.exercise-details-modal{width:100vw;height:100vh;border-radius:0}.details-form{padding:20px}.form-section{margin-bottom:32px;padding-bottom:24px}.form-row{grid-template-columns:1fr;gap:16px}.field-dimension-options{flex-direction:column}.tag-grid,.session-part-grid{grid-template-columns:1fr}.intensity-buttons{justify-content:center}.material-list{grid-template-columns:1fr}}@media (max-width: 480px){.exercise-details-modal .modal-header{padding:16px 20px}.exercise-details-modal .modal-header h3{font-size:20px}.details-form{padding:16px}.form-section h4{font-size:16px;margin-bottom:16px}.exercise-details-modal .modal-actions{padding:16px 20px;flex-direction:column}.exercise-details-modal .cancel-button,.exercise-details-modal .save-button{width:100%;justify-content:center}}.login-modal{background:#fff;border-radius:8px;width:450px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px}.toggle-mode-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;text-decoration:underline;padding:8px 0;margin-top:10px}.toggle-mode-button:hover{color:#0056b3}.toggle-mode-button:disabled{color:#6c757d;cursor:not-allowed}.oauth-separator{display:flex;align-items:center;margin:20px 0;text-align:center}.oauth-separator:before,.oauth-separator:after{content:"";flex:1;border-bottom:1px solid #ddd}.oauth-separator span{padding:0 15px;color:#666;font-size:14px}.google-login-button{justify-content:center;gap:12px;padding:12px 16px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:15px;width:100%;color:#333}.google-login-button:hover:not(:disabled){background:#f8f9fa;border-color:#999;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.google-login-button:active:not(:disabled){transform:translateY(0);box-shadow:none}.google-login-button:disabled{opacity:.5;cursor:not-allowed}.google-login-button svg{width:20px;height:20px;flex-shrink:0}.debug-window{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #e0e0e0;box-shadow:0 -4px 20px #00000026;z-index:900;transition:all .3s ease}.debug-window.collapsed{height:48px}.debug-window.expanded{height:400px}.debug-window-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;cursor:pointer;user-select:none;transition:background-color .2s ease}.debug-window-header:hover{background:#e9ecef}.debug-window-title{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#333}.debug-icon{font-size:20px}.debug-collapse-btn{background:none;border:none;font-size:16px;cursor:pointer;color:#666;padding:4px 8px;border-radius:4px;transition:all .2s ease}.debug-collapse-btn:hover{background:#dee2e6;color:#333}.debug-window-content{display:flex;height:calc(100% - 48px);overflow:hidden}.debug-nav{width:180px;background:#f8f9fa;border-right:1px solid #e0e0e0;padding:12px 8px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.debug-nav-btn{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#495057;transition:all .2s ease;text-align:left}.debug-nav-btn:hover{background:#e9ecef;border-color:#1a73e8;transform:translate(4px)}.debug-nav-btn.active{background:#1a73e8;color:#fff;border-color:#1a73e8;box-shadow:0 2px 8px #1a73e84d}.debug-nav-label{flex:1}.debug-nav-count{background:#0000001a;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:24px;text-align:center}.debug-nav-btn.active .debug-nav-count{background:#ffffff4d}.debug-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fafafa}.debug-panel-header h4{margin:0;font-size:16px;font-weight:600;color:#333}.debug-copy-btn{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.debug-copy-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.debug-json{flex:1;margin:0;padding:24px;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;overflow:auto;white-space:pre-wrap;word-break:break-word}.debug-json::-webkit-scrollbar,.debug-nav::-webkit-scrollbar{width:10px;height:10px}.debug-json::-webkit-scrollbar-track,.debug-nav::-webkit-scrollbar-track{background:#2d2d2d}.debug-json::-webkit-scrollbar-thumb{background:#555;border-radius:5px}.debug-json::-webkit-scrollbar-thumb:hover{background:#666}.debug-nav::-webkit-scrollbar-track{background:#f0f0f0}.debug-nav::-webkit-scrollbar-thumb{background:silver;border-radius:5px}.debug-nav::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.confirmation-modal{background:#fff;border-radius:12px;width:90%;max-width:400px;box-shadow:0 4px 24px #00000026;overflow:hidden;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0}.modal-header.danger h3{color:#ef4444}.modal-header.warning h3{color:#f59e0b}.modal-header.info h3{color:#3b82f6}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.close-button{background:none;border:none;font-size:24px;line-height:1;color:#94a3b8;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background-color:#f1f5f9;color:#64748b}.modal-content{padding:24px 20px}.modal-message{margin:0 0 24px;color:#475569;font-size:.95rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.cancel-button{padding:8px 16px;background:#fff;border-color:#e2e8f0;color:#64748b;font-size:.9rem}.cancel-button:hover{background:#f8fafc;color:#475569;border-color:#cbd5e1}.confirm-button{padding:8px 16px;border:none;color:#fff;font-size:.9rem;box-shadow:0 1px 2px #0000000d}.confirm-button.danger{background:#ef4444}.confirm-button.danger:hover{background:#dc2626}.confirm-button.warning{background:#f59e0b}.confirm-button.warning:hover{background:#d97706}.confirm-button.info{background:#3b82f6}.confirm-button.info:hover{background:#2563eb}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.template-manager-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 10px 30px #0003;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;z-index:1000}.template-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.template-manager-header h2{margin:0;color:#1a1a1a;font-size:24px}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-button:hover{background-color:#f0f0f0;color:#333}.template-manager-actions{display:flex;margin-bottom:20px}.upload-button{background-color:#2563eb;color:#fff;padding:10px 20px;border-radius:6px;font-weight:500;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.upload-button:hover{background-color:#1d4ed8}.hidden-file-input{display:none}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;overflow-y:auto;padding:4px}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s;cursor:pointer;display:flex;flex-direction:column}.template-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.template-preview{height:140px;background-color:#f3f4f6;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.template-info{padding:12px;display:flex;justify-content:space-between;align-items:center}.template-info h3{margin:0;font-size:14px;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-template-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.delete-template-btn:hover{background-color:#fee2e2}.empty-state{text-align:center;padding:40px 20px;color:#6b7280;background-color:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb}.loading-state{display:flex;justify-content:center;align-items:center;padding:40px;color:#6b7280}.template-editor-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;width:95vw;height:90vh;display:flex;flex-direction:column;z-index:1001;overflow:hidden}.editor-header{padding:16px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#fff}.header-left{display:flex;align-items:center;gap:16px}.template-name-input{font-size:20px;font-weight:600;border:1px solid transparent;padding:4px 8px;border-radius:4px;color:#1a1a1a;outline:none;transition:all .2s;width:300px}.template-name-input:hover,.template-name-input:focus{border-color:#d1d5db;background:#f9fafb}.header-actions{display:flex;gap:12px;align-items:center}.btn-primary{padding:8px 16px;border:none;background:#2563eb;border-radius:6px;font-weight:500;cursor:pointer;color:#fff}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.editor-content{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:300px;background:#f9fafb;border-right:1px solid #e5e7eb;padding:20px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.sidebar-search{margin-bottom:8px}.zone-search-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:all .2s}.zone-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.add-zone-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-weight:500;color:#374151;margin-top:auto}.add-zone-btn:hover{background:#f3f4f6}.zones-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;padding-right:4px}.zone-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.zone-item.selected{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.zone-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zone-item-name{font-weight:500;font-size:14px}.delete-zone-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.form-group label{font-size:12px;color:#4b5563;font-weight:500}.form-group input,.form-group select{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.editor-canvas-container{flex:1;background:#e5e7eb;overflow:auto;position:relative;display:flex;align-items:center;justify-content:center;padding:40px}.editor-canvas-wrapper{position:relative;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;background:#fff;transform-origin:top center;transition:transform .1s ease-out;display:inline-block}.template-bg-image{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;pointer-events:none}.zone-box{position:absolute;border:2px dashed #3b82f6;background:#3b82f61a;cursor:move;display:flex;align-items:center;justify-content:center}.zone-box.selected{border:2px solid #2563eb;background:#3b82f633}.zone-box-label{background:#ffffffe6;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:600;color:#1d4ed8;pointer-events:none;user-select:none}.resize-handle{position:absolute;width:10px;height:10px;background:#2563eb;border:1px solid white}.resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}.session-builder-modal{position:absolute;top:0;left:0;width:100vw;height:100vh;background-color:#f3f4f6;z-index:1000;display:flex;flex-direction:column}.session-builder-header{height:60px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.session-builder-header h2{margin:0;font-size:20px;color:#111827}.session-builder-actions{display:flex;gap:12px}.btn-secondary{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-weight:500;cursor:pointer;color:#374151}.btn-primary{padding:8px 16px;border:none;background:#2563eb;border-radius:6px;font-weight:500;cursor:pointer;color:#fff;display:flex;align-items:center;gap:8px}.session-builder-content{display:flex;flex:1;overflow:hidden}.zoom-controls{display:flex;align-items:center;gap:8px;margin-right:16px;padding-right:16px;border-right:1px solid #e5e7eb}.zoom-label{font-size:14px;color:#4b5563;min-width:45px;text-align:right;font-weight:500}.zoom-slider{width:100px;cursor:pointer}.btn-icon{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;color:#374151;cursor:pointer}.btn-icon:hover{background:#e5e7eb}.template-selection-container{flex:1;display:flex;flex-direction:column;padding:40px;overflow-y:auto}.template-selection-container h3{margin-top:0;margin-bottom:24px;text-align:center;color:#374151}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;max-width:1200px;margin:0 auto}.template-card{background:#fff;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.template-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.template-card.selected{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f633}.template-preview{height:180px;background-color:#f9fafb}.template-preview img{width:100%;height:100%;object-fit:cover}.template-info{padding:16px;text-align:center}.template-info h4{margin:0;font-size:16px;color:#1f2937}.session-builder-form{width:350px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow-y:auto}.form-section{padding:24px;border-bottom:1px solid #e5e7eb}.form-section h3{margin-top:0;margin-bottom:16px;font-size:16px;color:#111827}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#4b5563}.form-group input,.form-group textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.zone-header{display:flex;justify-content:space-between;align-items:center}.btn-icon-small{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon-small:hover{background:#f3f4f6;color:#4b5563}.btn-icon-small.active{background:#e0e7ff;color:#4f46e5}.field-style-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.style-group{display:flex;justify-content:space-between;align-items:center}.style-group label{font-size:12px!important;font-weight:500;color:#4b5563;margin:0}.style-group input[type=number],.style-group select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;width:100px}.style-group input[type=color]{border:none;padding:0;width:32px;height:32px;border-radius:4px;cursor:pointer;background:none}.form-group textarea{min-height:80px;resize:vertical}.select-exercise-btn{background:#f3f4f6;border:1px dashed #9ca3af;border-radius:6px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:#4b5563;font-weight:500;transition:all .2s}.select-exercise-btn:hover{background:#e5e7eb;border-color:#6b7280}.selected-exercise-preview{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:8px;margin-top:8px}.selected-exercise-preview img{width:60px;height:40px;object-fit:cover;border-radius:4px}.remove-exercise-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px}.session-builder-preview{flex:1;padding:40px;display:flex;background-color:#f3f4f6;overflow:auto}.document-page{background:#fff;box-shadow:0 10px 15px -3px #0000001a;position:relative}.document-bg{width:100%;height:100%;display:block;pointer-events:none}.document-zone{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed transparent}.document-zone:hover{border-color:#3b82f680}.document-zone-text{width:100%;height:100%;padding:4px;font-size:14px;color:#1a1a1a;word-wrap:break-word;overflow-y:auto}.document-zone-image{width:100%;height:100%;object-fit:contain}.zone-highlight-overlay{position:absolute;border:2px solid #3b82f6;background-color:#3b82f61a;border-radius:4px;pointer-events:none;z-index:10;box-shadow:0 0 0 4px #3b82f633;transition:all .2s ease-in-out;animation:pulse-border 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.5}}.page-picker-modal{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.page-picker-modal h3{margin:0;font-size:18px;color:#111827}.page-picker-modal p{margin:0;color:#4b5563;font-size:14px}.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;overflow-y:auto;padding:4px}.page-preview-card{border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:#f9fafb;display:flex;flex-direction:column;transition:all .2s;box-shadow:0 1px 3px #0000001a}.page-preview-card:hover{transform:translateY(-2px);border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.page-preview-card img{width:100%;height:120px;object-fit:contain;background-color:#fff}.page-preview-label{padding:8px;text-align:center;font-size:13px;font-weight:500;color:#374151;background:#fff;border-top:1px solid #e5e7eb}.page-picker-actions{display:flex;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid #e5e7eb}.objective-field-container{display:flex;flex-direction:column;gap:8px}.objective-textarea{min-height:80px;resize:vertical}.import-objective-btn{align-self:flex-start;font-size:12px;padding:6px 10px}.quick-picker-modal{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 25px -5px #0000001a}.quick-picker-modal h3{margin:0;font-size:18px;color:#111827}.quick-picker-modal p{margin:0;color:#4b5563;font-size:14px}.quick-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;overflow-y:auto;padding:4px;min-height:100px}.quick-picker-card{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;cursor:pointer;background:#fff;display:flex;flex-direction:column;transition:all .2s}.quick-picker-card:hover{transform:translateY(-2px);border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a}.quick-picker-card img{width:100%;height:90px;object-fit:cover;background-color:#f9fafb}.quick-picker-card .no-thumbnail{width:100%;height:90px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;color:#9ca3af;font-size:12px}.quick-picker-card span{padding:8px;font-size:12px;font-weight:500;color:#374151;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-picker-empty{padding:32px;text-align:center;color:#6b7280;background:#f9fafb;border-radius:6px;border:1px dashed #d1d5db}.quick-picker-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #e5e7eb}.session-manager-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column}.session-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.session-manager-header h2{margin:0;font-size:1.5rem;color:#1f2937}.close-button{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#1f2937}.loading-state,.empty-state{text-align:center;padding:48px 24px;color:#6b7280;background:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb}.empty-state p{margin:8px 0}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;overflow-y:auto;padding:4px}.session-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s;cursor:pointer}.session-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a;transform:translateY(-2px)}.session-info{flex:1;overflow:hidden}.session-name{margin:0 0 4px;font-size:1rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-date{margin:0;font-size:.875rem;color:#6b7280}.session-actions{display:flex;gap:8px;margin-left:16px}.action-button{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#6b7280}.action-button.edit:hover{background:#eff6ff;color:#3b82f6}.action-button.delete:hover{background:#fef2f2;color:#ef4444}@media (max-width: 640px){.session-manager-modal{width:95%;padding:16px}.sessions-grid{grid-template-columns:1fr}}/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-500:oklch(55.1% .027 264.364);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-gray-500{color:var(--color-gray-500)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f0f0f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#root{width:100vw;height:100vh}button{color:#3c4043;cursor:pointer;background:#f8f9fa;border:1px solid #dadce0;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .2s;display:flex}button:hover{color:#1a73e8;background:#f1f3f4;border-color:#1a73e8}button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}button:active{transform:translateY(1px)}.primary-button{color:#fff;background-color:#007bff}.secondary-button{color:#fff;background-color:#6c757d}.danger-button{color:#fff;background-color:#dc3545}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
