@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;background:linear-gradient(160deg,#ecfdf5,#e8f5f2 40%,#f0fdfa);overflow:hidden}.login-container:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(5,150,105,.07) 0%,transparent 70%);top:-200px;right:-150px;pointer-events:none}.login-container:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.06) 0%,transparent 70%);bottom:-200px;left:-150px;pointer-events:none}.login-container .login-bg-decoration{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(5,150,105,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(13,148,136,.04) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(5,150,105,.03) 0%,transparent 50%);pointer-events:none}.login-container .login-form{background:#ffffffeb;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:2.8rem 2.5rem;border-radius:24px;width:100%;max-width:440px;position:relative;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 3px #0000000a,0 8px 32px #0000000f,0 20px 48px -8px #05966914}.login-container .login-form:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#059669,#0d9488);border-radius:0 0 4px 4px}.login-container .login-form:hover{box-shadow:0 1px 3px #0000000a,0 12px 40px #00000014,0 24px 56px -8px #0596691f;transform:translateY(-2px)}.login-container .login-form.error{animation:shake .5s ease-in-out}.login-container .login-form.success{animation:successPulse .6s ease-in-out}.login-container .login-form h1{text-align:center;margin:1.15rem 0 .4rem;font-size:1.7rem;font-weight:800;font-family:Plus Jakarta Sans,Inter,sans-serif;color:#1e293b;letter-spacing:-.03em}.login-container .login-form .login-subtitle{text-align:center;color:#64748b;font-size:.875rem;line-height:1.5;margin-bottom:1.85rem;padding:0 .5rem}.login-container .login-form .login-error{background:#fef2f2;color:#dc2626;padding:.7rem .9rem;border-radius:10px;margin-bottom:1.25rem;font-size:.85rem;text-align:center;border:1px solid #fecaca;animation:errorAppear .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-container .login-form .login-error svg{width:16px;height:16px;flex-shrink:0}.login-container .login-form .login-success{background:#f0fdf4;color:#16a34a;padding:.7rem .9rem;border-radius:10px;margin-bottom:1.25rem;font-size:.85rem;text-align:center;border:1px solid #bbf7d0;animation:successAppear .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-container .login-form .login-success svg{width:16px;height:16px;flex-shrink:0}.login-container .login-logo-wrapper{text-align:center}.login-container .login-logo-wrapper .login-logo{max-width:140px;height:auto;display:inline-block}.login-container .input-group{position:relative;margin-bottom:1rem}.login-container .input-group .input-icon-wrapper{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none;z-index:2}.login-container .input-group .input-icon-wrapper .input-icon{width:18px;height:18px;color:#94a3b8;transition:color .2s}.login-container .input-group input:focus~.input-icon-wrapper .input-icon{color:#059669}.login-container .input-group input{width:100%;padding:.85rem .85rem .85rem 2.85rem;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#1e293b;font-size:.925rem;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}.login-container .input-group input:focus{border-color:#059669;box-shadow:0 0 0 4px #05966914;background:#fff}.login-container .input-group input::placeholder{color:#94a3b8}.login-container .input-group .password-toggle{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.3rem;display:flex;align-items:center;color:#94a3b8;transition:color .2s;z-index:2}.login-container .input-group .password-toggle:hover{color:#059669}.login-container .input-group .password-toggle svg{width:20px;height:20px}.login-container .login-btn{width:100%;padding:.85rem;border:none;border-radius:12px;background:linear-gradient(135deg,#059669,#0d9488);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);margin-top:.75rem;position:relative;overflow:hidden;letter-spacing:.01em}.login-container .login-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.05) 100%);pointer-events:none}.login-container .login-btn:hover:not(:disabled){opacity:.95;transform:translateY(-2px);box-shadow:0 6px 24px #05966959}.login-container .login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #05966940}.login-container .login-btn:disabled{opacity:.7;cursor:not-allowed}.login-container .btn-loading{display:inline-flex;align-items:center;gap:.5rem}.login-container .btn-loading .spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.login-container .btn-success-text{display:inline-flex;align-items:center;gap:.4rem}.login-container .btn-success-text .check-icon{width:20px;height:20px;animation:checkBounce .4s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}@keyframes successPulse{0%{transform:scale(1);box-shadow:0 0 #22c55e66}50%{transform:scale(1.02);box-shadow:0 0 0 16px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes errorAppear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes successAppear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.projects-card{background:#fff;display:flex;flex-direction:column;flex:1;height:100%}.projects-card .projects-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#fafbfc);flex-shrink:0}.projects-card .projects-header h2{font-size:1.05rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;display:flex;align-items:center;gap:.5rem}.projects-card .projects-header h2:before{content:"";display:inline-block;width:3px;height:18px;background:linear-gradient(180deg,#059669,#0d9488);border-radius:2px}.projects-card .projects-add-btn{width:34px;height:34px;border-radius:10px;border:none;background:linear-gradient(135deg,#059669,#10b981);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #0596694d;position:relative;overflow:hidden}.projects-card .projects-add-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.15));pointer-events:none}.projects-card .projects-add-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 6px 20px #05966966}.projects-card .projects-add-btn:active{transform:translateY(0) scale(.95)}.projects-card .projects-add-btn svg{width:17px;height:17px;position:relative;z-index:1}.projects-card .filter-bar{display:flex;gap:.6rem;padding:.55rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center}.projects-card .filter-bar .filter-search{position:relative;flex:1;max-width:260px}.projects-card .filter-bar .filter-search .filter-search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#94a3b8;pointer-events:none}.projects-card .filter-bar .filter-search input{width:100%;padding:.4rem .6rem .4rem 1.9rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.8rem;font-family:inherit;outline:none;transition:all .2s}.projects-card .filter-bar .filter-search input::placeholder{color:#cbd5e1}.projects-card .filter-bar .filter-search input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;background:#fff}.projects-card .filter-bar .filter-select{width:auto;min-width:140px;padding:.4rem 2rem .4rem .6rem;margin:0;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:500;font-family:inherit;outline:none;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;cursor:pointer}.projects-card .filter-bar .filter-select:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;background:#fff}.projects-card .delete-error{margin:1rem 2rem 0;padding:.7rem .9rem;background:#fef2f2;color:#ef4444;border:1px solid #fecaca;border-radius:10px;font-size:.85rem;text-align:center;animation:shake .4s ease;flex-shrink:0}.projects-card .projects-table-wrapper{flex:1;overflow:auto;background:#fff}.projects-card .projects-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.projects-card .projects-table-wrapper::-webkit-scrollbar-track{background:transparent}.projects-card .projects-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.projects-card .projects-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.projects-card .projects-table-wrapper .projects-table{width:100%;border-collapse:collapse;border:1px solid #e2e8f0}.projects-card .projects-table-wrapper .projects-table thead{position:sticky;top:0;z-index:2}.projects-card .projects-table-wrapper .projects-table thead th{padding:.7rem .9rem;font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;white-space:nowrap;text-align:left;border:1px solid #e2e8f0;border-top:none}.projects-card .projects-table-wrapper .projects-table thead th:first-child{padding-left:1.5rem;width:40px;text-align:center;border-left:none}.projects-card .projects-table-wrapper .projects-table thead th:last-child{padding-right:1.5rem;width:80px;text-align:center;border-right:none}.projects-card .projects-table-wrapper .projects-table tbody tr{transition:background-color .12s ease}.projects-card .projects-table-wrapper .projects-table tbody tr:hover{background:#f8fafc}.projects-card .projects-table-wrapper .projects-table tbody tr td{padding:.65rem .9rem;font-size:.82rem;font-weight:500;color:#475569;vertical-align:middle;border:1px solid #eef1f4;border-top:none}.projects-card .projects-table-wrapper .projects-table tbody tr td:first-child{border-left:none;padding-left:1.5rem;font-weight:500;font-size:.78rem;color:#94a3b8;text-align:center;width:40px}.projects-card .projects-table-wrapper .projects-table tbody tr td:nth-child(2){font-weight:600;color:#0f172a;font-size:.84rem}.projects-card .projects-table-wrapper .projects-table tbody tr td:nth-child(3){color:#475569}.projects-card .projects-table-wrapper .projects-table tbody tr td:nth-child(4){color:#475569}.projects-card .projects-table-wrapper .projects-table tbody tr td:nth-child(5){font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.78rem;font-weight:500;color:#475569;letter-spacing:.01em}.projects-card .projects-table-wrapper .projects-table tbody tr td.td-remark{text-align:center}.projects-card .projects-table-wrapper .projects-table tbody tr td.td-remark .remark-icon{background:transparent;border:1px solid #e2e8f0;cursor:pointer;color:#94a3b8;padding:.3rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.projects-card .projects-table-wrapper .projects-table tbody tr td.td-remark .remark-icon:hover{color:#3b82f6;border-color:#3b82f6;background:#3b82f61a}.projects-card .projects-table-wrapper .projects-table tbody tr td.td-remark .remark-icon svg{width:13px;height:13px}.projects-card .projects-table-wrapper .projects-table tbody tr td.td-remark .remark-empty{color:#cbd5e1;font-size:.75rem}.projects-card .projects-table-wrapper .projects-table tbody tr td:last-child{padding-right:1.5rem;text-align:center;border-right:none}.projects-card .projects-table-wrapper .projects-table .projects-empty{text-align:center;color:#94a3b8;padding:2.5rem 1rem!important;font-size:.85rem;background:#fff!important}.projects-card .projects-table-wrapper .projects-table .projects-empty:before{content:"";display:block;width:36px;height:36px;margin:0 auto .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px}.projects-card .projects-table-wrapper .projects-table .projects-empty:after{content:"Click the + button to add your first project";display:block;font-size:.75rem;color:#cbd5e1;margin-top:.3rem;font-style:normal}.projects-card .projects-table-wrapper .projects-table .th-actions{width:80px;text-align:center}.projects-card .projects-table-wrapper .projects-table .td-actions{text-align:center;white-space:nowrap}.projects-card .projects-table-wrapper .projects-table .td-actions .action-btn{background:transparent;border:1px solid transparent;cursor:pointer;padding:.35rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;margin:0 .1rem;color:#94a3b8}.projects-card .projects-table-wrapper .projects-table .td-actions .action-btn svg{width:13px;height:13px}.projects-card .projects-table-wrapper .projects-table .td-actions .action-btn.edit-btn:hover{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.projects-card .projects-table-wrapper .projects-table .td-actions .action-btn.delete-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444440}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;padding:2rem 2rem 1.75rem;box-shadow:0 25px 80px #0003;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.modal-content .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-content .modal-header h2{font-size:1.25rem;font-weight:800;color:#0f172a;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.modal-content .modal-header h2:before{content:"";display:inline-block;width:3px;height:20px;background:linear-gradient(180deg,#059669,#0d9488);border-radius:2px}.modal-content .modal-header .modal-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:.4rem;border-radius:10px;display:flex;transition:all .2s}.modal-content .modal-header .modal-close:hover{color:#0f172a;background:#f1f5f9}.modal-content .modal-header .modal-close svg{width:18px;height:18px}.modal-content .form-error{background:#fef2f2;color:#ef4444;padding:.7rem .9rem;border-radius:10px;margin-bottom:1.25rem;font-size:.85rem;text-align:center;border:1px solid #fecaca;animation:shake .4s ease}.modal-content label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em}.modal-content input,.modal-content textarea{width:100%;padding:.75rem .9rem;margin-bottom:1.15rem;border:1.5px solid #e2e8f0;border-radius:11px;background:#fafbfc;color:#0f172a;font-size:.9rem;outline:none;transition:all .2s;font-family:inherit}.modal-content input:focus,.modal-content textarea:focus{border-color:#059669;box-shadow:0 0 0 4px #0596691a;background:#fff}.modal-content input::placeholder,.modal-content textarea::placeholder{color:#cbd5e1}.modal-content textarea{resize:vertical;min-height:70px}.modal-content .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.modal-content .modal-actions .modal-cancel{padding:.7rem 1.4rem;border:1.5px solid #e2e8f0;border-radius:11px;background:#fff;color:#64748b;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-content .modal-actions .modal-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.modal-content .modal-actions .modal-submit{padding:.7rem 1.8rem;border:none;border-radius:11px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 12px #0596694d}.modal-content .modal-actions .modal-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #05966966}.modal-content .modal-actions .modal-submit:active:not(:disabled){transform:translateY(0)}.modal-content .modal-actions .modal-submit:disabled{opacity:.6;cursor:not-allowed}@keyframes slideUp{0%{transform:translateY(30px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.su-card{background:#fff;display:flex;flex-direction:column;flex:1;height:100%}.su-card .su-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#fafbfc);flex-shrink:0}.su-card .su-header h2{font-size:1.05rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;display:flex;align-items:center;gap:.5rem}.su-card .su-header h2:before{content:"";display:inline-block;width:3px;height:18px;background:linear-gradient(180deg,#059669,#0d9488);border-radius:2px}.su-card .su-add-btn{width:34px;height:34px;border-radius:10px;border:none;background:linear-gradient(135deg,#059669,#10b981);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 10px #0596694d;position:relative;overflow:hidden}.su-card .su-add-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.15));pointer-events:none}.su-card .su-add-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 6px 20px #05966966}.su-card .su-add-btn:active{transform:translateY(0) scale(.95)}.su-card .su-add-btn svg{width:17px;height:17px;position:relative;z-index:1}.su-card .filter-bar{display:flex;gap:.6rem;padding:.55rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center}.su-card .filter-bar .filter-search{position:relative;flex:1;max-width:260px}.su-card .filter-bar .filter-search .filter-search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#94a3b8;pointer-events:none}.su-card .filter-bar .filter-search input{width:100%;padding:.4rem .6rem .4rem 1.9rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.8rem;font-family:inherit;outline:none;transition:all .2s}.su-card .filter-bar .filter-search input::placeholder{color:#cbd5e1}.su-card .filter-bar .filter-search input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;background:#fff}.su-card .filter-bar .filter-select{width:auto;min-width:140px;padding:.4rem 2rem .4rem .6rem;margin:0;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:500;font-family:inherit;outline:none;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;cursor:pointer}.su-card .filter-bar .filter-select:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;background:#fff}.su-card .delete-error{margin:1rem 2rem 0;padding:.7rem .9rem;background:#fef2f2;color:#ef4444;border:1px solid #fecaca;border-radius:10px;font-size:.85rem;text-align:center;animation:shake .4s ease;flex-shrink:0}.su-card .su-table-wrapper{flex:1;overflow:auto;background:#fff}.su-card .su-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.su-card .su-table-wrapper::-webkit-scrollbar-track{background:transparent}.su-card .su-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.su-card .su-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.su-card .su-table-wrapper .su-table{width:100%;border-collapse:collapse;border:1px solid #e2e8f0}.su-card .su-table-wrapper .su-table thead{position:sticky;top:0;z-index:2}.su-card .su-table-wrapper .su-table thead th{padding:.7rem .9rem;font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;white-space:nowrap;text-align:left;border:1px solid #e2e8f0;border-top:none}.su-card .su-table-wrapper .su-table thead th:first-child{padding-left:1.5rem;width:40px;text-align:center;border-left:none}.su-card .su-table-wrapper .su-table thead th:last-child{padding-right:1.5rem;width:80px;text-align:center;border-right:none}.su-card .su-table-wrapper .su-table tbody tr{transition:background-color .12s ease}.su-card .su-table-wrapper .su-table tbody tr:hover{background:#f8fafc}.su-card .su-table-wrapper .su-table tbody tr td{padding:.65rem .9rem;font-size:.82rem;font-weight:500;color:#475569;vertical-align:middle;border:1px solid #eef1f4;border-top:none}.su-card .su-table-wrapper .su-table tbody tr td:first-child{padding-left:1.5rem;font-size:.78rem;color:#94a3b8;text-align:center;width:40px;border-left:none}.su-card .su-table-wrapper .su-table tbody tr td:last-child{padding-right:1.5rem;text-align:center;border-right:none}.su-card .su-table-wrapper .su-table .su-empty{text-align:center;color:#94a3b8;padding:2.5rem 1rem!important;font-size:.85rem;background:#fff!important}.su-card .su-table-wrapper .su-table .su-empty:before{content:"";display:block;width:36px;height:36px;margin:0 auto .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px}.su-card .su-table-wrapper .su-table .su-empty.is-loading:before{display:none}.su-card .su-table-wrapper .su-table .su-empty-hint{display:block;font-size:.75rem;color:#cbd5e1;margin-top:.25rem;font-weight:500}.su-card .su-table-wrapper .su-table .th-actions{width:80px;text-align:center}.su-card .su-table-wrapper .su-table .td-username{font-weight:600;color:#0f172a;font-size:.82rem}.su-card .su-table-wrapper .su-table td:nth-child(2){font-weight:600;color:#0f172a;font-size:.82rem}.su-card .su-table-wrapper .su-table .td-password{display:flex;align-items:center;gap:.3rem}.su-card .su-table-wrapper .su-table .td-password .password-dots{color:#cbd5e1;font-size:.9rem;letter-spacing:.12em}.su-card .su-table-wrapper .su-table .td-password .password-reveal-btn{flex-shrink:0;background:transparent;border:1px solid transparent;cursor:pointer;color:#94a3b8;padding:.2rem;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.su-card .su-table-wrapper .su-table .td-password .password-reveal-btn:hover{color:#3b82f6;background:#3b82f61a}.su-card .su-table-wrapper .su-table .td-password .password-reveal-btn svg{width:13px;height:13px}.su-card .su-table-wrapper .su-table .td-remark .remark-icon{background:transparent;border:1px solid #e2e8f0;cursor:pointer;color:#94a3b8;padding:.3rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.su-card .su-table-wrapper .su-table .td-remark .remark-icon:hover{color:#3b82f6;border-color:#3b82f6;background:#3b82f61a}.su-card .su-table-wrapper .su-table .td-remark .remark-icon svg{width:13px;height:13px}.su-card .su-table-wrapper .su-table .td-remark .remark-empty{color:#cbd5e1;font-size:.75rem}.su-card .su-table-wrapper .su-table .td-endpoint .endpoint-btn{background:#fff;color:#475569;border:1px solid #e2e8f0;padding:.25rem .7rem;border-radius:5px;font-size:.65rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .15s ease}.su-card .su-table-wrapper .su-table .td-endpoint .endpoint-btn:hover{border-color:#059669;color:#059669;background:#0596691a}.su-card .su-table-wrapper .su-table .td-endpoint .endpoint-btn.copied{background:#0596691a;border-color:#059669;color:#059669}.su-card .su-table-wrapper .su-table .td-actions{white-space:nowrap}.su-card .su-table-wrapper .su-table .td-actions .action-btn{background:transparent;border:1px solid transparent;cursor:pointer;padding:.35rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;margin:0 .1rem;color:#94a3b8}.su-card .su-table-wrapper .su-table .td-actions .action-btn svg{width:13px;height:13px}.su-card .su-table-wrapper .su-table .td-actions .action-btn.edit-btn:hover{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.su-card .su-table-wrapper .su-table .td-actions .action-btn.delete-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444440}.optional{font-weight:400;color:#94a3b8;font-size:.72rem;text-transform:none;letter-spacing:normal}select{width:100%;padding:.75rem 2.5rem .75rem .9rem;margin-bottom:1.15rem;border:1.5px solid #e2e8f0;border-radius:11px;background:#fafbfc;color:#0f172a;font-size:.9rem;outline:none;transition:all .2s;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;cursor:pointer}select:focus{border-color:#059669;box-shadow:0 0 0 4px #0596691a;background:#fff}.password-prompt-modal{max-width:400px!important}.revealed-password-box{display:flex;align-items:center;gap:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:1rem 1.25rem;margin:1rem 0 .5rem}.revealed-password-box .revealed-password-text{flex:1;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:1.05rem;font-weight:700;color:#166534;letter-spacing:.05em;word-break:break-all}.revealed-password-box .revealed-password-copy{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#16a34a;padding:.4rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.revealed-password-box .revealed-password-copy:hover{background:#16a34a1f;transform:scale(1.1)}.revealed-password-box .revealed-password-copy:active{transform:scale(.92)}.revealed-password-box .revealed-password-copy svg{width:18px;height:18px}.revealed-password-hint{font-size:.78rem;color:#94a3b8;text-align:center;margin-top:.75rem;margin-bottom:.25rem}@keyframes rowFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.remark-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;animation:fadeIn .15s ease}.remark-popup{background:#fff;border-radius:16px;width:100%;max-width:420px;box-shadow:0 25px 80px #0003;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.remark-popup .remark-popup-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.remark-popup .remark-popup-header h3{font-size:1rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.5rem}.remark-popup .remark-popup-header h3:before{content:"";display:inline-block;width:3px;height:16px;background:linear-gradient(180deg,#059669,#0d9488);border-radius:2px}.remark-popup .remark-popup-header .remark-popup-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:.3rem;border-radius:8px;display:flex;transition:all .2s}.remark-popup .remark-popup-header .remark-popup-close:hover{color:#0f172a;background:#f1f5f9}.remark-popup .remark-popup-header .remark-popup-close svg{width:16px;height:16px}.remark-popup .remark-popup-body{padding:1rem 1.5rem 1.5rem;font-size:.9rem;color:#475569;line-height:1.7;white-space:pre-wrap;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:#f0fdfa}.dashboard-loading .dashboard-loading-logo{height:44px;width:auto;opacity:.92}.dashboard-loading .dashboard-loading-spinner{width:26px;height:26px;border-radius:50%;border:3px solid #e2e8f0;border-top-color:#059669;animation:dashboardSpin .7s linear infinite}.dashboard-loading p{font-size:.85rem;color:#94a3b8;font-weight:500}@keyframes dashboardSpin{to{transform:rotate(360deg)}}.dashboard-layout{display:flex;min-height:100vh;background:#f0fdfa}.dashboard-layout .sidebar{width:260px;min-width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100vh;transition:width .25s ease,min-width .25s ease}.dashboard-layout .sidebar.sidebar--collapsed{width:72px;min-width:72px}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-brand{padding:0;min-height:30px;border-bottom:none}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-logo{display:none}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-collapse-btn{right:50%;transform:translate(50%,-50%)}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-nav{padding:1rem .5rem}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-nav-item{justify-content:center;padding:.7rem}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-nav-label{opacity:0;width:0}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-footer{padding:1rem 0;justify-content:center}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-user{display:none}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-user-info{opacity:0;width:0}.dashboard-layout .sidebar.sidebar--collapsed .sidebar-logout{padding:.5rem;color:#94a3b8}.dashboard-layout .sidebar .sidebar-brand{display:flex;align-items:center;justify-content:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;min-height:80px;position:relative;transition:padding .25s ease}.dashboard-layout .sidebar .sidebar-logo{height:48px;width:auto;flex-shrink:0;display:block}.dashboard-layout .sidebar .sidebar-collapse-btn{position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#94a3b8;z-index:10;box-shadow:0 1px 4px #0000001a;transition:color .2s,box-shadow .2s;padding:0}.dashboard-layout .sidebar .sidebar-collapse-btn:hover{color:#059669;box-shadow:0 2px 8px #05966933;border-color:#059669}.dashboard-layout .sidebar .sidebar-collapse-btn svg{width:14px;height:14px;transition:transform .25s ease}.dashboard-layout .sidebar .sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border:none;border-radius:10px;background:transparent;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;width:100%;white-space:nowrap}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-item:hover{background:#f1f5f9;color:#1e293b}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-item.active{background:linear-gradient(135deg,#059669,#0d9488);color:#fff;font-weight:600;box-shadow:0 2px 8px #05966940}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-icon svg{width:20px;height:20px}.dashboard-layout .sidebar .sidebar-nav .sidebar-nav-label{transition:opacity .2s ease,width .25s ease;overflow:hidden}.dashboard-layout .sidebar .sidebar-footer{border-top:1px solid #e2e8f0;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;transition:padding .25s ease}.dashboard-layout .sidebar .sidebar-footer .sidebar-user{display:flex;align-items:center;gap:.65rem;overflow:hidden}.dashboard-layout .sidebar .sidebar-footer .sidebar-user .sidebar-user-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#059669,#0d9488);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.dashboard-layout .sidebar .sidebar-footer .sidebar-user .sidebar-user-info{display:flex;flex-direction:column;transition:opacity .2s ease,width .25s ease;overflow:hidden}.dashboard-layout .sidebar .sidebar-footer .sidebar-user .sidebar-user-info .sidebar-user-name{font-size:.85rem;font-weight:600;color:#1e293b;line-height:1.2}.dashboard-layout .sidebar .sidebar-footer .sidebar-user .sidebar-user-info .sidebar-user-role{font-size:.75rem;color:#94a3b8}.dashboard-layout .sidebar .sidebar-footer .sidebar-logout{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:8px;color:#94a3b8;display:flex;align-items:center;transition:all .2s;flex-shrink:0}.dashboard-layout .sidebar .sidebar-footer .sidebar-logout:hover{background:#fef2f2;color:#ef4444}.dashboard-layout .sidebar .sidebar-footer .sidebar-logout svg{width:20px;height:20px}.dashboard-layout .dashboard-content{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-layout .dashboard-content .dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0}.dashboard-layout .dashboard-content .dashboard-header h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#1e293b}.dashboard-layout .dashboard-content .dashboard-main{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;max-width:960px}.dashboard-layout .dashboard-content .dashboard-main.dashboard-main--full{padding:0;max-width:none;gap:0;flex:1;overflow:hidden}.dashboard-layout .dashboard-content .dashboard-main.dashboard-main--dashboard{padding:2rem;max-width:none;flex:1}.dashboard-layout .dashboard-content .dashboard-main .welcome-card{background:linear-gradient(135deg,#059669,#047857,#0d9488);border-radius:16px;padding:1.75rem 2rem;color:#fff;position:relative;overflow:hidden}.dashboard-layout .dashboard-content .dashboard-main .welcome-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;border-radius:50%;background:#ffffff0d;pointer-events:none}.dashboard-layout .dashboard-content .dashboard-main .welcome-card:after{content:"";position:absolute;bottom:-30%;left:-10%;width:200px;height:200px;border-radius:50%;background:#ffffff0a;pointer-events:none}.dashboard-layout .dashboard-content .dashboard-main .welcome-card .welcome-card-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.dashboard-layout .dashboard-content .dashboard-main .welcome-card .welcome-card-content .welcome-text h2{font-size:1.35rem;font-weight:700;margin-bottom:.35rem}.dashboard-layout .dashboard-content .dashboard-main .welcome-card .welcome-card-content .welcome-text p{color:#fffc;font-size:.9rem;max-width:500px;line-height:1.5}.dashboard-layout .dashboard-content .dashboard-main .welcome-card .welcome-card-content .welcome-avatar{width:56px;height:56px;border-radius:16px;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:2px solid rgba(255,255,255,.25);flex-shrink:0}.dashboard-layout .dashboard-content .dashboard-main .stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card{background:#fff;border-radius:14px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid #e2e8f0;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px #0000000a}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014;border-color:transparent}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card .stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card .stat-icon svg{width:22px;height:22px}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card .stat-info{display:flex;flex-direction:column}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card .stat-info .stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;line-height:1.2}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card .stat-info .stat-label{font-size:.8rem;color:#94a3b8;font-weight:500}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--projects .stat-icon{background:#05966914;color:#059669}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--projects:hover{border-color:#059669;box-shadow:0 8px 24px #0596691f}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--superusers .stat-icon{background:#6366f11a;color:#6366f1}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--superusers:hover{border-color:#6366f1;box-shadow:0 8px 24px #6366f11f}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--status{cursor:default}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--status .stat-icon{background:#22c55e1a;color:#16a34a}.dashboard-layout .dashboard-content .dashboard-main .stats-row .stat-card--status .stat-value{font-size:1.15rem}.dashboard-layout .dashboard-content .dashboard-main .quick-actions{background:#fff;border-radius:14px;padding:1.5rem 1.5rem 1.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.dashboard-layout .dashboard-content .dashboard-main .quick-actions h3{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.dashboard-layout .dashboard-content .dashboard-main .quick-actions .quick-actions-row{display:flex;gap:.75rem}.dashboard-layout .dashboard-content .dashboard-main .quick-actions .quick-actions-row .quick-action-btn{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#475569;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.dashboard-layout .dashboard-content .dashboard-main .quick-actions .quick-actions-row .quick-action-btn svg{width:18px;height:18px}.dashboard-layout .dashboard-content .dashboard-main .quick-actions .quick-actions-row .quick-action-btn:hover{border-color:#059669;background:#05966914;color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #0596691f}.dashboard-layout .dashboard-content .dashboard-main .guide-card{background:#fff;border-radius:14px;padding:1.5rem 2rem 2rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.dashboard-layout .dashboard-content .dashboard-main .guide-card h3{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.dashboard-layout .dashboard-content .dashboard-main .guide-card h3 svg{width:16px;height:16px;color:#059669}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps{display:flex;flex-direction:column;gap:0}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #f1f5f9}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step:last-child{border-bottom:none;padding-bottom:0}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step:first-child{padding-top:0}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step .guide-step-number{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#059669,#0d9488);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step .guide-step-content{flex:1}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step .guide-step-content h4{font-size:.95rem;font-weight:700;color:#1e293b;margin-bottom:.2rem}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step .guide-step-content p{font-size:.85rem;color:#475569;line-height:1.6}.dashboard-layout .dashboard-content .dashboard-main .guide-card .guide-steps .guide-step .guide-step-content p strong{color:#1e293b;font-weight:600}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0fdfa;color:#1e293b;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid #059669;outline-offset:2px}::selection{background:#0596692e;color:#064e3b}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
