@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.toast-container{display:flex;flex-direction:column;gap:12px;position:fixed;right:24px;top:24px;z-index:12000}.toast{align-items:flex-start;animation:toast-in .25s ease forwards;background:#1f2937;border-radius:14px;box-shadow:0 12px 30px #0f172a33;color:#f9fafb;display:flex;gap:12px;min-width:280px;padding:14px 16px}.toast-success{background:#064e3b;border:1px solid #10b98173}.toast-error{background:#581c1c;border:1px solid #f8717166}.toast-icon{flex-shrink:0}.toast-body{flex:1 1}.toast-title{font-size:.85rem;font-weight:600;letter-spacing:.01em;margin:0}.toast-message{color:#e5e7eb;font-size:.9rem;margin:2px 0 0}.toast-dismiss{background:#0000;border:none;color:inherit;cursor:pointer;font-size:1.1rem;margin-left:8px;padding:0}.toast-hide{animation:toast-out .2s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.auth-container{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);display:flex;font-family:Inter,Arial,sans-serif;height:100vh;justify-content:center}.auth-form{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;max-width:420px;padding:2.5rem;text-align:center;transition:all .3s ease;width:100%}.auth-form:hover{box-shadow:0 15px 30px #3498db40;transform:translateY(-3px)}.auth-header{margin-bottom:1.5rem}.auth-logo{height:60px;margin-bottom:.5rem;width:60px}.auth-header h1{color:#2c3e50;font-size:26px;font-weight:700;margin:.5rem 0}.brand{color:#3498db}.subtitle{color:#7f8c8d;font-size:1rem}.auth-form input{background-color:#f9fafb;border:1px solid #d0d7de;border-radius:10px;font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.auth-form input:focus{background-color:#fff;border-color:#3498db;box-shadow:0 0 8px #3498db4d;outline:none}.primary-btn{background-color:#3498db;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s ease;width:100%}.primary-btn:hover{background-color:#2e86c1;box-shadow:0 5px 12px #2980b94d}.divider{align-items:center;color:#b0b0b0;display:flex;font-size:.9rem;margin:1.2rem 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.divider:not(:empty):before{margin-right:.75em}.divider:not(:empty):after{margin-left:.75em}.google-login-btn{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:10px;color:#2c3e50;display:inline-flex;font-weight:500;gap:10px;justify-content:center;margin-top:.5rem;padding:.7rem;text-decoration:none;transition:all .3s ease;width:100%}.google-login-btn img{height:22px;width:22px}.google-login-btn:hover{background-color:#f7f7f7;box-shadow:0 3px 10px #00000014}.auth-switch{color:#2c3e50;font-size:.95rem;margin-top:1.4rem}.auth-switch a{color:#3498db;font-weight:600;text-decoration:none;transition:color .2s}.auth-switch a:hover{color:#1d6fa5;text-decoration:underline}.profile-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;position:absolute;right:0;top:50px;width:300px;z-index:1000}.profile-header{align-items:center;border-bottom:1px solid #eee;display:flex;padding:16px}.profile-info p{color:#666;margin:0}.profile-options{list-style:none;margin:0;padding:0}.profile-options li{cursor:pointer;padding:12px 16px}.invite-modal-overlay{bottom:0;left:0;right:0;top:0}.invite-modal{border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.invite-modal h2{margin-top:0}.invite-url input{border-radius:4px;margin-right:5px;padding:5px}.invite-url button{border-radius:4px;padding:5px 10px}.close-button{border-radius:4px}.invite-close-icon{color:#555;font-size:18px;right:12px;top:10px}.invite-close-icon:hover{transform:scale(1.1)}.invite-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.invite-modal{animation:fadeInModal .25s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:90%;padding:25px 30px;position:relative;text-align:center;width:400px}.invite-close-icon{background:none;border:none;color:#666;cursor:pointer;font-size:22px;position:absolute;right:14px;top:12px;transition:color .2s ease,transform .2s ease}.invite-close-icon:hover{color:#000;transform:scale(1.15)}.invite-modal h2{color:#222;font-size:22px;margin:10px 0}.invite-modal p{color:#555;font-size:14px;margin-bottom:15px}.invite-url{align-items:center;display:flex;margin-top:10px}.invite-url input{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:14px;margin-right:8px;padding:8px}.invite-url button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px;transition:background .2s ease}.invite-url button:hover{background:#0056b3}.copy-success{color:green;font-size:14px;margin-top:10px}.close-button{background:#6c757d;border-radius:6px;color:#fff;margin-top:20px;padding:8px 14px;transition:background .2s ease}.close-button:hover{background:#5a6268}@keyframes fadeInModal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar{left:80px;padding:12px 28px}.navbar-left{align-items:center;display:flex;gap:12px}.nav-btn{font-size:.95rem;padding:10px 18px;transition:all .25s ease}.nav-btn.primary{background-color:#2563eb}.nav-btn.primary:hover{background-color:#1d4ed8;box-shadow:0 3px 6px #2563eb40;transform:translateY(-1px)}.nav-btn.secondary{background-color:#f3f4f6;color:#111827}.nav-btn.secondary:hover{background-color:#e5e7eb;transform:translateY(-1px)}.nav-btn.success{background-color:#10b981;color:#fff}.nav-btn.success:hover{background-color:#059669;box-shadow:0 3px 6px #10b98140;transform:translateY(-1px)}.icon{font-size:1.1rem}@media (max-width:768px){.navbar{align-items:flex-start;flex-direction:column;padding:10px 20px}.navbar-left{flex-wrap:wrap;gap:10px;margin-bottom:10px}.profile-icon{height:38px;width:38px}}.navbar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000a;justify-content:space-between;left:70px;padding:12px 24px;position:fixed;right:20px;top:0;width:auto;z-index:1000}.navbar,.navbar-right{align-items:center;display:flex}.navbar-right{justify-content:flex-end;margin-right:0;padding-right:12px}.profile-container{margin-right:0;position:relative}.profile-icon{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:50%;box-shadow:0 1px 3px #00000014;color:#374151;cursor:pointer;display:flex;font-size:1.3rem;height:42px;justify-content:center;margin-right:24px;transition:all .25s ease;width:42px;z-index:1100}.profile-icon:hover{background-color:#e5e7eb;transform:scale(1.05)}.profile-container .dropdown{position:absolute;right:0;top:50px;z-index:2000}.create-team-overlay{align-items:center;animation:fadeIn .25s ease-out;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.create-team-modal{animation:slideUp .25s ease-out;background:#fff;border-radius:10px;box-shadow:0 8px 25px #00000026;box-sizing:border-box;max-width:90%;padding:30px 32px;position:relative;text-align:center;width:420px}.create-team-close{background:none;border:none;color:#666;cursor:pointer;font-size:20px;position:absolute;right:16px;top:14px;transition:color .2s ease,transform .2s ease}.create-team-close:hover{color:#000;transform:scale(1.1)}.create-team-modal h2{color:#111;font-size:22px;font-weight:600;margin-bottom:20px}.organization-form{gap:16px;width:100%}.organization-form input{border-radius:6px;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:all .2s ease}.organization-form input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}.button-group{justify-content:center;margin-top:8px}.organization-form button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:15px;padding:10px 0;transition:background-color .2s ease,transform .1s ease}.organization-form button[type=submit]{background-color:#007bff;color:#fff;font-weight:500}.organization-form button[type=submit]:hover{background-color:#0056b3;transform:translateY(-1px)}.organization-form button[type=button]{background-color:#e0e0e0;color:#333}.organization-form button[type=button]:hover{background-color:#d0d0d0}.sidebar{background-color:#1f2937;border-right:1px solid #334155;bottom:0;box-shadow:2px 0 6px #0000001a;flex-direction:column;height:100%;left:0;padding:20px 0;position:fixed;top:0;width:80px;z-index:1001}.sidebar,.sidebar-icon{align-items:center;display:flex}.sidebar-icon{color:#e5e7eb;cursor:pointer;font-size:22px;justify-content:center;margin:18px 0;position:relative;transition:all .25s ease}.sidebar-icon:hover{color:#3b82f6;transform:translateY(-2px)}.sidebar-icon.active{background:#3b82f61a;border-radius:10px;color:#3b82f6;padding:8px}.sidebar-icon:after{background:#374151;border-radius:6px;color:#f9fafb;content:attr(data-tooltip);font-size:13px;left:100%;margin-left:10px;opacity:0;padding:6px 10px;position:absolute;top:50%;transform:translateY(-50%);transition:all .25s ease;visibility:hidden;white-space:nowrap}.sidebar-icon:hover:after{opacity:1;visibility:visible}.team-entry{color:#f1f5f9;margin:12px 0;text-align:center;width:100%}.team-actions,.team-entry{align-items:center;display:flex;flex-direction:column}.team-name{color:#d1d5db;font-size:12px;margin-top:4px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:6px;margin-top:6px;opacity:0;transition:opacity .2s ease}.team-entry:hover .action-buttons{opacity:1}.team-action-dropdown{position:relative}.team-action-trigger{background:#3b82f626;border:none;border-radius:30px;color:#93c5fd;cursor:pointer;padding:4px 8px;transition:background .2s ease,color .2s ease}.team-action-trigger.is-open,.team-action-trigger:hover{background:#3b82f64d;color:#fff}.team-action-menu{background:#111827;border:1px solid #94a3b84d;border-radius:10px;box-shadow:0 12px 24px #0f172a73;display:flex;flex-direction:column;gap:4px;min-width:180px;padding:6px;position:fixed;z-index:1100}.team-action-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#e2e8f0;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;transition:background .15s ease,color .15s ease}.team-action-item svg{font-size:12px}.team-action-item:hover{background:#3b82f633;color:#fff}.team-action-item.delete{color:#fca5a5}.team-action-item.delete:hover{background:#f871712e;color:#fff}.team-edit-popover{left:90px!important}.team-edit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.team-edit-header h4{color:#e2e8f0;font-size:14px;font-weight:600;margin:0}.team-edit-close{align-items:center;background:#94a3b833;border:none;border-radius:50%;color:#e2e8f0;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .2s ease,color .2s ease;width:28px}.team-edit-close:hover{background:#f8717140;color:#fff}.team-edit-form{display:flex;flex-direction:column;gap:12px}.team-edit-form input{background:#0f172abf;border:1px solid #94a3b866;border-radius:10px;color:#f1f5f9;font-size:14px;outline:none;padding:10px 14px}.team-edit-form input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.team-edit-actions .btn-cancel,.team-edit-actions .btn-save{border:none;border-radius:8px;cursor:pointer;font-size:13px;padding:7px 14px;transition:background .2s ease,color .2s ease}.btn-cancel{color:#cbd5f5}.btn-cancel:hover{background:#94a3b84d}.btn-save{background:#3b82f6}.btn-save:hover{background:#2563eb}.organization-form{align-items:stretch;display:flex;flex-direction:column}.organization-form input{border:1px solid #ccc;border-radius:8px;font-size:14px;margin-bottom:15px;padding:10px 12px;transition:border-color .2s;width:100%}.organization-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.button-group{display:flex;gap:10px;justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 14px;transition:background-color .2s}.team-edit-popover{background:#0f172a;border:1px solid #94a3b859;border-radius:14px;box-shadow:0 18px 40px #0f172a99;box-sizing:border-box;max-width:260px;overflow:hidden;padding:16px;position:fixed;width:260px;z-index:1200}.team-edit-actions,.team-edit-form input{box-sizing:border-box;max-width:100%;width:100%}.team-edit-actions{display:flex;flex-wrap:nowrap;gap:10px;justify-content:flex-end}.btn-cancel{background:#94a3b833;color:#e2e8f0}.btn-cancel:hover{background:#94a3b859;color:#fff}.options-panel{background:#fff;border:1px solid #e2e8f0e6;border-radius:14px;box-shadow:0 16px 35px #0f172a2e;min-width:240px;padding:14px 16px 12px;position:absolute;z-index:1000}.options-header{align-items:flex-start;border-bottom:1px solid #edf2f7;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.options-title{color:#0f172a;font-size:14px;font-weight:600;margin:0}.options-subtitle{color:#64748b;font-size:12px;margin:2px 0 0}.options-panel .close-button{align-items:center;background:#94a3b82e;border:none;border-radius:999px;color:#475569;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:background .2s ease,color .2s ease;width:28px}.options-panel .close-button:hover{background:#47556933;color:#0f172a}.options-body{display:flex;flex-direction:column;gap:6px}.options-action{align-items:flex-start;background:#f8fafc;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px;text-align:left;transition:background .2s ease,transform .1s ease;width:100%}.options-action:hover{background:#eef2ff;transform:translateY(-1px)}.options-action.is-danger{background:#fef2f2}.options-action.is-danger:hover{background:#fee2e2}.action-icon{align-items:center;background:#3b82f61f;border-radius:8px;color:#1d4ed8;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:center;width:28px}.options-action.is-danger .action-icon{background:#ef44441f;color:#b91c1c}.action-text{display:flex;flex-direction:column;gap:2px}.action-label{color:#0f172a;font-size:14px;font-weight:600}.action-description{color:#64748b;font-size:12px}.modal-overlay{align-items:center;animation:fadeIn .25s ease forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182773;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.modal-content{align-items:stretch;animation:slideUp .3s ease forwards;background:#fff;border-radius:18px;box-shadow:0 8px 30px #00000040;box-sizing:border-box;flex-direction:column;max-width:440px;padding:2rem;width:90%}.modal-content h2{border-bottom:1px solid #f3f4f6;color:#111827;font-size:1.6rem;font-weight:700;margin-bottom:1.3rem;margin-left:auto;margin-right:auto;padding-bottom:.75rem;text-align:center}.modal-content h2,.modal-form{box-sizing:border-box;width:100%}.modal-form{display:flex;flex-direction:column;gap:1.2rem}.modal-form input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;color:#111827;font-size:1rem;padding:14px 16px;transition:all .25s ease;width:100%}.modal-form input:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;outline:none}.modal-actions{box-sizing:border-box;display:flex;gap:.8rem;justify-content:flex-end;margin-top:1rem;width:100%}.btn-primary,.btn-secondary{border:none;border-radius:10px;box-sizing:border-box;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 22px;transition:all .25s ease}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb;box-shadow:0 4px 8px #2563eb40;transform:translateY(-1px)}.btn-secondary{background-color:#e5e7eb;color:#111827}.btn-secondary:hover{background-color:#d1d5db;transform:translateY(-1px)}@keyframes slideUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.modal-content{padding:1.5rem}.modal-form input{font-size:.95rem}.btn-primary,.btn-secondary{font-size:.9rem;padding:8px 16px}}.home-container{display:flex;font-family:Arial,sans-serif;height:100vh}.main-content{display:flex;flex-direction:column;padding-left:80px}.content{flex:1 1;padding:20px}.title{font-size:30px;font-weight:700;margin-bottom:20px}.boards-container{display:flex;flex-wrap:wrap;gap:20px}.board-box{align-items:center;background-color:#3498db;border:none;border-radius:14px;box-shadow:0 8px 24px #0f172a14;color:#fff;display:flex;font-size:20px;font-weight:600;height:240px;justify-content:center;margin-left:60px;margin-right:10px;text-decoration:none;transition:box-shadow .3s,transform .3s,background .3s;width:220px}.board-box:hover{background-color:#2980b9;box-shadow:0 12px 30px #0f172a26;transform:translateY(-4px)}.new-board{font-size:18px;font-weight:700}.new-board-box{margin-left:0}.cards{margin-left:80px}.canvases,.cards{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}.canvas-item-container{cursor:pointer;position:relative;transition:background-color .3s ease}.canvas-item-container.selected{background-color:#007bff1a;border:2px solid #007bff}.canvas-item-container.selected:after{background-color:#007bff;border-radius:4px;color:#fff;content:"Selected";font-size:12px;padding:2px 8px;position:absolute;right:10px;top:10px}.canvas-item{align-items:stretch;background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 24px #0f172a14;color:#2c3e50;display:flex;flex-direction:column;font-size:18px;height:240px;justify-content:flex-start;margin:0 5px;overflow:hidden;text-decoration:none;transition:box-shadow .3s,transform .3s;width:220px}.canvas-item:hover{box-shadow:0 12px 30px #0f172a26;transform:translateY(-4px)}.canvas-preview{background:#f5f5f5;height:120px;object-fit:cover;width:100%}.canvas-body{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px 14px 16px}.canvas-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.canvas-item h2{font-size:17px;font-weight:600;margin:0;text-align:left}.canvas-case-id{color:#6b7280;font-size:13px;margin:0;text-align:left}.canvas-source-link{align-items:center;background:#2563eb14;border-radius:999px;color:#2563eb;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px;text-decoration:none;transition:background .3s,color .3s;width:-webkit-fit-content;width:fit-content}.canvas-source-link:hover{background:#2563eb26;color:#1d4ed8}.personal-icon{color:#94a3b8;font-size:15px}.dots{display:none;position:absolute;right:10px;top:10px}.canvas-item-container:hover .dots{display:block}.tabs{display:flex;justify-content:center;margin-bottom:20px}.tab-button{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:16px;font-weight:700;margin:0 10px;padding:10px 20px;transition:background-color .3s,transform .3s,box-shadow .3s}.tab-button:hover{background-color:#dce6f1;box-shadow:0 4px 6px #0003;transform:translateY(-2px)}.tab-button.active{background-color:#3498db;border-color:#3498db;color:#fff}.obs-header{align-items:center;background-color:#f0f4f8;display:flex;justify-content:space-between;padding:10px;width:100%}.obs-canvas-container{display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:10px}.obs-canvas-header{background:#f0f4f8;padding:10px}.obs-canvas-header input{border:1px solid #ccc;padding:5px}.obs-canvas{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;grid-template-rows:repeat(3,2fr);height:100vh;padding-bottom:10px;padding-top:10px;position:relative;z-index:1}.obs-cell:first-child{font-size:15px;grid-column:1/2;grid-row:1/2}.obs-cell:nth-child(5){font-size:15px;grid-column:2/3;grid-row:1/3}.obs-cell:nth-child(6){font-size:15px;grid-column:3/4;grid-row:1/3}.obs-cell:nth-child(7){font-size:15px;grid-column:4/5;grid-row:1/2}.obs-cell:nth-child(2){font-size:15px;grid-column:1/2;grid-row:2/3}.obs-cell:nth-child(8){font-size:15px;grid-column:4/5;grid-row:2/3}.obs-cell:nth-child(3){font-size:15px;grid-column:1/2;grid-row:3/4}.obs-cell:nth-child(4){font-size:15px;grid-column:2/3;grid-row:3/4}.obs-cell:nth-child(9){font-size:15px;grid-column:3/4;grid-row:3/4}.obs-cell:nth-child(10){font-size:15px;grid-column:4/5;grid-row:3/4}.obs-title{font-size:35px;font-weight:500;padding:20px;text-align:center}.obs-modal{background-color:#0006;display:none;height:100%;left:0;overflow:auto;padding-top:60px;position:fixed;top:0;width:100%;z-index:1000}.obs-modal-content{background-color:#fefefe;border:1px solid #888;margin:5% auto;max-width:600px;padding:20px;text-align:left;width:80%}.obs-close{color:#aaa;float:right;font-size:28px;font-weight:700}.obs-close:focus,.obs-close:hover{color:#000;cursor:pointer;text-decoration:none}.obs-plus-button{background-color:#007bff;border:none;border-radius:50%;bottom:10px;color:#fff;cursor:pointer;font-size:16px;padding:5px 10px;position:absolute;right:10px;z-index:1}.obs-plus-button:hover{background-color:#0056b3}.obs-dropdown-menu{background-color:#f9f9f9;border:1px solid #ccc;bottom:50px;display:none;padding:20px;position:absolute;right:10px;z-index:1000}.obs-dropdown-menu.hidden{display:none}.obs-dropdown-menu:not(.hidden){display:block}.obs-close-button{background:none;border:none;color:#000;cursor:pointer;font-size:20px;position:absolute;right:10px;top:10px}.obs-menu-item{align-items:center;cursor:pointer;display:flex;padding:5px 0}.obs-menu-icon{height:20px;margin-right:10px;width:20px}.obs-sticky-note{background-color:#ffeb3b;border-radius:5px;box-shadow:0 8px 16px #0003;font-family:Arial,sans-serif;margin-top:10px;padding:20px;position:absolute;width:calc(100% - 40px);z-index:1000}.obs-sticky-note label{display:block;font-weight:700;margin:5px 0 2px}.obs-sticky-note input[type=text],.obs-sticky-note textarea{background:none;border:none;font-family:Arial,sans-serif;margin-bottom:10px;resize:none;width:100%}.obs-sticky-note input[type=text]:focus,.obs-sticky-note textarea:focus{outline:none}.obs-sticky-note-buttons{text-align:right}.obs-sticky-note-buttons button{border:none;border-radius:5px;color:#fff;cursor:pointer;margin-left:5px;padding:5px 10px}.obs-save-button{background-color:green}.obs-cancel-button{background-color:red}.obs-save-button:hover{background-color:#059036}.obs-cancel-button:hover{background-color:#eb4545}.obs-saved-note{background-color:#ffeb3b;border-radius:5px;box-shadow:0 8px 16px #0003;font-family:Arial,sans-serif;font-size:2px;font-size:12px;height:30px;min-height:30px;min-width:30px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap;width:30px}.obs-saved-note strong{display:block;margin-bottom:5px}.obs-saved-note a,.obs-saved-note p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-saved-note a{margin-top:5px}.obs-saved-note.selected{border:2px solid blue}.obs-grouped-note{align-items:center;background-color:#ff5722;border-radius:5px;color:#fff;display:flex;font-size:20px;font-weight:700;height:60px;justify-content:center;padding:10px;text-align:center;width:60px}.obs-grouped-sticky-note{background-color:#add8e6;border:1px solid #ddd;cursor:pointer;font-size:7px;height:30px;margin-bottom:10px;padding:10px;width:30px}.obs-grouped-sticky-note.expanded{background-color:#e0f7fa}.obs-group-details{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.obs-grouped-sticky-note.expanded .obs-group-details{max-height:500px}.obs-sidebar-item{align-items:center;background-color:#fff;border:1px solid #ddd;cursor:pointer;display:flex;margin-bottom:10px;padding:10px}.obs-sidebar-item img{margin-right:10px}.obs-cell{background-color:#f9f9f9;border:1px solid #232323;flex:1 1;margin:2px;min-height:200px}.obs-saved-note{background-color:#fff;border:1px solid #ccc;margin-bottom:10px;padding:10px}.obs-saved-note.selected{background-color:#e0e0e0}.obs-context-menu{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0000001a;padding:10px;position:absolute;z-index:1000}.obs-context-menu-option{cursor:pointer;padding:5px 10px}.obs-context-menu-option:hover{background-color:#f0f0f0}.obs-app-container{display:flex;flex-direction:column;height:100vh}.search-panel{top:80px}.obs-main-content{flex:1 1;padding:20px;position:relative;z-index:1}.obs-canvas-header{display:flex;justify-content:space-between;margin-bottom:20px}.obs-canvas-title{font-size:24px;font-weight:700;margin-bottom:20px}.obs-main-content{transform-origin:top left;transition:transform .3s ease}.obs-main-content.grabbing{cursor:grabbing}.obs-main-content.grab{cursor:grab}.obs-disarm-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:10px;padding:5px 10px}.obs-disarm-button:hover{background-color:#0056b3}.canvas-header{align-items:center;background:linear-gradient(90deg,#f8fafc,#eef3f8);border:1px solid #d9e1eb;border-radius:10px;box-shadow:0 2px 6px #0000000d;margin:20px 0;padding:14px 20px}.header-left,.header-right{align-items:center;display:flex;gap:10px}.header-label{color:#333;font-size:15px;font-weight:600}.header-value{box-shadow:inset 0 1px 2px #0000000d;color:#222;font-weight:500;padding:6px 12px}.header-input,.header-value{background:#fff;border:1px solid #d9e1eb;border-radius:6px;font-size:14px}.header-input{box-shadow:inset 0 1px 1px #0000000d;color:#333;padding:7px 12px;transition:all .2s ease;width:260px}.header-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}@media (max-width:768px){.canvas-header{align-items:flex-start;flex-direction:column;gap:12px}.header-input,.header-right{width:100%}}.preview-indicator{align-items:center;background:#1e40aff2;border-radius:999px;box-shadow:0 8px 20px #0000002e;color:#fff;display:inline-flex;font-size:13px;gap:10px;letter-spacing:.2px;padding:8px 12px;position:fixed;right:24px;top:76px;z-index:2200}.preview-indicator:before{content:"Preview Mode";font-weight:600}.exit-preview-btn{background:#fff;border:1px solid #fff9;border-radius:999px;color:#1f2937;cursor:pointer;font-size:12px;padding:6px 10px;transition:all .15s ease-in-out}.exit-preview-btn:hover{background:#f3f4f6}.is-preview{filter:saturate(.98)}.update-indicator{color:#4caf50;font-size:14px;font-weight:700;margin-left:10px}.sticky-note-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999}.sticky-note-modal{border-radius:10px;box-shadow:0 4px 8px #0003;max-width:100%;padding:20px;position:relative;text-align:left;width:300px}.sticky-note-modal .modal-content{display:flex;flex-direction:column}.sticky-note-modal .modal-content label{font-weight:700;margin:10px 0 5px}.sticky-note-modal .modal-content input,.sticky-note-modal .modal-content textarea{border:none;border-radius:5px;box-shadow:inset 0 0 5px #0000001a;font-size:14px;margin:5px 0;padding:10px;resize:none}.sticky-note-modal .modal-content input{height:30px}.sticky-note-modal .modal-content textarea{height:100px}.sticky-note-modal .modal-buttons{display:flex;justify-content:space-between;margin-top:10px}.sticky-note-modal .modal-buttons button{border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}.sticky-note-modal .modal-buttons button.save{background-color:green}.sticky-note-modal .modal-buttons button.delete{background-color:red}.sticky-notes-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sticky-notes-modal{background:#fff;border-radius:8px;box-shadow:0 0 10px #0000004d;max-height:80%;overflow-y:auto;padding:20px;width:80%}.close-modal-button{background:#d9534f;border:none;border-radius:4px;color:#fff;cursor:pointer;float:right;padding:10px}.modal-content{display:flex;flex-wrap:wrap;gap:20px}.large-sticky-note{border-radius:8px;box-shadow:0 0 5px #0000004d;padding:20px;width:calc(33.333% - 20px)}.large-sticky-note h3{margin-top:0}.large-sticky-note p{margin:10px 0}.large-sticky-note a{color:blue;text-decoration:underline}.url-input-modal{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.url-input-box{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0003;min-width:300px;padding:20px 24px;text-align:center}.url-input-field{border:1px solid #ccc;border-radius:6px;margin:10px 0;padding:8px;width:100%}.url-input-buttons{display:flex;justify-content:space-between}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;padding:6px 12px;transition:background .2s}.btn-save{background:#007bff;color:#fff}.btn-save:hover{background:#0069d9}.btn-cancel{background:#e0e0e0}.btn-cancel:hover{background:#ccc}.obs-expanded body{overflow:hidden;position:fixed}.obs-cell{overflow:scroll;overflow:hidden}.obs-cell h3{font-size:98%}.obs-cell .obs-expand-notes-button{background:none;border:none;cursor:pointer}.obs-cell .obs-disarm-button:hover{background-color:#0056b3}.obs-sticky-notes-container{flex-wrap:wrap;gap:10px}.obs-expanded .obs-saved-note{background-color:#ffeb3b;border-radius:5px;box-shadow:0 8px 16px #0003;font-family:Arial,sans-serif;font-size:10px;font-size:12px;height:30px;min-height:180px;min-width:180px;overflow:hidden;padding:10px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap;width:30px}.obs-saved-note.obs-selected{outline:2px solid #2f80ff;outline-offset:2px}.obs-expanded{height:85%;transform:translate(-50%,-50%) scale(1);width:85%}.obs-expanded .obs-sticky-notes-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.obs-expanded h3{border-bottom:1px solid #e3e8ef;font-size:1.4rem;margin-bottom:10px}.obs-expanded .obs-expand-notes-button{background:#f2f5f9;border:1px solid #d5dbe5;border-radius:8px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.obs-expanded .obs-expand-notes-button:hover{background:#ff4d4d;color:#fff}.obs-expanded .obs-tags-container{display:flex;flex-wrap:wrap;gap:10px}.obs-expanded .obs-tag{background:#e7eefb;border:1px solid #c5d3f0;border-radius:20px;color:#2a4b8d;font-size:14px;font-weight:500;padding:6px 12px}body.expanded-body:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;transition:opacity .3s ease}.obs-info-icon{padding-left:10px}.obs-expanded .obs-info-icon{display:none}.obs-thumbnail{align-items:center;display:flex;margin-bottom:10px}.obs-thumbnail img{margin-right:10px}.obs-tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.obs-tag{align-items:center;background:#e0e0e0;border-radius:12px;display:flex;font-size:13px;gap:6px;padding:5px 10px;transition:background-color .2s ease}.obs-tag:hover{background:#dcdcdc}.obs-tag-delete{align-items:center;background:none;border:none;color:#555;cursor:pointer;display:flex;font-size:12px;padding:0}.obs-tag-delete:hover{color:red}.obs-expanded-body{overflow:hidden;position:fixed;width:100%}.obs-visible{display:block}.obs-hidden{display:none}.obs-lock-icon{color:#333;font-size:8px;left:2px;position:absolute;top:8px}.obs-expanded{animation:expandIn .25s ease-out;border:1px solid #dce3eb;border-radius:12px;box-shadow:0 8px 30px #00000026;height:80%;padding:25px;top:60px;transform:translateX(-50%);transition:all .3s ease;width:90%;z-index:2000}body.expanded-body:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;z-index:1500}body.expanded-body{overflow:hidden}.obs-expanded h3{color:#333;font-size:1.2rem;margin-bottom:20px}.obs-expanded h3 .obs-expand-notes-button{background:#f2f5fa;border:none;border-radius:6px;cursor:pointer;padding:6px 10px;transition:all .2s ease}.obs-expanded h3 .obs-expand-notes-button:hover{background:#007bff;color:#fff}.obs-expanded .obs-saved-note{box-shadow:0 4px 10px #0000001a;height:auto;min-height:200px;min-width:200px;padding:15px;width:auto}.obs-expanded .obs-saved-note:hover{transform:translateY(-3px)}.obs-expanded .obs-expand-notes-button{color:#333;font-size:18px}.obs-expanded .obs-expand-notes-button:hover{color:#ff4d4d}.obs-expanded:after{border-radius:12px;box-shadow:inset 0 0 0 1px #00000008;content:"";inset:0;pointer-events:none;position:absolute}.obs-cell{background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;padding:10px;position:relative;scrollbar-gutter:stable;transition:box-shadow .2s ease,border-color .2s ease}.obs-cell:hover{border-color:#c3d2e6;box-shadow:0 2px 8px #00000014}.obs-cell::-webkit-scrollbar{width:6px}.obs-cell::-webkit-scrollbar-thumb{background-color:#c7d2e0;border-radius:6px}.obs-cell::-webkit-scrollbar-thumb:hover{background-color:#a7b5c5}.obs-cell::-webkit-scrollbar-track{background:#0000}.obs-expanded{animation:focusZoomIn .35s ease-out forwards;background:#fff;border:1px solid #e0e6ee;border-radius:16px;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;gap:20px;height:85vh;left:50%;overflow-x:hidden;overflow-y:auto;padding:30px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:3000}body.expanded-body:before{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;content:"";inset:0;position:fixed;z-index:2500}.obs-expanded h3{align-items:center;border-bottom:1px solid #e5eaf0;color:#222;display:flex;font-size:1.5rem;font-weight:700;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.obs-expanded .obs-saved-note{background-color:#f9fca8;border-radius:10px;box-shadow:0 4px 12px #0000001a;font-size:14px;min-height:160px;padding:12px;transition:transform .2s ease;width:220px}.obs-expanded .obs-saved-note:hover{transform:translateY(-4px)}.obs-expanded .obs-sticky-notes-container{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-top:15px}.obs-url-card{box-sizing:border-box;max-width:100%}.obs-url-domain,.obs-url-full{line-height:1.2}.obs-url-delete-btn{flex-shrink:0}.obs-sticky-notes-container{display:flex;flex-direction:column;gap:8px;margin-top:20px;max-height:100%;overflow-y:auto;position:relative;scrollbar-width:thin}.obs-expanded .obs-url-card{align-items:center;background:#fff;border:1px solid #dce3eb;border-radius:10px;box-shadow:0 2px 8px #0000000d;display:flex;padding:10px 14px;transition:all .2s ease}.obs-expanded .obs-url-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.obs-expanded .obs-sticky-notes-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.obs-url-card{align-items:center;background:#f9fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000d;display:flex;margin:6px 0;overflow:hidden;padding:8px 12px;position:relative;transition:all .2s ease}.obs-url-card:hover{background:#fff;box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.obs-url-link{align-items:center;color:#1e293b;display:flex;min-width:0;text-decoration:none;width:100%}.obs-url-favicon{flex-shrink:0;height:18px;margin-right:8px;width:18px}.obs-url-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.obs-url-domain{color:#111827;font-size:13px;font-weight:600}.obs-url-domain,.obs-url-full{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-url-full{color:#475569;font-size:11px}.obs-url-card.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.obs-url-delete-btn{background:#0000;border:none;color:#9ca3af;cursor:pointer;font-size:14px;position:absolute;right:8px;top:5px;transition:color .2s ease}.obs-url-delete-btn:hover{color:#ef4444}.preview-changed{border:2px solid #fc0}.preview-added{animation:fadeInHighlight .8s ease-out;box-shadow:0 0 10px #4caf50}.preview-removed{animation:fadeOutHighlight .8s ease-out;box-shadow:0 0 10px #f44336}.preview-changed{border:2px solid #fc0!important}@keyframes fadeInHighlight{0%{background-color:#c8e6c9}to{background-color:inherit}}@keyframes fadeOutHighlight{0%{background-color:#ffcdd2}to{background-color:inherit}}.preview-added{animation:fadeIn .4s ease-in;border:3px solid #4caf50!important}.preview-removed{border:3px solid #f44336!important;opacity:.6}.preview-changed{background-color:#fff3b0!important;border:2px dashed #fc0!important}.preview-added{box-shadow:0 0 0 3px #4caf5040;outline:2px solid #4caf50}.preview-removed{box-shadow:0 0 0 3px #f4433633;opacity:.5;outline:2px dashed #f44336}.preview-changed{box-shadow:0 0 0 3px #ffcc0040;outline:2px solid #fc0}.obs-url-card.preview-added,.obs-url-card.preview-removed{transition:border .2s ease,opacity .2s ease,box-shadow .2s ease}.obs-cell .obs-disarm-button:disabled{cursor:not-allowed;opacity:.6}.obs-saved-note.preview-added{background:#f0fdf4!important;border:1px solid #86efac!important;box-shadow:0 0 0 2px #16a34a26!important;position:relative}.obs-saved-note.preview-added:after{background:#16a34a;border-radius:10px;color:#fff;content:"Added";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.obs-saved-note.preview-removed{background:#fef2f2!important;border:1px dashed #fca5a5!important;opacity:.85;position:relative}.obs-saved-note.preview-removed:after{background:#dc2626;border-radius:10px;color:#fff;content:"Removed";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.obs-saved-note.preview-updated{background:#fffbeb!important;border:1px solid #fcd34d!important;box-shadow:0 0 0 2px #fbbf2433!important;position:relative}.obs-saved-note.preview-updated:after{background:#d97706;border-radius:10px;color:#fff;content:"Edited";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.obs-url-card.preview-added{background:#f0fdf4!important;border:1px solid #86efac!important;box-shadow:0 0 0 2px #16a34a26!important;position:relative}.obs-url-card.preview-added:after{background:#16a34a;border-radius:10px;color:#fff;content:"Added";font-size:10px;font-weight:600;left:10px;padding:2px 6px;position:absolute;top:6px}.obs-url-card.preview-removed{background:#fef2f2!important;border:1px dashed #fca5a5!important;opacity:.85;position:relative}.obs-url-card.preview-removed:after{background:#dc2626;border-radius:10px;color:#fff;content:"Removed";font-size:10px;font-weight:600;left:10px;padding:2px 6px;position:absolute;top:6px}.obs-saved-note{align-items:flex-start;background-color:#fff88a;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#222;cursor:pointer;display:flex;flex-direction:column;font-family:Nunito,sans-serif;justify-content:flex-start;max-height:75px;max-width:85px;min-height:55px;min-width:60px;overflow:hidden;padding:5px 6px;position:relative;transition:transform .15s ease,box-shadow .15s ease}.obs-saved-note:hover{background-color:#fffac0;box-shadow:0 3px 6px #00000026;transform:translateY(-2px)}.obs-saved-note strong{font-size:clamp(7px,.9vw,10px);font-weight:700;margin-bottom:2px}.obs-saved-note p,.obs-saved-note strong{text-align:left;white-space:normal;width:100%;word-break:break-word}.obs-saved-note p{word-wrap:break-word;flex:1 1;font-size:clamp(5px,.7vw,9px);line-height:1.05;margin:0;overflow:visible}.obs-saved-note a{color:#0047ab;font-size:clamp(5px,.7vw,8px);margin-top:2px;width:100%;word-break:break-all}.obs-expanded .obs-saved-note{box-shadow:0 4px 10px #00000026;font-size:clamp(7px,.9vw,11px);min-height:85px;min-width:100px;padding:6px}.obs-expanded .obs-saved-note strong{font-size:clamp(8px,1vw,12px)}.obs-expanded .obs-saved-note p{font-size:clamp(6px,.9vw,10px);line-height:1.15}.obs-section-stack{display:flex;flex-direction:column;gap:10px}.obs-notes-grid{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.obs-expanded .obs-notes-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.obs-urls-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.obs-cell .obs-section-stack{max-height:100%}.obs-lock-badge{align-items:center;background:#fffc;border-radius:50%;color:#333;display:flex;font-size:14px;height:20px;justify-content:center;position:absolute;right:4px;top:4px;width:20px;z-index:10}.obs-lock-permanent{background-color:#c8c8c8e6;border:2px solid #555}.obs-lock-editing{animation:pulse-blue 1.5s ease-in-out infinite;border:2px dashed #1e90ff;color:#1e90ff}@keyframes pulse-blue{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.obs-url-card.editing-locked{cursor:wait}.obs-lock-badge.obs-lock-editing{position:absolute;right:4px;top:4px;z-index:2}.obs-avatar-badge{align-items:center;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6;color:#fff;display:inline-flex;font-size:12px;font-weight:600;height:22px;justify-content:center;width:22px}.obs-cell-header{align-items:center;border-bottom:1px solid #e6eaf0;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.obs-cell-title{color:#222;font-size:1rem;font-weight:600}.obs-header-actions{align-items:center;display:flex;gap:8px}.obs-disarm-lock-indicator{align-items:center;background:#f7f9fc;border:1px solid #e0e6ef;border-radius:999px;color:#4a5668;display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px 4px 4px}.obs-disarm-lock-text{font-weight:500;white-space:nowrap}.obs-expand-notes-button{align-items:center;background:#f5f7fa;border:1px solid #dce3eb;border-radius:6px;color:#333;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.obs-expand-notes-button:hover{background:#007bff;border-color:#007bff;color:#fff;transform:scale(1.05)}.obs-expand-notes-button.active{background:#007bff;border-color:#007bff;box-shadow:0 0 6px #007bff4d;color:#fff}.obs-info-icon{color:#666;cursor:pointer;font-size:1rem;transition:color .2s ease}.obs-info-icon:hover{color:#007bff}body.expanded-body .canvas{transform:none!important}body.expanded-body .obs-expanded{z-index:3001}.obs-note-preview{background:#0f172a;border:1px solid #94a3b859;border-radius:12px;box-shadow:0 18px 46px #0f172a73;color:#f8fafc;display:flex;flex-direction:column;gap:10px;max-height:min(280px,calc(100vh - 32px));overflow:auto;padding:14px 16px;pointer-events:auto;position:fixed;width:min(320px,calc(100vw - 32px));z-index:3500}.obs-note-preview-header{display:flex;flex-direction:column;gap:4px}.obs-note-preview-header span{font-size:15px;font-weight:600}.obs-note-preview-header time{color:#e2e8f0bf;font-size:12px}.obs-note-preview-body p{color:#e2e8f0;font-size:14px;line-height:1.45;margin:0;white-space:pre-wrap}.obs-note-preview-body a{color:#60a5fa;margin-top:8px;text-decoration:underline;word-break:break-all}.toolbar{border-radius:8px;box-shadow:0 0 10px #0000001a;margin-left:5px;margin-right:5px;padding:10px}.toolbar-item{margin:10px 0;position:relative;transition:background-color .3s ease}.tooltip{background-color:#333;border-radius:6px;color:#fff;font-size:13px;left:60px;opacity:0;padding:6px 10px;pointer-events:none;transform:translateY(-50%);transform-origin:left center;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;z-index:999}.tooltip,.tooltip:after{position:absolute;top:50%}.tooltip:after{border:5px solid #0000;border-right-color:#333;content:"";left:-5px;transform:translateY(-50%)}.parent-container,.toolbar{position:relative;z-index:4000}.tooltip{z-index:10000}.toolbar-item:hover .tooltip{opacity:1;transform:translateY(-50%) translateX(4px)}.toolbar-item.selected{background-color:#e6e6ff;border-radius:8px}.toolbar-item.disabled{cursor:not-allowed;opacity:.4}.toolbar-item.disabled .toolbar-icon,.toolbar-item.disabled input{pointer-events:none}.toolbar-item i{font-size:24px}.icon-pointer:before{content:"\f245"}.icon-grid:before{content:"\f00a"}.icon-text:before{content:"\f031"}.icon-square:before{content:"\f0c8"}.icon-circle:before{content:"\f111"}.icon-arrow:before{content:"\f061"}.icon-pen:before{content:"\f304"}.icon-align:before{content:"\f036"}.icon-grid-2:before{content:"\f00b"}.icon-repeat:before{content:"\f01e"}.icon-rotate:before{content:"\f0e2"}.toolbar-icon{align-items:center;display:inline-flex;font-size:24px;justify-content:center}.color-input{background:#0000;border:none;cursor:pointer;height:32px;margin-left:8px;padding:0;width:32px}.color-input:disabled{cursor:not-allowed;opacity:.6}.toolbar-text{color:#333;font-size:14px;white-space:nowrap}.sticky-notes-header{font-weight:700;margin-bottom:10px;text-align:center}.sticky-notes{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(2,1fr)}.sticky-note{border:1px solid #000;box-shadow:2px 2px 5px #0000004d;cursor:pointer;height:40px;width:40px}.sticky-notes-footer{border-top:1px solid #ddd;font-size:14px;margin-top:10px;padding-top:10px;text-align:center}.url-input{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;padding:10px}.url-input label{font-weight:700;margin-bottom:5px}.url-input .input-url{border:1px solid #ccc;border-radius:3px;margin-bottom:10px;padding:5px;width:100%}.url-buttons{display:flex;gap:10px}.cancel-url-button,.save-url-button{border:none;border-radius:3px;cursor:pointer;padding:5px 10px}.save-url-button{background-color:#4caf50;color:#fff}.cancel-url-button{background-color:#f44336;color:#fff}.parent-container{align-items:center;display:flex;height:100vh;justify-content:center}.toolbar{background-color:#fff;box-shadow:0 4px 10px #00000014;flex-direction:column;margin:5px;padding:12px;transition:all .3s ease}.toolbar,.toolbar-item{align-items:center;border-radius:10px;display:flex}.toolbar-item{cursor:pointer;height:44px;justify-content:center;margin:8px 0;padding:10px;transition:all .25s ease;width:44px}.toolbar-item:hover{background:#f1f5fb;box-shadow:0 3px 8px #007bff26;transform:scale(1.05)}.toolbar-item.selected{background:#e8f0ff;border:1px solid #007bff;box-shadow:0 0 6px #007bff40;transform:scale(1.05)}.toolbar-item.selected:hover{background:#dbe8ff;transform:scale(1.08)}.toolbar-icon{height:24px;transition:transform .2s ease,filter .2s ease;width:24px}.toolbar-item:hover .toolbar-icon{filter:brightness(1.1);transform:scale(1.15)}.toolbar:hover{box-shadow:0 6px 14px #0000001f}.sticky-notes-panel{background-color:#fff;border:2px solid #a0c4ff;border-radius:10px;margin-left:20px;padding:10px}.toolbar.hide-tooltips .tooltip{display:none!important}.color-panel{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 0 10px #0000001a;display:flex;flex-direction:column;left:-20px;padding:10px;position:fixed;position:absolute;top:50px;z-index:1000}.color-panel,.parent-container{position:relative;z-index:4000}.color-option{border:1px solid #000;box-shadow:2px 2px 5px #0000004d;cursor:pointer;height:40px;margin:5px;position:relative;width:40px;z-index:10000}.colortip{background-color:#333;border-radius:6px;color:#fff;font-size:13px;left:110%;opacity:0;padding:6px 10px;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;z-index:9999}.colortip,.colortip:after{position:absolute;top:50%;transform:translateY(-50%)}.colortip:after{border:5px solid #0000;border-right-color:#333;content:"";left:-5px}.color-option:hover .colortip{opacity:1;transform:translateY(-50%) translateX(4px)}.saved-note{align-items:center;box-shadow:2px 2px 5px #0000004d;cursor:move;justify-content:center;position:relative;resize:both}.saved-note textarea{background:#0000;border:none;box-sizing:border-box;font-family:inherit;height:100%;outline:none;overflow:hidden;padding:0;resize:none;text-align:center;width:100%}.saved-note.selected{border:2px solid #000}.resize-handle{background:#000;bottom:0;cursor:se-resize;height:10px;position:absolute;right:0;width:10px}.close-button{border-radius:3px;padding:5px 10px;right:5px;top:2px}.url-toolbar{align-items:center;background:#fff;border:1px solid #ccc;border-radius:8px;display:flex;gap:8px;padding:6px 8px;position:absolute;transition:opacity .2s ease,transform .2s ease;z-index:999}.toolbar-btn{background:#0000;border:none;color:#444;cursor:pointer;font-size:16px;padding:4px;transition:color .2s ease,transform .2s ease}.toolbar-btn:hover{color:#007bff;transform:scale(1.1)}.toolbar-btn.delete:hover{color:#dc3545}.nav-container{background-color:#fff;border-bottom:1px solid #e6e6e6;box-shadow:0 2px 10px #0000000d;justify-content:space-between;padding:12px 28px;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:10001}.nav-container,.nav-left{align-items:center;display:flex}.nav-left{gap:16px}.nav-logo{gap:10px}.nav-logo img{height:32px}.nav-title{color:#333;font-size:18px;font-weight:600;letter-spacing:.2px}.nav-right{gap:12px;position:relative}.nav-action-group,.nav-right{align-items:center;display:flex}.nav-action-group{gap:8px}.nav-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:8px 16px;transition:all .2s ease}.nav-btn.primary{background-color:#007bff;color:#fff}.nav-btn.primary:hover{background-color:#005dc8}.nav-btn.disabled,.nav-btn:disabled{cursor:not-allowed;opacity:.6}.nav-btn.primary.disabled,.nav-btn.primary:disabled{background-color:#93c5fd}.nav-btn.loading{pointer-events:none;position:relative}.nav-btn-spinner{animation:nav-spin .7s linear infinite;border:2px solid #ffffff80;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.nav-btn.secondary{background-color:#f1f3f5;color:#333}.nav-btn.secondary:hover{background-color:#e1e3e5}.nav-btn.ghost{background-color:initial;color:#555}.nav-btn.ghost:hover{color:#007bff}.nav-dropdown{position:relative}.dropdown-content{animation:fadeIn .15s ease-in-out;background-color:#fff;border:1px solid #e6e6e6;border-radius:8px;box-shadow:0 4px 14px #00000014;min-width:180px;position:absolute;right:0;top:42px}.dropdown-item{border-radius:6px;color:#333;cursor:pointer;font-size:14px;padding:10px 14px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f7f9fa}.nav-permission{border-radius:999px;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.nav-permission--edit{background-color:#ecfdf3;color:#027a48}.nav-permission--read{background-color:#eff8ff;color:#175cd3}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-spin{to{transform:rotate(1turn)}}.nav-logo{align-items:center;display:flex}.nav-logo-img{height:64px;margin-right:8px;object-fit:contain;width:auto}.active-users{align-items:center;display:flex;margin-left:12px;position:relative}.active-user-avatar{border:2px solid #fff;box-shadow:0 0 2px #0003;transition:transform .15s ease}.active-user-avatar:hover{transform:scale(1.1)}.active-user-avatar:hover:after{background:#333;border-radius:4px;color:#fff;content:attr(title);font-size:12px;left:0;padding:2px 6px;pointer-events:none;position:absolute;top:38px;white-space:nowrap}.zoom-controls{align-items:center;display:flex;margin:10px 0}.help-button,.zoom-button{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;margin:0 5px;padding:5px 10px}.zoom-level{font-weight:700;margin:0 10px}.zoom-button.reset{background-color:#007bff;border:1px solid #007bff;color:#fff;font-size:14px;padding:6px 14px}.zoom-button.reset:hover{background-color:#0056b3;border-color:#004a99}.version-panel{animation:slideIn .3s ease forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf2;border-left:1px solid #dee7efb3;box-shadow:-12px 0 32px #0f172a47;height:100vh;overflow-y:auto;padding:28px 28px 32px;position:fixed;right:0;top:0;width:420px;z-index:13000}.version-panel__top-shadow{background:linear-gradient(180deg,#0f172a1a,#0000);height:80px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.version-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.version-header__text{display:flex;flex-direction:column;gap:6px}.version-label{color:#6b7280;font-size:11px;letter-spacing:1.2px;margin:0;text-transform:uppercase}.version-header h3{color:#0f172a;font-size:1.35rem;margin:0}.version-count{color:#94a3b8;font-size:.85rem}.version-list{display:flex;flex-direction:column;gap:16px;position:relative}.version-item{background:#fff;border:1px solid #e2e8f0cc;border-radius:14px;box-shadow:0 8px 20px #0f172a0f;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.version-item:hover{box-shadow:0 12px 24px #0f172a1f;transform:translateY(-3px)}.version-item__body{align-items:center;display:flex;gap:12px}.version-pill{align-items:center;background:linear-gradient(135deg,#4f46e5,#3b82f6);border-radius:12px;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:38px;justify-content:center;width:38px}.version-meta{display:flex;flex-direction:column;gap:2px}.version-author{color:#0f172a;font-weight:600;margin:0}.version-date{color:#64748b;font-size:.85rem;margin:0}.version-summary{color:#475569;font-size:.9rem;margin:12px 0 0}.version-empty{background:#e2e8f080;border-radius:12px;color:#64748b;padding:16px;text-align:center}.actions{display:flex;gap:12px;margin-top:16px}.btn{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;padding:8px 18px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#4f46e5,#3b82f6);box-shadow:0 8px 18px #3b82f659;color:#fff}.btn.primary:hover{box-shadow:0 12px 20px #3b82f673}.btn.ghost{background:#94a3b833;color:#0f172a}.btn.ghost:hover{background:#94a3b859}.close-btn{align-items:center;background:#0f172a14;border:none;border-radius:999px;color:#0f172a;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s ease,transform .2s ease;width:36px}.close-btn:hover{background:#0f172a26;transform:scale(1.05)}.share-modal{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.share-modal__backdrop{background:#10182880;inset:0;position:absolute}.share-modal__panel{background:#fff;border-radius:12px;box-shadow:0 24px 48px #0f172a2e;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto;padding:24px;position:relative;width:min(540px,92vw);z-index:1}.share-modal__header{align-items:center;display:flex;justify-content:space-between}.share-modal__header h3{color:#101828;font-size:1.25rem;margin:0}.share-modal__close{background:none;border:none;color:#475467;cursor:pointer;font-size:1.5rem}.share-modal__section{display:flex;flex-direction:column;gap:8px}.share-modal__label{color:#344054;font-size:.875rem;font-weight:600}.share-modal__link-row{align-items:stretch;display:flex;flex-wrap:wrap;gap:8px}.share-modal__input{flex:1 1}.share-modal__input,.share-modal__select{border:1px solid #d0d5dd;border-radius:8px;color:#101828;font-size:.95rem;padding:10px 12px}.share-modal__select{background-color:#fff;min-width:120px}.share-modal__button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 14px;transition:background-color .2s ease-in-out}.share-modal__button.primary{background-color:#3b82f6;color:#fff}.share-modal__button.primary:disabled{background-color:#93c5fd;cursor:not-allowed}.share-modal__button.secondary{background-color:#f2f4f7;color:#101828}.share-modal__button.secondary:disabled{cursor:not-allowed;opacity:.6}.share-modal__button.danger{background-color:#fee4e2;color:#b42318}.share-modal__form{display:flex;flex-wrap:wrap;gap:8px}.share-modal__form .share-modal__input{flex:1 1 240px}.share-modal__form .share-modal__select{flex:0 1 160px}.share-modal__form .share-modal__button{flex:0 1 120px}.share-modal__error{background-color:#fee4e2;color:#b42318}.share-modal__error,.share-modal__info{border-radius:8px;font-size:.9rem;padding:10px 12px}.share-modal__info{background-color:#eff8ff;color:#175cd3}.share-modal__hint{color:#475467;font-size:.9rem;margin:0}.share-modal__list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.share-modal__list-item{align-items:center;border:1px solid #e4e7ec;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px}.share-modal__name{color:#101828;font-weight:600}.share-modal__email{color:#475467;font-size:.85rem}.share-modal__actions{align-items:center;display:flex;gap:8px}@media (max-width:480px){.share-modal__list-item{align-items:flex-start;flex-direction:column}.share-modal__actions{align-items:stretch;flex-direction:column;width:100%}.share-modal__actions .share-modal__button,.share-modal__actions .share-modal__select{width:100%}}.selection-note-modal-backdrop{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.selection-note-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:calc(100vh - 32px);width:min(520px,calc(100vw - 32px))}.selection-note-modal footer,.selection-note-modal header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.selection-note-modal header h2{font-size:18px;margin:0}.selection-note-modal header button{background:#0000;border:none;cursor:pointer;font-size:22px}.selection-note-modal footer{border-bottom:none;border-top:1px solid #e5e7eb;gap:8px}.selection-note-modal footer button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:10px 16px}.selection-note-modal footer button.primary{background:#2563eb;border-color:#2563eb;color:#fff}.selection-note-modal footer button.primary:disabled{cursor:not-allowed;opacity:.5}.selection-note-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:16px 20px}.selection-note-body label{color:#1f2937;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:6px}.selection-note-body input,.selection-note-body select,.selection-note-body textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:8px}.selection-note-body textarea{resize:vertical}.selection-note-url{align-items:center;flex-direction:row;font-weight:500;gap:8px}.selection-note-url span{color:#4b5563;flex:1 1;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body{display:flex;flex-direction:column;font-family:Nunito,sans-serif;height:100vh;margin:0}.header{align-items:center;background-color:#f0f4f8;display:flex;justify-content:space-between;padding:10px;width:100%}.canvas-container{display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:10px}.canvas-header{background:#f0f4f8;padding:10px}.canvas-header input{border:1px solid #ccc;padding:5px}.canvas{grid-gap:10px;display:grid;grid-template-areas:"description tactics objectives audience vulnerabilities" "target . . . impact" "context . . . ." ". . . . .";grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);height:100vh;padding:10px}.cell:first-child{grid-column:1/1;grid-row:1/3}.cell:nth-child(2){grid-area:target;grid-column:1/1;grid-row:3}.cell:nth-child(3){grid-area:context;grid-column:1/3;grid-row:4}.cell:nth-child(4){grid-column:2/3;grid-row:3}.cell:nth-child(5){grid-area:tactics;grid-column:2/3;grid-row:1/3}.cell:nth-child(6){grid-column:3/3;grid-row:1/3}.cell:nth-child(7){grid-column:3/3;grid-row:3/3}.cell:nth-child(8){grid-column:4/5;grid-row:3}.cell:nth-child(9){grid-column:4/5;grid-row:1/3}.cell:nth-child(10){grid-column:5/5;grid-row:1/3}.cell:nth-child(11){grid-column:5/5;grid-row:3}.cell:nth-child(12){grid-area:context;grid-column:3/6;grid-row:4}.cell:nth-child(13){grid-column:4/5;grid-row:4}.cell:nth-child(14){grid-column:4/5;grid-row:5}.cell:nth-child(15){grid-column:4/5;grid-row:6}.title{font-size:35px;font-weight:500;padding:20px;text-align:center}.modal{background-color:#0006;display:none;height:100%;left:0;overflow:auto;padding-top:60px;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fefefe;border:1px solid #888;margin:5% auto;max-width:600px;padding:20px;text-align:left;width:80%}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;cursor:pointer;text-decoration:none}.manual-modal .manual-modal-content{background:#fff;border:none;border-radius:18px;box-shadow:0 25px 80px #0f172a33;max-width:720px;padding:32px}.manual-modal-title{color:#0f172a;font-size:24px;margin-bottom:18px}.manual-modal-body{max-height:60vh;overflow-y:auto;padding-right:12px}.manual-modal-body h1,.manual-modal-body h2{color:#0f172a}.manual-modal-body p{color:#334155;line-height:1.6}.manual-modal-body ul{color:#334155;padding-left:20px}.manual-modal-body a{color:#2563eb;text-decoration:none}.manual-modal-body a:hover{text-decoration:underline}.plus-button{background-color:#007bff;border:none;border-radius:50%;bottom:10px;color:#fff;cursor:pointer;font-size:16px;padding:5px 10px;position:absolute;right:10px;z-index:1}.plus-button:hover{background-color:#0056b3}.canvas-layered{display:block;position:relative}.cursor-layer{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:50}.remote-cursor{color:#fff;flex-direction:column;font-weight:600;gap:4px;position:absolute;transform:translate(-50%,-50%)}.remote-cursor,.remote-cursor-dot{align-items:center;display:flex;font-size:11px}.remote-cursor-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 4px 8px #0f172a59;height:22px;justify-content:center;width:22px}.remote-cursor-label{background:#0f172ad9;border-radius:999px;font-size:10px;letter-spacing:.2px;padding:2px 8px;white-space:nowrap}.dropdown-menu{background-color:#f9f9f9;border:1px solid #ccc;bottom:50px;display:none;padding:20px;position:absolute;right:10px;z-index:1000}.dropdown-menu.hidden{display:none}.dropdown-menu:not(.hidden){display:block}.close-button{background:none;border:none;color:#000;cursor:pointer;font-size:20px;position:absolute;right:10px;top:10px}.menu-item{align-items:center;cursor:pointer;display:flex;padding:5px 0}.menu-icon{height:20px;margin-right:10px;width:20px}.sticky-note{background-color:#ffeb3b;border-radius:5px;box-shadow:0 8px 16px #0003;font-family:Arial,sans-serif;margin-top:10px;padding:20px;position:absolute;width:calc(100% - 40px);z-index:1000}.sticky-note label{display:block;font-weight:700;margin:5px 0 2px}.sticky-note input[type=text],.sticky-note textarea{background:none;border:none;font-family:Arial,sans-serif;margin-bottom:10px;resize:none;width:100%}.sticky-note input[type=text]:focus,.sticky-note textarea:focus{outline:none}.sticky-note-buttons{text-align:right}.sticky-note-buttons button{border:none;border-radius:5px;color:#fff;cursor:pointer;margin-left:5px;padding:5px 10px}.save-button{background-color:green}.cancel-button{background-color:red}.save-button:hover{background-color:#059036}.cancel-button:hover{background-color:#eb4545}.sticky-notes-container{flex-wrap:wrap;gap:10px}.saved-note{background-color:#ffeb3b;border-radius:5px;box-shadow:0 8px 16px #0003;font-family:Arial,sans-serif;font-size:2px;font-size:12px;height:30px;min-height:30px;min-width:30px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap;width:30px}.saved-note strong{display:block;margin-bottom:5px}.saved-note a,.saved-note p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-note a{margin-top:5px}.saved-note.selected{border:2px solid blue}.grouped-note{align-items:center;background-color:#ff5722;border-radius:5px;color:#fff;display:flex;font-size:20px;font-weight:700;height:60px;justify-content:center;padding:10px;text-align:center;width:60px}.grouped-sticky-note{background-color:#add8e6;border:1px solid #ddd;cursor:pointer;font-size:7px;height:30px;margin-bottom:10px;padding:10px;width:30px}.grouped-sticky-note.expanded{background-color:#e0f7fa}.group-details{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.grouped-sticky-note.expanded .group-details{max-height:500px}.sidebar-item{align-items:center;background-color:#fff;border:1px solid #ddd;cursor:pointer;display:flex;margin-bottom:10px;padding:10px}.sidebar-item img{margin-right:10px}.cell{background-color:#f9f9f9;border:1px solid #232323;flex:1 1;margin:2px;min-height:200px;padding:10px}.saved-note{background-color:#fff;border:1px solid #ccc;margin-bottom:10px;padding:10px}.saved-note.selected{background-color:#e0e0e0}.context-menu{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0000001a;padding:10px;position:absolute;z-index:1000}.context-menu-option{cursor:pointer;padding:5px 10px}.context-menu-option:hover{background-color:#f0f0f0}.app-container{display:flex;flex-direction:column;height:100vh}.content-container{display:flex;flex:1 1}.search-panel{background:#fff;border-right:1px solid #d7dce3;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:250px;z-index:200}.search-panel-header{align-items:center;background:#f4f6fb;border-bottom:1px solid #d7dce3;display:flex;font-weight:600;justify-content:space-between;padding:8px 12px}.search-panel-actions{align-items:center;display:flex;gap:6px}.search-panel-close,.search-panel-reset{background:#e3e8f0;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:12px;padding:4px 8px}.search-panel-close:hover,.search-panel-reset:hover{background:#d2d8e4}.search-panel-close{font-size:16px;line-height:1;padding:4px 10px}.search-panel-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.search-results-frame{flex:1 1;min-height:0;overflow:hidden}.search-panel-body iframe,.search-results-frame iframe{border:none;height:100%;width:100%}.search-panel-resizer{background:#0000;cursor:col-resize;height:100%;position:absolute;right:-4px;top:0;width:8px}.search-panel-resizer:after{background:#00000026;bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.search-preview-resizer{cursor:row-resize;height:10px;margin-top:4px;position:relative}.search-preview-resizer:after{background:#00000026;content:"";height:2px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.search-preview-resizer-icon{color:#0006;font-size:12px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.search-preview{border-top:1px solid #d7dce3;display:flex;flex-direction:column;height:360px;margin-top:8px;min-height:200px}.search-preview-header{align-items:center;background:#eef1f6;border-bottom:1px solid #d7dce3;color:#333;display:flex;font-size:12px;justify-content:space-between;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.search-preview-header button{background:#0000;border:none;color:#555;cursor:pointer;font-size:16px}.search-preview iframe{border:none;flex:1 1;height:100%;width:100%}.main-content{flex:1 1;padding:20px}.canvas-header{display:flex;justify-content:space-between;margin-bottom:20px}.canvas-title{font-size:24px;font-weight:700;margin-bottom:20px}.main-content{transform-origin:top left;transition:transform .3s ease}.main-content.grabbing{cursor:grabbing}.main-content.grab{cursor:grab}.disarm-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:10px;padding:5px 10px}.disarm-button:hover{background-color:#0056b3}.url-card{align-items:center;background:#f9fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000d;box-sizing:border-box;display:flex;margin:6px 0;max-width:100%;overflow:hidden;padding:8px 12px;position:relative;transition:all .2s ease}.url-card:hover{background:#fff;box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.url-link{align-items:center;color:#1e293b;display:flex;min-width:0;text-decoration:none;width:100%}.url-favicon{flex-shrink:0;height:18px;margin-right:8px;width:18px}.url-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.url-domain{color:#111827;font-size:13px;font-weight:600}.url-domain,.url-full{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-full{color:#475569;font-size:11px}.url-card.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.url-delete-btn{background:#0000;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:14px;position:absolute;right:8px;top:5px;transition:color .2s ease}.url-delete-btn:hover{color:#ef4444}.sticky-notes-container{display:flex;flex-direction:column;gap:8px;margin-top:20px;max-height:100%;overflow-y:auto;position:relative;scrollbar-width:thin}.expanded body{overflow:hidden;position:fixed}.cell{max-height:600px}.cell h3{font-size:98%}.cell .header-actions{align-items:center;display:flex;gap:8px}.cell .info-button{background:none;border:none;color:#475569;cursor:pointer;font-size:15px;padding:2px}.cell .info-button:hover{color:#111827}.cell .expand-notes-button{background:none;border:none;cursor:pointer}.cell .disarm-button:hover{background-color:#0056b3}.inc-sticky-notes-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;overflow:visible;position:relative}.inc-expanded .inc-sticky-notes-grid{gap:14px}.inc-expanded .saved-note{box-shadow:0 4px 10px #00000026;font-size:clamp(7px,.9vw,11px);min-height:85px;min-width:100px;padding:6px}.saved-note{align-items:flex-start;background-color:#fff88a;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#222;cursor:pointer;display:flex;flex-direction:column;font-family:Nunito,sans-serif;justify-content:flex-start;max-height:75px;max-width:85px;min-height:55px;min-width:60px;overflow:hidden;padding:5px 6px;transition:transform .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.saved-note:hover{background-color:#fffac0;box-shadow:0 3px 6px #00000026;transform:translateY(-2px)}.saved-note strong{font-size:clamp(7px,.9vw,10px);font-weight:700;margin-bottom:2px}.saved-note p,.saved-note strong{text-align:left;white-space:normal;width:100%;word-break:break-word}.saved-note p{word-wrap:break-word;flex:1 1;font-size:clamp(5px,.7vw,9px);line-height:1.05;margin:0;overflow:visible}.saved-note a{color:#0047ab;font-size:clamp(5px,.7vw,8px);margin-top:2px;width:100%;word-break:break-all}.saved-note.selected{border-radius:6px;box-shadow:inset 0 0 0 2px #2f80ff,0 0 6px #2f80ff59;position:relative;transform:translateY(0);transition:box-shadow .15s ease,transform .15s ease;z-index:2}.saved-note.selected:hover{transform:translateY(-2px)}.saved-note.editing-locked{border-color:#1e90ff;border-style:dashed;cursor:not-allowed;opacity:.7}.inc-urls-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.inc-url-card{align-items:center;background:#f9fafc;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0f172a0d;display:flex;min-height:44px;overflow:hidden;padding:8px 12px;position:relative;transition:all .2s ease}.inc-url-card:hover{background:#fff;box-shadow:0 4px 10px #0f172a14;transform:translateY(-1px)}.inc-url-card.selected{border-color:#2f80ff;box-shadow:0 0 0 2px #2f80ff2e}.inc-url-link{align-items:center;color:#1f2937;display:flex;gap:10px;min-width:0;text-decoration:none;width:100%}.inc-url-favicon{flex-shrink:0;height:18px;width:18px}.inc-url-info{display:flex;flex-direction:column;line-height:1.2;min-width:0}.inc-url-domain{color:#0f172a;font-size:13px;font-weight:600}.inc-url-domain,.inc-url-full{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inc-url-full{color:#475569;font-size:11px}.inc-url-delete-btn{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:14px;position:absolute;right:6px;top:6px;transition:color .2s ease}.inc-url-delete-btn:hover{color:#ef4444}.editing-lock-badge{position:absolute;right:4px;top:4px}.editing-lock-badge,.inc-avatar-badge{align-items:center;display:flex;justify-content:center}.inc-avatar-badge{border-radius:50%;box-shadow:0 1px 3px #00000040;color:#fff;font-size:9px;height:16px;width:16px}.info-icon{padding-left:10px}.expanded .info-icon{display:none}.thumbnail{align-items:center;display:flex;margin-bottom:10px}.thumbnail img{margin-right:10px}.tags-container{margin-top:10px}.tag{background:#e0e0e0;border-radius:4px;display:inline-block;margin-right:5px;padding:5px 10px}.visible{display:block}.hidden{display:none}.lock-icon{color:#333;font-size:8px;left:2px;position:absolute;top:8px}.observables-container{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin-top:10px}.observable-item{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-bottom:10px;padding:10px}.observable-item:hover{background:#f1f1f1}.observable-item p{margin:0;padding:5px 0}.observable-item a{color:#007bff;text-decoration:none}.observable-item a:hover{text-decoration:underline}.saved-note.preview-added{background:#f0fdf4!important;border:1px solid #86efac!important;box-shadow:0 0 0 2px #16a34a26!important;position:relative}.saved-note.preview-added:after{background:#16a34a;border-radius:999px;color:#fff;content:"Added";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.saved-note.preview-removed{background:#fef2f2!important;border:1px dashed #fca5a5!important;opacity:.85;position:relative}.saved-note.preview-removed:after{background:#dc2626;border-radius:999px;color:#fff;content:"Removed";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.saved-note.preview-modified{background:#fff7ed!important;border:1px solid #fdba74!important;box-shadow:0 0 0 2px #fb923c33!important;position:relative}.saved-note.preview-modified:after{background:#ea580c;border-radius:999px;color:#fff;content:"Modified";font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.inc-url-card.preview-added{background:#f0fdf4!important;border:1px solid #86efac!important;box-shadow:0 0 0 2px #16a34a26!important;position:relative}.inc-url-card.preview-added:after{background:#16a34a;border-radius:999px;color:#fff;content:"Added";font-size:10px;font-weight:600;left:10px;padding:2px 6px;position:absolute;top:6px}.inc-url-card.preview-removed{background:#fef2f2!important;border:1px dashed #fca5a5!important;opacity:.85;position:relative}.inc-url-card.preview-removed:after{background:#dc2626;border-radius:999px;color:#fff;content:"Removed";font-size:10px;font-weight:600;left:10px;padding:2px 6px;position:absolute;top:6px}.preview-changed{background:#fffbeb!important;border:1px solid #fcd34d!important}.tags-container{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:6px 0}.tag{background:linear-gradient(145deg,#eef2f7,#d9e2ec);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 3px #00000014;color:#1a202c;cursor:default;font-size:13px;font-weight:500;padding:5px 12px;transition:all .2s ease-in-out}.tag:hover{background:linear-gradient(145deg,#e6ebf1,#cfd8e3);box-shadow:0 3px 6px #0000001a;transform:translateY(-1px)}.tags-container h4{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:5px;width:100%}.inc-expanded{animation:expandIn .25s ease-out;border:1px solid #dce3eb;border-radius:12px;box-shadow:0 8px 30px #00000026;max-height:calc(100vh - 120px);padding:25px;transition:all .3s ease;width:min(90%,1200px);z-index:2000}@keyframes expandIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.inc-expanded h3{color:#333;font-size:1.2rem;margin-bottom:20px}.inc-expanded h3 .expand-notes-button{background:#f2f5fa;border:none;border-radius:6px;cursor:pointer;padding:6px 10px;transition:all .2s ease}.inc-expanded h3 .expand-notes-button:hover{background:#007bff;color:#fff}.inc-expanded .saved-note{height:auto;min-width:200px;width:100%}.inc-expanded .inc-sticky-notes-grid{gap:16px}.inc-expanded:after{border-radius:12px;box-shadow:inset 0 0 0 1px #00000008;content:"";inset:0;pointer-events:none;position:absolute}.observables-container{background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:16px;overflow:hidden;padding:10px;position:relative}.observables-container:before{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:12px 12px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.observables-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;position:relative;z-index:1}.observables-header h4{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0}.observables-count{background:#e2e8f0;border-radius:20px;color:#64748b;font-size:14px;font-weight:500;padding:4px 10px}.observables-grid{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.observable-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000f;cursor:pointer;overflow:hidden;padding:8px;position:relative;transition:all .3s ease}.observable-card:before{background:linear-gradient(90deg,#28a745,#20c997);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.observable-card:hover{background:linear-gradient(145deg,#f8fafc,#f1f5f9);border-color:#007bff;box-shadow:0 6px 20px #007bff26;transform:translateY(-4px)}.observable-card:hover:before{opacity:1}.observable-header{align-items:center;display:flex;margin-bottom:6px}.observable-id{color:#1e293b;font-size:14px;font-weight:600;letter-spacing:.5px}.observable-body{padding-left:20px}.observable-label{color:#64748b;font-size:12px;font-weight:500;margin:0 0 2px}.observable-link{color:#007bff;font-size:12px;font-weight:500;text-decoration:none;transition:color .2s ease;word-break:break-all}.observable-link:hover{color:#0056b3;text-decoration:underline}.cell{background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;max-height:none;overflow-x:visible;overflow-y:auto;padding:12px 14px;position:relative;scrollbar-gutter:stable;transition:box-shadow .2s ease}.cell:hover{box-shadow:0 2px 8px #00000014}.cell::-webkit-scrollbar{width:6px}.cell::-webkit-scrollbar-thumb{background-color:#c7d2e0;border-radius:6px}.cell::-webkit-scrollbar-thumb:hover{background-color:#a7b5c5}.cell::-webkit-scrollbar-track{background:#0000}.inc-expanded{animation:focusZoomIn .35s ease-out forwards;background:#fff;border:1px solid #e0e6ee;border-radius:16px;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;gap:20px;height:85vh;left:50%;overflow-x:hidden;overflow-y:auto;padding:30px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:3000}@keyframes focusZoomIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}body.inc-expanded-body:before{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;content:"";inset:0;position:fixed;transition:opacity .3s ease;z-index:2500}body.inc-expanded-body{overflow:hidden}.inc-expanded h3{align-items:center;border-bottom:1px solid #e5eaf0;color:#222;display:flex;font-size:1.5rem;font-weight:700;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.inc-expanded .expand-notes-button{background:none;border:none;color:#333;cursor:pointer;font-size:18px}.inc-expanded .expand-notes-button:hover{color:#ff4d4d}.inc-expanded .inc-sticky-notes-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:15px}.inc-expanded .saved-note{background-color:#f9fca8;border-radius:10px;box-shadow:0 4px 10px #0000001a;font-size:14px;min-height:200px;padding:15px;transition:transform .2s ease;width:220px}.inc-expanded .saved-note:hover{transform:translateY(-3px)}.inc-expanded .tags-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.inc-expanded .tag{background:#e7eefb;border:1px solid #c5d3f0;border-radius:20px;color:#2a4b8d;font-size:14px;font-weight:500;padding:6px 12px}.inc-expanded .observables-container{background:#f9fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000000d;padding:20px}.inc-expanded .observable-card{background:#fff;border:1px solid #dce3eb;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:14px;transition:all .2s ease}.inc-expanded .observable-card:hover{background:#f1f5fb;border-color:#007bff;transform:translateY(-2px)}.inc-close-focus{background:#f3f5f8;border:1px solid #ccc;border-radius:50%;cursor:pointer;font-size:18px;height:36px;position:absolute;right:25px;top:20px;transition:all .2s ease;width:36px}.inc-close-focus:hover{background:#ff4d4d;border-color:#ff4d4d;color:#fff}.inc-expanded .saved-note{min-height:160px;min-width:220px}
/*# sourceMappingURL=main.d109bfce.css.map*/