html,body,#root{margin:0;padding:0;min-width:320px;min-height:100vh}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px;padding:40px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2{margin:0 0 8px;font-size:28px;font-weight:600;color:#1a202c}.auth-header p{margin:0;font-size:14px;color:#718096}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{padding:12px 16px;background-color:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:14px;font-weight:500}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#2d3748}.form-group input{padding:12px 16px;border:1px solid #cbd5e0;border-radius:8px;font-size:15px;transition:all .2s;outline:none}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:#a0aec0}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:44px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;color:#718096;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover:not(:disabled){color:#667eea}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.auth-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{margin-top:24px;text-align:center}.auth-footer p{margin:0;font-size:14px;color:#718096}.auth-link{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:none;padding:0;font-size:14px;transition:color .2s}.auth-link:hover:not(:disabled){color:#764ba2;text-decoration:underline}.auth-link:disabled{opacity:.5;cursor:not-allowed}.user-profile-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.user-info{flex:1}.user-info h3{margin:0;font-size:15px;font-weight:600;color:#1a202c}.user-info p{margin:2px 0 0;font-size:13px;color:#718096}.logout-button{padding:8px 16px;background:#e53e3e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.logout-button:hover{background:#c53030}.glass-base{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff4d,inset 0 -1px #ffffff1a}.glass-card{background:#ffffff1f;border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff4d,inset 0 -1px #ffffff1a}.glass-button{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #00000026,inset 0 1px #fff6}.dashboard{max-width:1400px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.header-content h1{margin:0;font-size:2rem;color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.header-content .subtitle{margin:.5rem 0 0;color:#ffffffe6;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary .icon{font-size:1.5rem;line-height:1}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.btn-secondary:hover{background:#667eea;color:#fff}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000014;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);background:#ffffff2e;border-color:#ffffff40;box-shadow:0 12px 40px #0000001f}.stat-value{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;font-weight:500}.projects-section{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0000001a}.projects-section h2{margin:0 0 1.5rem;color:#fff;font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.1)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.project-card{background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #00000014}.project-card:hover{background:#ffffff2e;border-color:#667eea66;box-shadow:0 12px 48px #667eea33;transform:translateY(-4px)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.project-header h3{margin:0;color:#1f2937;font-size:1.25rem;flex:1;font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-draft{background:#e5e7eb;color:#6b7280}.status-progress{background:#dbeafe;color:#1e40af}.status-review{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-completed{background:#dcfce7;color:#166534}.status-archived{background:#f3f4f6;color:#4b5563}.project-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.detail-row .label{color:#4b5563;font-weight:500}.detail-row .value{color:#1f2937;font-weight:600;text-align:right}.project-actions{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.empty-state,.loading-state,.error-state{text-align:center;padding:3rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:#333}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.loading-state .spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p,.error-state p{color:#6b7280;margin:0}.error-state p{color:#dc2626;margin-bottom:1rem}.error-state button{background:#dc2626;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600}.error-state button:hover{background:#b91c1c}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-danger:hover{background:#c82333}.project-actions{display:flex;gap:.5rem;margin-top:1rem}.project-actions button{flex:1}@media(max-width:768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:stretch}.projects-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:1rem;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;border:1px solid;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #0000001f;animation:slideInRight .3s ease-out;pointer-events:auto;font-size:.95rem;line-height:1.5;transition:all .3s ease}.toast.exiting{animation:slideOutRight .3s ease-out;opacity:0}.toast-success{background:#10b9811f;border-color:#10b98159;color:#059669}.toast-success:hover{background:#10b9812e;border-color:#10b98180;box-shadow:0 12px 32px #10b98126}.toast-error{background:#dc26261f;border-color:#dc262659;color:#991b1b}.toast-error:hover{background:#dc26262e;border-color:#dc262680;box-shadow:0 12px 32px #dc262626}.toast-warning{background:#f59e0b1f;border-color:#f59e0b59;color:#b45309}.toast-warning:hover{background:#f59e0b2e;border-color:#f59e0b80;box-shadow:0 12px 32px #f59e0b26}.toast-info{background:#3498db1f;border-color:#3498db59;color:#1e40af}.toast-info:hover{background:#3498db2e;border-color:#3498db80;box-shadow:0 12px 32px #3498db26}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#ffffff4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:700;flex-shrink:0;font-size:.9rem}.toast-success .toast-icon{background:#10b98133;color:#10b981}.toast-error .toast-icon{background:#dc262633;color:#dc2626}.toast-warning .toast-icon{background:#f59e0b33;color:#f59e0b}.toast-info .toast-icon{background:#3498db33;color:#3498db}.toast-content{flex:1;display:flex;flex-direction:column}.toast-title{margin:0;font-weight:600;font-size:.95rem}.toast-message{margin:0;font-size:.9rem;opacity:.9}.toast-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.7;transition:all .2s ease;flex-shrink:0;font-size:1.2rem;padding:0}.toast-close:hover{opacity:1;transform:scale(1.1)}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;border-radius:0 0 12px;opacity:.6;animation:toastProgress linear 4s forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media(max-width:768px){.toast-container{bottom:1rem;right:1rem;left:1rem;max-width:none}.toast{padding:12px 16px;font-size:.9rem}}@media(max-width:480px){.toast-container{bottom:.75rem;right:.75rem;left:.75rem;gap:.75rem}.toast{padding:10px 14px;font-size:.85rem;border-radius:10px}.toast-icon{width:20px;height:20px}.toast-close{width:18px;height:18px}}@media(prefers-color-scheme:dark){.toast-success{background:#10b98126;border-color:#10b9814d;color:#a7f3d0}.toast-success:hover{background:#10b98138;border-color:#10b98173}.toast-error{background:#dc262626;border-color:#dc26264d;color:#fca5a5}.toast-error:hover{background:#dc262638;border-color:#dc262673}.toast-warning{background:#f59e0b26;border-color:#f59e0b4d;color:#fde047}.toast-warning:hover{background:#f59e0b38;border-color:#f59e0b73}.toast-info{background:#3498db26;border-color:#3498db4d;color:#93c5fd}.toast-info:hover{background:#3498db38;border-color:#3498db73}}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;fill:currentColor;transition:all .2s ease}.icon-xs{width:16px;height:16px;font-size:16px}.icon-sm{width:24px;height:24px;font-size:24px}.icon-md{width:32px;height:32px;font-size:32px}.icon-lg{width:40px;height:40px;font-size:40px}.icon-xl{width:48px;height:48px;font-size:48px}.icon-success{color:var(--icon-success, #10b981)}.icon-error{color:var(--icon-error, #ef4444)}.icon-warning{color:var(--icon-warning, #f59e0b)}.icon-info{color:var(--icon-info, #3b82f6)}.icon-neutral{color:#fff}.icon-infographic-primary{color:var(--infographic-primary, #364e58)}.icon-infographic-secondary{color:var(--infographic-secondary, #2b3e45)}.icon-infographic-tertiary{color:var(--infographic-tertiary, #3b5661)}.icon-infographic-accent{color:var(--infographic-accent, #48459e)}.icon-infographic-highlight{color:var(--infographic-highlight, #182e60)}.icon-3d-primary{color:var(--threed-primary, #182e60)}.icon-3d-secondary{color:var(--threed-secondary, #152d5d)}.icon-3d-accent{color:var(--threed-accent, #48459e)}.icon-bg-glass-1{background:#5d356926}.icon-bg-glass-2{background:#26254f26}.icon-bg-glass-3{background:#2e275126}.icon-bg-glass-realistic-1{background:#3525641f}.icon-bg-glass-realistic-2{background:#1815281f}.icon-spin{animation:icon-spin 1s linear infinite}.icon-pulse{animation:icon-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.icon-bounce{animation:icon-bounce 1s infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.icon-disabled{opacity:.5;cursor:not-allowed}.icon-active{opacity:1;font-weight:600}.icon-hover:hover{transform:scale(1.1)}.icon-container{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-container-glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border:1px solid rgba(255,255,255,.15);padding:8px}.icon-container-circle{border-radius:50%;width:44px;height:44px;padding:0}.icon-with-text{display:inline-flex;align-items:center;gap:.5rem}.icon-with-text-left{flex-direction:row}.icon-with-text-top{flex-direction:column;text-align:center;gap:.25rem}.icon-with-text-bottom{flex-direction:column-reverse;text-align:center;gap:.25rem}@media(max-width:768px){.icon-sm{width:20px;height:20px;font-size:20px}.icon-md{width:28px;height:28px;font-size:28px}.icon-lg{width:36px;height:36px;font-size:36px}}@media(max-width:480px){.icon-xs{width:14px;height:14px;font-size:14px}.icon-sm{width:18px;height:18px;font-size:18px}.icon-md{width:24px;height:24px;font-size:24px}}.icon-workflow-inline{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:12px;flex-shrink:0;vertical-align:middle;line-height:1}@media(prefers-color-scheme:dark){.icon-neutral{color:#fffc}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;transition:opacity .3s ease;pointer-events:none}.modal-backdrop.active{opacity:1;pointer-events:auto}.modal-backdrop.dark{background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background:#ffffff26;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 20px 64px #00000026;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;z-index:1000;opacity:0;transition:all .3s ease;pointer-events:none}.modal-container.active{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.modal-container.wide{max-width:800px}.modal-container.narrow{max-width:450px}.modal-container.tall{max-height:95vh}.modal-container.dark{background:#1e1e1e80;border-color:#ffffff1a;box-shadow:0 20px 64px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#667eea1a,#764ba21a)}.modal-header.gradient{background:linear-gradient(135deg,#667eea26,#764ba226)}.modal-header.colored-primary{background:linear-gradient(135deg,#667eea33,#764ba233);border-bottom-color:#667eea33}.modal-header.colored-success{background:linear-gradient(135deg,#10b98126,#0a946826);border-bottom-color:#10b98133}.modal-header.colored-warning{background:linear-gradient(135deg,#f59e0b26,#d9770626);border-bottom-color:#f59e0b33}.modal-header.colored-error{background:linear-gradient(135deg,#dc262626,#b91c1c26);border-bottom-color:#dc262633}.modal-title{margin:0;font-size:1.35rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1);flex:1}.modal-subtitle{display:block;margin-top:4px;font-size:.9rem;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.1);font-weight:400}.modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:8px;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .2s ease;opacity:.8}.modal-close:hover{background:#ffffff1a;opacity:1;transform:scale(1.1)}.modal-close:active{transform:scale(.95)}.modal-body{padding:24px;color:#fffffff2;font-size:.95rem;line-height:1.6}.modal-body.compact{padding:16px}.modal-body.spacious{padding:32px}.modal-body>*:last-child{margin-bottom:0}.modal-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff0d;display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.modal-footer.spaced{justify-content:space-between;padding:20px 24px}.modal-footer-info{margin-right:auto;font-size:.85rem;color:#ffffffb3}.modal-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.modal-section-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-section-subtitle{margin:0 0 12px;font-size:.85rem;color:#ffffffb3}.modal-form-group{margin-bottom:18px}.modal-form-group:last-child{margin-bottom:0}.modal-label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-label.required:after{content:" *";color:#dc2626cc}.modal-helper-text{display:block;margin-top:4px;font-size:.8rem;color:#fff9}.modal-input,.modal-textarea,.modal-select{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px 16px;color:#fff;font-size:.95rem;font-family:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:inset 0 2px 4px #0000000d}.modal-input::placeholder,.modal-textarea::placeholder{color:#ffffff80}.modal-input:focus,.modal-textarea:focus,.modal-select:focus{outline:none;background:#ffffff26;border-color:#667eea80;box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px #667eea1a}.modal-textarea{min-height:120px;resize:vertical;font-size:.9rem}.modal-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.7)' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.modal-button{padding:10px 24px;border-radius:8px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-button-primary{background:linear-gradient(135deg,#667eeacc,#764ba2cc);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #667eea33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-button-primary:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff80;box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.modal-button-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-button-secondary:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.modal-button-danger{background:linear-gradient(135deg,#dc2626cc,#b91c1ccc);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #dc262633;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-button-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#ffffff80;box-shadow:0 6px 16px #dc26264d;transform:translateY(-2px)}.modal-button:disabled{opacity:.5;cursor:not-allowed}.modal-button:active:not(:disabled){transform:translateY(0)}.modal-form-group.error .modal-input,.modal-form-group.error .modal-textarea,.modal-form-group.error .modal-select{border-color:#dc262680;background:#dc262614}.modal-form-group.error .modal-input:focus,.modal-form-group.error .modal-textarea:focus,.modal-form-group.error .modal-select:focus{box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px #dc26261a;border-color:#dc262699}.modal-error-text{display:block;margin-top:4px;font-size:.8rem;color:#dc2626e6}.modal-form-group.success .modal-input,.modal-form-group.success .modal-textarea,.modal-form-group.success .modal-select{border-color:#10b98180;background:#10b9810d}.modal-form-group.success .modal-input:focus,.modal-form-group.success .modal-textarea:focus,.modal-form-group.success .modal-select:focus{box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px #10b9811a;border-color:#10b98199}.modal-success-text{display:block;margin-top:4px;font-size:.8rem;color:#10b981e6}.modal-alert{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;gap:12px;align-items:flex-start}.modal-alert-icon{flex-shrink:0;font-size:1.2rem;margin-top:2px}.modal-alert-content{flex:1}.modal-alert-title{font-weight:600;margin:0 0 4px;color:#fff}.modal-alert-message{margin:0;color:#ffffffd9}.modal-alert.success{background:#10b98126;border-color:#10b9814d;color:#a7f3d0}.modal-alert.error{background:#dc262626;border-color:#dc26264d;color:#fca5a5}.modal-alert.warning{background:#f59e0b26;border-color:#f59e0b4d;color:#fde047}.modal-alert.info{background:#3498db26;border-color:#3498db4d;color:#bfdbfe}.modal-tabs{display:flex;gap:1px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px;background:#ffffff0d;border-radius:10px 10px 0 0;padding:4px}.modal-tab{flex:1;padding:12px 16px;background:transparent;border:none;color:#ffffffb3;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;border-radius:8px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-tab:hover{background:#ffffff1a;color:#fff}.modal-tab.active{background:linear-gradient(135deg,#667eea4d,#764ba24d);color:#fff;border-color:#667eea80}.modal-tab-content{display:none}.modal-tab-content.active{display:block}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes modalSlideOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-52%) scale(.95)}}.modal-container.entering{animation:modalSlideIn .3s ease-out}.modal-container.exiting{animation:modalSlideOut .3s ease-out}.modal-loading{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 20px;gap:16px}.modal-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.modal-loading-text{color:#fffc;font-size:.95rem}@media(max-width:768px){.modal-container{width:95%;max-width:100%;max-height:95vh;border-radius:12px}.modal-container.wide{max-width:100%}.modal-header{padding:18px}.modal-title{font-size:1.2rem}.modal-body{padding:18px}.modal-footer{padding:14px 18px;gap:10px}.modal-close{width:36px;height:36px;font-size:1.3rem}}@media(max-width:480px){.modal-container{width:98%;border-radius:12px}.modal-header{padding:16px;flex-direction:column;align-items:flex-start;gap:12px}.modal-close{align-self:flex-end;width:32px;height:32px;font-size:1.2rem}.modal-title{font-size:1.1rem}.modal-body{padding:16px}.modal-footer{flex-direction:column;padding:12px 16px}.modal-button{width:100%;padding:12px 16px}.modal-button-primary+.modal-button{margin-left:0}}@media(prefers-color-scheme:dark){.modal-container{background:#1e1e1e80;border-color:#ffffff14;box-shadow:0 20px 64px #0006}.modal-header{border-bottom-color:#ffffff14;background:#1e1e1e4d}.modal-input,.modal-textarea,.modal-select{background:#ffffff0d;border-color:#ffffff1a;color:#e0e0e0}.modal-input::placeholder,.modal-textarea::placeholder{color:#fff6}.modal-input:focus,.modal-textarea:focus,.modal-select:focus{background:#ffffff14;border-color:#667eea66;box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #667eea1a}.modal-footer{border-top-color:#ffffff14;background:#ffffff05}.modal-alert{background:#ffffff0d;border-color:#ffffff1a}.modal-tabs{background:#ffffff05;border-bottom-color:#ffffff14}.modal-tab{color:#fff9}.modal-tab:hover{background:#ffffff14;color:#e0e0e0}.modal-tab.active{background:#667eea33;color:#e0e0e0}}.terrain-card{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s}.terrain-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.terrain-registry{max-width:1400px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.terrain-registry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}.terrain-registry-back{background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;padding:.75rem 1.5rem;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-weight:600}.terrain-registry-back:hover{background:#ffffff2e;border-color:#ffffff40;box-shadow:0 8px 24px #ffffff26;transform:translateY(-2px)}.terrain-registry-title h1{margin:0;font-size:2rem;color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.terrain-registry-title p{margin:.5rem 0 0;color:#ffffffe6;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.terrain-registry-add-btn{background:linear-gradient(135deg,#667eeacc,#764ba2cc);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 12px #667eea33;white-space:nowrap}.terrain-registry-add-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff80;box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.terrain-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.terrain-tab{background:transparent;border:none;color:#ffffffb3;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;position:relative;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.1)}.terrain-tab:hover{color:#fff}.terrain-tab.active{color:#fff;border-bottom:3px solid rgba(255,255,255,.4);margin-bottom:-2px}.terrain-search-panel{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 8px 32px #00000014}.terrain-search-fields{display:flex;gap:1rem;flex-wrap:wrap}.terrain-search-input{flex:1;min-width:200px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.75rem 1rem;color:#333;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.terrain-search-input::placeholder{color:#33333380}.terrain-search-input:focus{outline:none;background:#ffffff2e;border-color:#667eea80;box-shadow:0 0 0 3px #667eea1a}.terrain-list-container{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}.terrain-list-empty{text-align:center;padding:3rem 2rem}.terrain-list-empty-icon{font-size:3rem;margin-bottom:1rem}.terrain-list-empty h3{margin:0 0 .5rem;color:#fff;font-size:1.25rem}.terrain-list-empty p{color:#fffc;margin:0}.terrain-item{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:start}.terrain-item:hover{background:#ffffff26;border-color:#667eea66;box-shadow:0 12px 40px #667eea26;transform:translate(4px)}.terrain-item-content{display:grid;gap:.75rem}.terrain-item-header{display:flex;align-items:center;gap:1rem}.terrain-item-color{width:32px;height:32px;border-radius:8px;border:2px solid rgba(255,255,255,.3);flex-shrink:0}.terrain-item-name{margin:0;color:#fff;font-size:1.1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.terrain-item-details{display:grid;gap:.5rem;font-size:.9rem}.terrain-detail-row{display:flex;justify-content:space-between;gap:1rem}.terrain-detail-label{color:#ffffffb3;font-weight:500}.terrain-detail-value{color:#fffffff2;font-weight:600;text-align:right}.terrain-item-status{display:grid;gap:.75rem;text-align:right}.terrain-item-area{background:#ffffff14;border-radius:8px;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1)}.terrain-item-area-value{display:block;font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1);margin-bottom:.25rem}.terrain-item-area-unit{display:block;font-size:.8rem;color:#ffffffb3}.terrain-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;margin-bottom:.75rem}.terrain-badge{display:inline-block;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.1)}.terrain-badge.verified{background:#10b98133;border-color:#10b98166;color:#a7f3d0}.terrain-badge.public{background:#3b82f633;border-color:#3b82f666;color:#bfdbfe}.terrain-badge.tokenized{background:#a855f733;border-color:#a855f766;color:#e9d5ff}.terrain-item-actions{display:flex;gap:.5rem}.terrain-btn-detail{background:linear-gradient(135deg,#3b82f6cc,#4facfecc);color:#fff;border:1px solid rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;white-space:nowrap}.terrain-btn-detail:hover{background:linear-gradient(135deg,#3b82f6,#4facfe);box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.terrain-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.terrain-modal{background:#ffffff26;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);border-radius:20px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 64px #00000026;padding:2rem}.terrain-loading{text-align:center;padding:3rem 2rem}.terrain-spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.terrain-loading p{color:#fff;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}@media(max-width:768px){.terrain-registry{padding:1rem}.terrain-registry-header{flex-direction:column;align-items:stretch}.terrain-registry-title h1{font-size:1.5rem}.terrain-search-fields{flex-direction:column}.terrain-search-input{min-width:auto}.terrain-item{grid-template-columns:1fr;gap:1rem}.terrain-item-status{grid-column:1}.terrain-list-container{padding:1.5rem}.terrain-modal{width:95%;max-height:90vh}}@media(max-width:480px){.terrain-registry{padding:.75rem}.terrain-registry-title h1{font-size:1.25rem}.terrain-item{padding:1rem}.terrain-item-name{font-size:1rem}.terrain-item-status{align-items:flex-start}.terrain-list-container{padding:1rem;border-radius:12px}}@media(prefers-color-scheme:dark){.terrain-registry{background:linear-gradient(135deg,#1a1a2e,#16213e)}.terrain-search-panel,.terrain-list-container{background:#1e1e1e66;border-color:#ffffff14}.terrain-search-input{background:#ffffff0d;border-color:#ffffff1a;color:#e0e0e0}.terrain-item{background:#1e1e1e66;border-color:#ffffff14}.terrain-item:hover{background:#1e1e1e99;border-color:#667eea4d}}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-primary-light: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-primary-dark: linear-gradient(135deg, #5568d3 0%, #6a3d8a 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-secondary-light: linear-gradient(135deg, #ffd89b 0%, #19547b 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-accent-warm: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--glass-bg-soft: rgba(255, 255, 255, .08);--glass-bg-medium: rgba(255, 255, 255, .1);--glass-bg-strong: rgba(255, 255, 255, .15);--glass-border-soft: rgba(255, 255, 255, .1);--glass-border-medium: rgba(255, 255, 255, .15);--glass-border-strong: rgba(255, 255, 255, .2);--glass-dark-bg-soft: rgba(0, 0, 0, .08);--glass-dark-bg-medium: rgba(0, 0, 0, .12);--glass-dark-bg-strong: rgba(0, 0, 0, .15);--glass-dark-border-soft: rgba(0, 0, 0, .1);--glass-dark-border-medium: rgba(0, 0, 0, .15);--glass-dark-border-strong: rgba(0, 0, 0, .2)}.glass-soft{background:var(--glass-bg-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border-soft);border-radius:12px}.glass-soft-light{background:#ffffff12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.glass-soft-dark{background:var(--glass-dark-bg-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-dark-border-soft);border-radius:12px}.glass-medium{background:var(--glass-bg-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border-medium);border-radius:12px}.glass-medium-light{background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:12px}.glass-medium-dark{background:var(--glass-dark-bg-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-dark-border-medium);border-radius:12px}.glass-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border-strong);border-radius:12px}.glass-strong-light{background:#ffffff2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);border-radius:12px}.glass-strong-dark{background:var(--glass-dark-bg-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-dark-border-strong);border-radius:12px}.glass-extra-strong{background:#ffffff38;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.28);border-radius:12px}.glass-extra-strong-dark{background:#0003;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.25);border-radius:12px}.gradient-primary{background:var(--gradient-primary)}.gradient-primary-light{background:var(--gradient-primary-light)}.gradient-primary-dark{background:var(--gradient-primary-dark)}.gradient-secondary{background:var(--gradient-secondary)}.gradient-secondary-light{background:var(--gradient-secondary-light)}.gradient-accent{background:var(--gradient-accent)}.gradient-accent-warm{background:var(--gradient-accent-warm)}.glass-gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2);opacity:.15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:12px}.glass-gradient-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);opacity:.15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:12px}.glass-gradient-accent{background:linear-gradient(135deg,#4facfe,#00f2fe);opacity:.15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:12px}.glass-card{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.glass-card:hover{background:#ffffff26;box-shadow:0 12px 40px #00000026;transform:translateY(-2px)}.glass-card-compact{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:16px;box-shadow:0 4px 16px #00000014;transition:all .3s ease}.glass-card-compact:hover{background:#ffffff26;box-shadow:0 8px 24px #0000001f}.glass-card-dark{background:#00000026;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.2);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0003;transition:all .3s ease}.glass-card-dark:hover{background:#0003;box-shadow:0 12px 40px #0000004d;transform:translateY(-2px)}.btn-glass{background:linear-gradient(135deg,#667eea80,#764ba280);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 12px #667eea33}.btn-glass:hover{background:linear-gradient(135deg,#667eeab3,#764ba2b3);border-color:#ffffff80;box-shadow:0 6px 16px #667eea4d;transform:translateY(-2px)}.btn-glass:active{transform:translateY(0);box-shadow:0 2px 8px #667eea33}.btn-glass-secondary{background:linear-gradient(135deg,#f093fb80,#f5576c80);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 12px #f5576c33}.btn-glass-secondary:hover{background:linear-gradient(135deg,#f093fbb3,#f5576cb3);border-color:#ffffff80;box-shadow:0 6px 16px #f5576c4d;transform:translateY(-2px)}.input-glass{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 16px;color:#333;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.input-glass::placeholder{color:#33333380}.input-glass:focus{outline:none;background:#ffffff26;border-color:#667eea80;box-shadow:0 0 0 3px #667eea1a}.input-glass:focus-visible{background:#ffffff26;border-color:#667eea80}.glass-panel{background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:32px;box-shadow:0 8px 32px #00000014}.glass-panel-compact{background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;box-shadow:0 4px 16px #0000000d}.shadow-glass-sm{box-shadow:0 2px 8px #00000014}.shadow-glass{box-shadow:0 8px 32px #0000001a}.shadow-glass-lg{box-shadow:0 12px 48px #0000001f}.shadow-glass-xl{box-shadow:0 20px 64px #00000026}.shadow-glass-elevated{box-shadow:0 8px 32px #0000001a,0 2px 8px #00000014}.blur-xs{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.blur-sm{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.blur{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.blur-lg{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.blur-xl{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.opacity-glass-10{opacity:.1}.opacity-glass-15{opacity:.15}.opacity-glass-20{opacity:.2}.opacity-glass-25{opacity:.25}.opacity-glass-30{opacity:.3}.rounded-glass{border-radius:12px}.rounded-glass-lg{border-radius:16px}.rounded-glass-xl{border-radius:20px}.rounded-glass-full{border-radius:24px}.transition-glass{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-glass-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-glass-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.hover-lift-sm{transition:all .3s ease}.hover-lift-sm:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px #667eea4d}@media(prefers-color-scheme:dark){.glass-soft,.glass-medium,.glass-strong{background:#1e1e1e66;border-color:#ffffff14}.glass-card{background:#1e1e1e80;border-color:#ffffff14;box-shadow:0 8px 32px #0000004d}.glass-card:hover{background:#1e1e1e99;box-shadow:0 12px 40px #0006}.input-glass{background:#ffffff0d;border-color:#ffffff1a;color:#e0e0e0}.input-glass::placeholder{color:#ffffff4d}.input-glass:focus{background:#ffffff14;border-color:#667eea80;box-shadow:0 0 0 3px #667eea26}}@media(max-width:768px){.glass-card{padding:16px}.glass-panel{padding:20px}.btn-glass,.btn-glass-secondary{padding:10px 20px;font-size:13px}.input-glass{padding:10px 14px;font-size:13px}}@media(max-width:480px){.glass-card{padding:12px;border-radius:12px}.glass-panel{padding:16px;border-radius:12px}.btn-glass,.btn-glass-secondary{padding:10px 16px;font-size:12px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes glassGlow{0%,to{box-shadow:0 0 #667eea4d}50%{box-shadow:0 0 0 10px #667eea00}}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-glass-glow{animation:glassGlow 2s ease-in-out infinite}*{margin:0;padding:0;box-sizing:border-box}#root{width:100vw;min-height:100vh}.app-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:#f5f5f5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}button{border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background:#d5dbdb}.sample-selector{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.sample-selector:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.btn-send{background:#3498db;color:#fff;padding:10px 24px}.btn-send:hover{background:#2980b9}.main-content{flex:1;display:flex;overflow:hidden;height:100%;width:100%}.canvas-container{flex:1;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e0e0e0}.floating-tool-btn{width:42px;height:42px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:22px;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:none;opacity:1!important}.floating-tool-btn:hover{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:scale(1.05);box-shadow:none;opacity:1!important}.floating-tool-btn.active{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transform:scale(1.1);opacity:1!important}.floating-tool-btn span{filter:none;pointer-events:none}.floating-tool-btn{pointer-events:auto}.floating-tool-btn:hover:after{display:none!important}.canvas-wrapper{flex:1;background:#e9ecef;position:relative;overflow:hidden}#main-canvas{width:100%;height:100%;background:#fff}.canvas-info{height:30px;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:12px;color:#6c757d}.side-panel{width:320px;background:linear-gradient(180deg,#f8f9faf2,#f1f3f5f2);backdropFilter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.8);display:flex;flex-direction:column;height:100%;min-height:0;boxShadow:-4px 0 24px rgba(0,0,0,.06)}.info-panel h3{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:15px;letter-spacing:-.02em}.info-section{margin-bottom:15px}.info-section label{display:block;font-size:13px;font-weight:500;color:#495057;margin-bottom:6px;letter-spacing:-.01em}.info-section input[type=text],.info-section input[type=number]{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;letter-spacing:-.01em}.info-section input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.calculated-value{display:inline-block;padding:8px 12px;background:#e9ecef;border-radius:6px;font-size:14px;font-weight:500;color:#6c757d;letter-spacing:-.01em}.info-section h4{font-size:14px;font-weight:600;color:#2c3e50;margin-bottom:10px;margin-top:10px;letter-spacing:-.02em}.layer-list{display:flex;flex-direction:column;gap:8px}.layer-item{display:flex;align-items:center;gap:8px}.layer-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.layer-item label{font-size:13px;font-weight:500;color:#495057;cursor:pointer;margin:0;letter-spacing:-.01em}.reports-panel h3{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:15px;letter-spacing:-.02em}.placeholder-text{font-size:14px;font-weight:400;color:#6c757d;text-align:center;padding:40px 20px;letter-spacing:-.01em}.full-width{width:100%}.downloads-panel h3{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:15px;letter-spacing:-.02em}.export-options{display:flex;flex-direction:column;gap:10px}.export-btn{width:100%;padding:12px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;color:#495057;letter-spacing:-.01em;transition:all .2s}.export-btn:hover{background:#e9ecef;border-color:#adb5bd}.export-btn span:first-child{font-size:20px}.chat-messages{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.message{display:flex;gap:10px;align-items:flex-start}.message-icon{font-size:20px;flex-shrink:0}.message-content{flex:1;font-size:14px;font-weight:400;line-height:1.6;color:#2c3e50;letter-spacing:-.01em}.message.system .message-content{color:#6c757d;font-weight:400}.chat-input{height:60px;border-top:1px solid #e0e0e0;display:flex;align-items:center;padding:0 15px;gap:10px}.chat-input input{flex:1;padding:10px 15px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;letter-spacing:-.01em}.chat-input input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.helper-text{font-size:12px;font-weight:400;color:#6c757d;margin:0 0 10px;letter-spacing:-.01em}.helper-text.format-examples{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:11px;font-weight:400;color:#495057;background:#f8f9fa;padding:6px 10px;border-radius:4px;margin-bottom:15px}.coordinate-input{margin-bottom:15px}.input-row{display:flex;gap:8px;margin-bottom:10px}.input-row input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;letter-spacing:-.01em}.input-row input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}button:disabled{opacity:.5;cursor:not-allowed}.points-list{margin-top:15px;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.points-header{display:grid;grid-template-columns:50px 1fr 1fr 30px;gap:8px;padding:8px 12px;background:#f8f9fa;font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e0e0e0}.point-item{display:grid;grid-template-columns:50px 1fr 1fr 30px;gap:8px;padding:10px 12px;border-bottom:1px solid #f0f0f0;font-size:13px;align-items:center}.point-item:last-of-type{border-bottom:none}.point-item:hover{background:#f8f9fa}.point-label{font-weight:600;color:#3498db;letter-spacing:-.01em}.point-coord{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;color:#495057;font-size:12px;font-weight:400}.btn-remove{width:24px;height:24px;padding:0;background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#dc3545;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-remove:hover{background:#dc3545;color:#fff;border-color:#dc3545}.points-summary{padding:8px 12px;background:#f8f9fa;font-size:12px;color:#6c757d;font-weight:500;text-align:right;letter-spacing:-.01em}.terrains-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.terrain-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dee2e6;border-radius:6px;overflow:hidden;transition:all .2s}.terrain-item:hover{border-color:#3498db;box-shadow:0 2px 4px #3498db1a}.terrain-info{flex:1;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.terrain-info.selected{background:#e3f2fd;border:2px solid #3498db;box-shadow:0 0 0 3px #3498db1a}.terrain-color{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.terrain-details{flex:1;display:flex;justify-content:space-between;align-items:center}.terrain-details strong{font-size:14px;font-weight:600;color:#2c3e50;letter-spacing:-.01em}.terrain-area{font-size:12px;font-weight:500;color:#7f8c8d;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace}.unit-label{margin-left:8px;font-size:13px;font-weight:500;color:#6c757d;letter-spacing:-.01em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f8f9fa}::-webkit-scrollbar-thumb{background:#ced4da;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#adb5bd}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}select{color-scheme:dark}select option{background-color:#6a6a6a;color:#fff;padding:10px;font-size:14px;font-weight:600}select option:checked{background:linear-gradient(#3498db,#3498db);background-color:#3498db;color:#fff}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.annotation-panel{padding:0 16px 16px;height:100%;display:flex;flex-direction:column}.annotation-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.annotation-panel-title{font-size:14px;font-weight:600;color:#2c3e50;letter-spacing:-.02em;margin:0}.annotation-tabs{display:flex;gap:4px;margin-bottom:12px;background:#0000000d;border-radius:8px;padding:4px}.annotation-tab{flex:1;padding:8px 12px;font-size:12px;font-weight:600;background:transparent;color:#666;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.annotation-tab.active{background:#fff;color:#3498db;box-shadow:0 2px 4px #0000001a}.annotation-add-button{width:100%;padding:10px 16px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #3498db4d;transition:all .2s}.annotation-add-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3498db66}.annotation-add-button:disabled{background:#e74c3c1a;color:#e74c3c;border:2px dashed #e74c3c;cursor:not-allowed;box-shadow:none;transform:none}.annotation-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.8);box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.annotation-item:hover{background:#fffc;box-shadow:0 4px 12px #00000014}.annotation-item.selected{background:#3498db26;border:2px solid rgba(52,152,219,.8);box-shadow:0 4px 12px #3498db33}.annotation-item.hidden{opacity:.5}.annotation-item-emoji{font-size:18px;flex-shrink:0}.annotation-item-content{flex:1;min-width:0}.annotation-item-label{font-size:13px;font-weight:600;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotation-item-meta{font-size:11px;color:#666}.annotation-btn-visibility{padding:4px;background:transparent;border:none;cursor:pointer;font-size:14px;opacity:.7;transition:opacity .2s}.annotation-btn-visibility:hover{opacity:1}.annotation-btn-delete{padding:4px 8px;font-size:11px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;transition:background .2s}.annotation-btn-delete:hover{background:#c0392b}.annotation-add-menu{position:absolute;top:100%;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.8);z-index:100;max-height:300px;overflow-y:auto;margin-top:4px}.annotation-add-menu-category{padding:8px 12px;font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#00000008;cursor:pointer}.annotation-add-menu-item{padding:10px 12px 10px 24px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.annotation-add-menu-item:hover{background:#3498db1a}.annotation-add-menu-item-emoji{font-size:16px}.annotation-add-menu-item-name{font-size:13px;color:#2c3e50}.annotation-empty-state{padding:20px;text-align:center;color:#999;font-size:13px;background:#ffffff80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:8px}.annotation-error{padding:10px;margin-bottom:12px;background:#e74c3c1a;border:1px solid #e74c3c;border-radius:8px;color:#c0392b;font-size:12px}.annotation-loading{padding:20px;text-align:center;color:#666;font-size:13px}.annotation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.annotation-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.annotation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.annotation-modal-title{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.annotation-modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;line-height:1}.annotation-modal-close:hover{color:#333}.annotation-modal-body{padding:24px}.annotation-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f9f9f9;border-radius:0 0 12px 12px}.annotation-form-group{margin-bottom:16px}.annotation-form-label{display:block;font-size:13px;font-weight:600;color:#2c3e50;margin-bottom:6px}.annotation-form-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:8px;transition:border-color .2s,box-shadow .2s}.annotation-form-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.annotation-form-textarea{min-height:80px;resize:vertical}.annotation-form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.annotation-btn-primary{padding:10px 20px;font-size:14px;font-weight:600;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.annotation-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3498db66}.annotation-btn-secondary{padding:10px 20px;font-size:14px;font-weight:600;background:#f0f0f0;color:#666;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.annotation-btn-secondary:hover{background:#e0e0e0}.annotation-color-picker{display:flex;gap:8px;flex-wrap:wrap}.annotation-color-option{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.annotation-color-option:hover{transform:scale(1.1)}.annotation-color-option.selected{border-color:#2c3e50}.ai-workflow-dashboard{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:16px;box-shadow:0 8px 32px #0000001a;min-height:600px}.workflow-section-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.15)}.workflow-section-title{margin:0;font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.workflow-section-subtitle{margin:.5rem 0 0;font-size:.9rem;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.1)}.interaction-card{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem;margin-bottom:1rem;transition:all .3s ease;box-shadow:0 8px 24px #00000014}.interaction-card:hover{background:#ffffff26;border-color:#ffffff40;box-shadow:0 12px 32px #0000001f;transform:translateY(-2px)}.interaction-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.interaction-card-title{margin:0;font-size:1rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.interaction-input{width:100%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.75rem 1rem;color:#fff;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.interaction-input::placeholder{color:#fff9}.interaction-input:focus{outline:none;background:#ffffff2e;border-color:#667eea80;box-shadow:0 0 0 3px #667eea1a;color:#fff}.timeline-container{position:relative;margin:2rem 0;padding:1rem 0}.phase-node{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eeacc,#764ba2cc);border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.phase-node:hover:not(.phase-node.locked){background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff80;box-shadow:0 8px 20px #667eea66;transform:scale(1.1)}.phase-node.completed{background:linear-gradient(135deg,#10b981cc,#0a9468cc);border-color:#fff6;box-shadow:0 4px 12px #10b9814d}.phase-node.in-progress{background:linear-gradient(135deg,#f59e0bcc,#d97706cc);border-color:#fff6;box-shadow:0 4px 12px #f59e0b4d;animation:pulse 2s ease-in-out infinite}.phase-node.locked{background:linear-gradient(135deg,#6b728099,#4b556399);border-color:#ffffff26;box-shadow:0 2px 8px #0003;cursor:not-allowed;opacity:.6}.phase-node.requires-upgrade{background:linear-gradient(135deg,#dc2626b3,#b91c1cb3);border-color:#ffffff4d;box-shadow:0 4px 12px #dc262640}.prompt-card{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:1.25rem;margin-bottom:1rem;transition:all .3s ease;box-shadow:0 8px 24px #00000014}.prompt-card:hover{background:#ffffff26;border-color:#ffffff40;box-shadow:0 12px 32px #0000001f}.prompt-card.generator-prompt{border-left:4px solid rgba(102,126,234,.5)}.prompt-card.generated-prompt-card{border-left:4px solid rgba(16,185,129,.5)}.prompt-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.prompt-card-icon{font-size:1.25rem;opacity:.9}.prompt-card-title{margin:0;font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.prompt-card-type{font-size:.75rem;color:#ffffffb3;margin-left:auto;background:#ffffff1a;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.prompt-card-content{color:#ffffffe6;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.prompt-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.prompt-action-button{background:linear-gradient(135deg,#667eeab3,#764ba2b3);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prompt-action-button:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff80;box-shadow:0 6px 16px #667eea40;transform:translateY(-1px)}.prompt-action-button.secondary{background:linear-gradient(135deg,#f5576c99,#f093fb99);box-shadow:0 4px 12px #f5576c26}.prompt-action-button.secondary:hover{background:linear-gradient(135deg,#f5576ce6,#f093fbe6);box-shadow:0 6px 16px #f5576c40}.output-card{background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:1.25rem;margin-bottom:1rem;transition:all .3s ease;box-shadow:0 8px 24px #00000014}.output-card:hover{background:#ffffff26;border-color:#ffffff40;box-shadow:0 12px 32px #0000001f;transform:translateY(-2px)}.output-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.output-card-icon{font-size:1.25rem;opacity:.9}.output-card-title{margin:0;font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1);flex:1}.output-format{font-size:.75rem;color:#fff;background:#ffffff26;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.output-card-content{color:#ffffffd9;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.output-status{display:inline-block;font-size:.75rem;padding:.35rem .75rem;border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.output-status.available{background:#10b98133;color:#a7f3d0;border:1px solid rgba(16,185,129,.3)}.output-status.generating{background:#f59e0b33;color:#fde047;border:1px solid rgba(245,158,11,.3);animation:pulse 1.5s ease-in-out infinite}.output-status.locked{background:#6b728033;color:#d1d5db;border:1px solid rgba(107,114,128,.3)}.output-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.output-action-button{background:linear-gradient(135deg,#667eeab3,#764ba2b3);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.output-action-button:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff80;box-shadow:0 6px 16px #667eea40;transform:translateY(-1px)}.output-action-button:disabled{opacity:.5;cursor:not-allowed}.workflow-info-box{background:#3498db1f;border:1px solid rgba(52,152,219,.3);border-radius:10px;padding:1rem 1.5rem;color:#fffffff2;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:1.5rem}.workflow-info-title{font-weight:600;margin-bottom:.5rem;color:#fff}.skeleton-loader{background:#ffffff14;border-radius:8px;height:20px;margin-bottom:.5rem;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.cost-display{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:1rem;margin-bottom:1rem}.cost-label{font-size:.9rem;color:#fffc;margin-bottom:.5rem}.cost-value{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.cost-breakdown{font-size:.85rem;color:#ffffffb3;margin-top:.5rem}.empty-state-workflow{text-align:center;padding:3rem 2rem;color:#fffc}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.empty-state-title{margin:0 0 .5rem;font-size:1.1rem;color:#fff;font-weight:600}.empty-state-description{margin:0;font-size:.9rem;color:#ffffffb3}@media(max-width:768px){.ai-workflow-dashboard{padding:1.5rem}.workflow-section-title{font-size:1.1rem}.interaction-card,.prompt-card,.output-card{padding:1rem}.phase-node{width:45px;height:45px;font-size:.85rem}.prompt-card-actions,.output-card-actions{flex-direction:column}.prompt-action-button,.output-action-button{width:100%}}@media(max-width:480px){.ai-workflow-dashboard{padding:1rem}.workflow-section-title{font-size:1rem}.workflow-section-subtitle{font-size:.85rem}.interaction-card,.prompt-card,.output-card{padding:.75rem;border-radius:8px;margin-bottom:.75rem}.phase-node{width:40px;height:40px;font-size:.8rem}.prompt-card-header,.output-card-header{flex-direction:column;align-items:flex-start}.prompt-card-type,.output-format{align-self:flex-start;margin-left:0;margin-top:.5rem}.prompt-card-content,.output-card-content{font-size:.85rem}.cost-value{font-size:1.25rem}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state-title{font-size:1rem}.workflow-info-box{padding:.75rem 1rem;font-size:.85rem}}@media(prefers-color-scheme:dark){.interaction-card,.prompt-card,.output-card,.cost-display{background:#1e1e1e66;border-color:#ffffff14}.interaction-card:hover,.prompt-card:hover,.output-card:hover{background:#1e1e1e80;border-color:#ffffff1f}.interaction-input{background:#ffffff0d;border-color:#ffffff1a}.interaction-input:focus{background:#ffffff14;border-color:#667eea66}.workflow-info-box{background:#3498db1a;border-color:#3498db33}.phase-node.locked{background:linear-gradient(135deg,#4b556380,#37415180)}.skeleton-loader{background:#ffffff0d}}
