.custom-button{cursor:pointer;border:none;border-radius:20px;outline:none;justify-content:center;align-items:center;gap:8px;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;transition:all .3s;display:inline-flex}.custom-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.custom-button:active{transform:translateY(0)}.custom-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.custom-button-primary{background:var(--color-primary-gradient,linear-gradient(135deg,#a4d307 0%,#8ab906 100%));color:var(--color-text,#1e4620)}.custom-button-primary:hover{background:linear-gradient(135deg,var(--color-primary-hover,#8ab906)0%,var(--color-primary-active,#739e05)100%)}.custom-button-secondary{background-color:var(--color-secondary,#333);color:var(--color-white,#fff)}.custom-button-secondary:hover{background-color:var(--color-secondary-hover,#444)}.custom-button-outline{border:2px solid var(--color-primary-alternate,#a4d307);color:var(--color-primary-alternate,#a4d307);background-color:#0000}.custom-button-outline:hover{background-color:var(--color-primary-alternate,#a4d307);color:var(--color-text,#1e4620)}.custom-button-small{padding:8px 16px;font-size:14px}.custom-button-medium{padding:12px 32px;font-size:16px}.custom-button-large{padding:16px 48px;font-size:18px}@media (max-width:992px){.custom-button-small{padding:7px 14px;font-size:13px}.custom-button-medium{padding:10px 28px;font-size:15px}.custom-button-large{padding:14px 42px;font-size:17px}}@media (max-width:576px){.custom-button{width:100%}.custom-button-small{padding:6px 12px;font-size:12px}.custom-button-medium{padding:10px 24px;font-size:14px}.custom-button-large{padding:12px 36px;font-size:16px}}
.login-button{letter-spacing:.01em;border-radius:28px;width:100%;padding:0}.login-button-label{width:100%}.login-button.is-loading{opacity:.85}
.app-icon-wrapper{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle;justify-content:center;align-items:center;line-height:1;display:inline-flex}
.data-table-wrapper{border:1px solid var(--color-border,#00000014);background:var(--color-surface,#fff);width:100%;box-shadow:0 15px 40px var(--color-shadow,#243c2414);border-radius:18px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:320px}.data-table th,.data-table td{text-align:left;padding:.85rem 1rem}.data-table thead{background:linear-gradient(135deg,var(--color-primary-gradient-start,#9ccc65)0%,var(--color-primary-gradient-end,#7cb342)100%);color:var(--color-sidebar-active-text,#fff);font-weight:600}.data-table tbody tr:nth-of-type(2n){background:#7fba0014}.data-table tbody td{color:var(--color-text,#1e4620);border-bottom:1px solid #0000000a}.data-table tbody .empty-row td{text-align:center;color:var(--color-text,#1e4620);padding:1.5rem}
.action-button{cursor:pointer;border:none;border-radius:20px;outline:none;min-width:100px;padding:12px 32px;font-family:inherit;font-size:16px;font-weight:600;transition:all .3s}.action-button:disabled{opacity:.6;cursor:not-allowed}.action-button-primary{color:#1e4620;background:linear-gradient(135deg,#a4d307 0%,#8ab906 100%);box-shadow:0 4px 6px #0000001a}.action-button-primary:hover:not(:disabled){background:linear-gradient(135deg,#8ab906 0%,#739e05 100%);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.action-button-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.action-button-danger{color:#fff;background:#204a4a4a;box-shadow:0 4px 8px #0000001f}.action-button-danger:hover:not(:disabled){background:#667085;transform:translateY(-1px);box-shadow:0 6px 12px #0003}.action-button-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}@media (max-width:992px){.action-button{min-width:90px;padding:10px 24px;font-size:15px}}@media (max-width:576px){.action-button{min-width:80px;padding:8px 20px;font-size:14px}}@media (max-width:360px){.action-button{min-width:70px;padding:8px 16px;font-size:13px}}
.confirm-modal-overlay{z-index:2500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:80px 20px 20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.confirm-modal-card{background-color:#eaf5d1;border-radius:18px;width:100%;max-width:450px;padding:0;animation:.3s ease-out modalFadeIn;box-shadow:0 10px 40px #0003}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-modal-header{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;display:flex}.confirm-modal-title{color:var(--color-text,#1e4620);margin:0;font-size:20px;font-weight:600}.confirm-modal-close{cursor:pointer;color:#204a4a4a;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;transition:all .3s;display:flex}.confirm-modal-close:hover{color:#667085;transform:scale(1.1)rotate(90deg)}.confirm-modal-close:active{transform:scale(.95)}.confirm-modal-close svg{font-size:1.54rem}.confirm-modal-body{padding:1.5rem}.confirm-modal-message{color:#1e4620;text-align:center;margin:0;font-size:18px;font-weight:500;line-height:1.6}.confirm-modal-footer{justify-content:center;align-items:center;gap:16px;padding:1rem 1.5rem 1.5rem;display:flex}@media (max-width:992px){.confirm-modal-card{max-width:400px}.confirm-modal-title{font-size:18px}.confirm-modal-message{font-size:15px}.confirm-modal-header{padding:1.25rem 1.25rem .875rem}.confirm-modal-body{padding:1.25rem}.confirm-modal-footer{gap:14px;padding:.875rem 1.25rem 1.25rem}}@media (max-width:576px){.confirm-modal-overlay{padding:16px}.confirm-modal-card{border-radius:16px;max-width:100%}.confirm-modal-title{font-size:17px}.confirm-modal-message{font-size:14px}.confirm-modal-header{padding:1rem 1rem .75rem}.confirm-modal-body{padding:1rem}.confirm-modal-footer{flex-wrap:wrap;gap:12px;padding:.75rem 1rem 1rem}.confirm-modal-close{padding:4px}}@media (max-width:360px){.confirm-modal-overlay{padding:12px}.confirm-modal-card{border-radius:14px}.confirm-modal-title{font-size:16px}.confirm-modal-message{font-size:13px}.confirm-modal-header{padding:.875rem .875rem .625rem}.confirm-modal-body{padding:.875rem}.confirm-modal-footer{gap:10px;padding:.625rem .875rem .875rem}.confirm-modal-footer button{min-width:unset;flex:1}}
.pagination{box-shadow:none;background:#e5f2c9;border:1px solid #b7d28a;border-radius:12px;flex-wrap:wrap;align-self:flex-end;align-items:center;gap:12px;margin-left:auto;padding:6px 10px;display:flex}.pagination__box{align-items:center;gap:8px;display:inline-flex}.pagination__input{text-align:center;color:#1f4324;width:52px;height:32px;box-shadow:none;appearance:auto;background:#f7fbe9;border:1.5px solid #8daa6f;border-radius:8px;padding:4px 6px;font-weight:600;transition:border-color .2s,box-shadow .2s}.pagination__input:focus{border-color:#6f8f5a;outline:none;box-shadow:0 0 0 2px #6f8f5a33}.pagination__input:disabled{color:#9ca3af;cursor:not-allowed;background:#f2f4ec}.pagination__input::-webkit-outer-spin-button{opacity:1;margin:0}.pagination__input::-webkit-inner-spin-button{opacity:1;margin:0}.pagination__input[type=number]{-moz-appearance:auto}.pagination__label{color:#2d5e31;white-space:nowrap;font-size:14px;font-weight:600}.pagination__actions{align-items:center;gap:6px;display:inline-flex}.pagination__nav{color:#2d5e31;cursor:pointer;width:32px;height:32px;box-shadow:none;background:#eef6dc;border:1px solid #9db487;border-radius:8px;place-items:center;font-size:18px;transition:background .2s,border-color .2s,color .2s;display:grid}.pagination__nav:not(:disabled):hover{color:#234a26;box-shadow:none;background:#e1edc6;border-color:#8ea873}.pagination__nav:disabled{opacity:.6;cursor:not-allowed;background:#f1f3ea}@media (max-width:640px){.pagination{gap:10px;padding:6px 10px}.pagination__box{gap:6px}.pagination__input{width:48px;height:30px;font-size:14px}.pagination__label{font-size:13px}.pagination__nav{width:30px;height:30px;font-size:16px}}
.table-navbar{background:0 0;border-bottom:2px solid #e0e0e0;gap:0;margin-bottom:16px;padding:0 20px;display:flex}.table-navbar__tab{color:#666;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:14px 24px;font-size:1rem;font-weight:600;transition:all .3s;position:relative}.table-navbar__tab:hover{color:#8bc234}.table-navbar__tab--active{color:#8bc234;border-bottom-color:#8bc234}@media (max-width:1024px){.table-navbar{padding:0 16px}.table-navbar__tab{padding:12px 20px;font-size:.95rem}}@media (max-width:767px){.table-navbar{padding:0 12px}.table-navbar__tab{padding:10px 16px;font-size:.9rem}}@media (max-width:480px){.table-navbar{padding:0 10px}.table-navbar__tab{padding:10px 12px;font-size:.85rem}}
.copyable-tooltip-wrapper{cursor:default;display:inline}.copyable-tooltip-text{white-space:nowrap;cursor:default}.copyable-tooltip{z-index:99999;background:#fff;border:1px solid #8bc23466;border-radius:6px;max-width:min(280px,100vw - 16px);padding:6px 10px;animation:.12s ease-out tooltipFadeIn;position:fixed;box-shadow:0 4px 12px #1e401233}.copyable-tooltip--horizontal-scroll{max-width:min(320px,100vw - 16px)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.copyable-tooltip-content{align-items:center;gap:8px;display:flex}.copyable-tooltip-fulltext{color:#1f4324;-webkit-user-select:text;user-select:text;white-space:normal;word-wrap:break-word;word-break:break-word;scrollbar-width:thin;scrollbar-color:#8bc23466 transparent;max-height:120px;font-size:.8rem;line-height:1.4;overflow-y:auto}.copyable-tooltip-fulltext::-webkit-scrollbar{width:4px;height:4px}.copyable-tooltip-fulltext::-webkit-scrollbar-track{background:0 0}.copyable-tooltip-fulltext::-webkit-scrollbar-thumb{background:#8bc23466;border-radius:2px}.copyable-tooltip-fulltext--scroll{white-space:nowrap;word-wrap:normal;word-break:normal;scrollbar-width:none;-ms-overflow-style:none;max-width:250px;max-height:none;overflow:auto hidden}.copyable-tooltip-fulltext--scroll::-webkit-scrollbar{display:none}.copyable-tooltip-copy-btn{color:#1f4324;cursor:pointer;background:#8bc23426;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.copyable-tooltip-copy-btn:hover{background:#8bc2344d}.copyable-tooltip-copy-btn:active{transform:scale(.9)}.copyable-tooltip-copy-btn.copied{color:#2e7d32;background:#4caf5033}.copyable-tooltip-copy-icon{font-size:.7rem}.copyable-tooltip-copy-btn.copied .copyable-tooltip-copy-icon{color:#2e7d32}@media (max-width:1024px){.copyable-tooltip{max-width:min(260px,100vw - 16px);padding:5px 8px}.copyable-tooltip-fulltext{font-size:.75rem}.copyable-tooltip-fulltext--scroll{max-width:220px}}@media (max-width:768px){.copyable-tooltip{max-width:min(240px,100vw - 16px);padding:5px 8px}.copyable-tooltip-fulltext{max-height:100px;font-size:.72rem}.copyable-tooltip-fulltext--scroll{max-width:200px}.copyable-tooltip-copy-btn{width:20px;height:20px}.copyable-tooltip-copy-icon{font-size:.75rem}}@media (max-width:480px){.copyable-tooltip{max-width:min(200px,100vw - 16px);padding:4px 6px}.copyable-tooltip-content{gap:6px}.copyable-tooltip-fulltext{max-height:80px;font-size:.7rem}.copyable-tooltip-fulltext--scroll{max-width:160px}}
.table-skeleton__row{animation:1.5s ease-in-out infinite skeleton-fade}.table-skeleton__row:nth-child(odd){animation-delay:.1s}.table-skeleton__row:nth-child(2n){animation-delay:.2s}.table-skeleton__cell{background:linear-gradient(90deg,#e8e8e8 0%,#f5f5f5 50%,#e8e8e8 100%) 0 0/200% 100%;border-radius:4px;width:100%;max-width:120px;height:20px;animation:1.5s ease-in-out infinite skeleton-shimmer;overflow:hidden}.table-skeleton__shimmer{width:100%;height:100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-fade{0%,to{opacity:1}50%{opacity:.7}}
.input-wrapper{width:100%;min-height:50px;margin-bottom:30px;position:relative}.input-icon{font-size:var(--app-icon-size);color:var(--color-muted-dark,#6b7280);pointer-events:none;z-index:1;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.custom-input{width:100%;color:var(--color-text-light,#fff);caret-color:var(--color-text-light,#fff);box-sizing:border-box;background-color:#ffffff0d;border:1px solid #fff3;border-radius:20px;outline:none;padding:14px 16px;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;transition:all .3s}.custom-input.with-icon{padding-left:48px}.custom-input.with-toggle{padding-right:48px}.custom-input::placeholder{color:var(--color-text-muted,#ffffffb3)}.custom-input:focus{border-color:var(--color-primary-alternate,#a4d307);background-color:#ffffff1a;box-shadow:0 0 0 3px #a4d3071a}.custom-input:hover{border-color:#ffffff4d}.custom-input.input-error{border-color:var(--color-warning,#f44)}.custom-input.input-error:focus{border-color:var(--color-warning,#f44);box-shadow:0 0 0 3px #ff44441a}.error-message{color:var(--color-warning,#f44);margin-top:6px;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;position:absolute;bottom:-20px;left:0}.password-toggle-btn{cursor:pointer;z-index:1;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.toggle-icon{font-size:var(--app-icon-size);color:var(--color-text-light,#fff);transition:opacity .3s}.password-toggle-btn:hover .toggle-icon,.password-toggle-btn:focus .toggle-icon{opacity:.8}.custom-input::-ms-reveal{display:none}.custom-input::-ms-clear{display:none}.custom-input:-webkit-autofill{-webkit-text-fill-color:var(--color-text-light,#fff);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #ffffff0d}.custom-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text-light,#fff);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #ffffff0d}.custom-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-light,#fff);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #ffffff0d}@media (max-width:992px){.custom-input{padding:12px 14px;font-size:15px}.custom-input.with-icon{padding-left:44px}.custom-input.with-toggle{padding-right:44px}.input-icon{font-size:var(--app-icon-size);left:14px}.password-toggle-btn{right:14px}.toggle-icon{font-size:var(--app-icon-size)}.input-wrapper{min-height:46px;margin-bottom:25px}}@media (max-width:576px){.custom-input{padding:12px 14px;font-size:14px}.custom-input.with-icon{padding-left:42px}.custom-input.with-toggle{padding-right:42px}.input-icon{font-size:16px;left:12px}.password-toggle-btn{right:12px}.toggle-icon{font-size:var(--app-icon-size)}.input-wrapper{min-height:46px;margin-bottom:20px}}
.typography{color:inherit;margin:0;padding:0;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.typography-h1{font-size:32px;font-weight:700;line-height:1.2}.typography-h2{font-size:24px;font-weight:600;line-height:1.3}.typography-h3{font-size:20px;font-weight:600;line-height:1.4}.typography-body{font-size:16px;font-weight:400;line-height:1.5}.typography-small{font-size:14px;font-weight:400;line-height:1.4}.typography-label{font-size:14px;font-weight:500;line-height:1.4;display:block}@media (max-width:992px){.typography-h1{font-size:28px}.typography-h2{font-size:22px}.typography-h3{font-size:18px}.typography-body{font-size:15px}.typography-small,.typography-label{font-size:13px}}@media (max-width:576px){.typography-h1{font-size:24px}.typography-h2{font-size:20px}.typography-h3{font-size:16px}.typography-body{font-size:14px}.typography-small,.typography-label{font-size:12px}}
.animated-background{z-index:0;pointer-events:none;background-color:#0000;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.animated-background.loading{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%)}.background-image{background-image:var(--bg-image);opacity:0;will-change:opacity;backface-visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;transition:opacity 1.5s ease-in-out;position:absolute;inset:0;transform:translate(0,0)}.background-image.active{opacity:var(--active-opacity,.8)}@media (max-width:992px){.background-image{background-size:cover}}@media (max-width:576px){.background-image{background-size:cover}}
