@keyframes fadeIn{to{opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#2d3748;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:#2d3748}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}a{color:#667eea;text-decoration:none;transition:.3s ease}a:hover{color:#5a67d8;text-decoration:underline}a:focus{outline:2px solid #667eea;outline-offset:2px}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer}button:focus{outline:2px solid #667eea;outline-offset:2px}input,textarea,select{font:inherit}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse;border-spacing:0}.no-scroll{overflow:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nav-link:focus,.burger-menu:focus,.close-sidebar:focus{outline:2px solid #667eea;outline-offset:2px}@media (hover: hover){.nav-link:hover{transform:translate(4px)}}.dashboard-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);transition:.3s cubic-bezier(.4,0,.2,1)}@media (max-width: 767px){.dashboard-container{flex-direction:column}}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent)}@media (max-width: 767px){.main-content{margin-top:80px}}.content-wrapper{background:#fff;border-radius:1.25rem 1.25rem 0 0;box-shadow:0 20px 60px #0000001a;flex:1;margin:1rem 1rem 1rem 0;padding:2rem;overflow:auto}@media (max-width: 767px){.content-wrapper{margin:1rem;border-radius:.75rem;padding:1.5rem}}.page-title{font-size:2rem;font-weight:700;color:#2d3748;margin:0 0 2rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.content-area{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef}@media (min-width: 768px){.dashboard-container:has(.sidebar.sidebar-collapsed) .main-content{margin-left:0}}.sidebar-container{position:relative;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 767px){.sidebar-container{z-index:1}}.sidebar{width:280px;box-shadow:0 20px 60px #0000001a;display:flex;flex-direction:column;position:relative;z-index:1020;transition:all .4s var(--spring-smooth, cubic-bezier(.25, .46, .45, .94));overflow:hidden;border-right:1px solid rgba(102,126,234,.1)}.sidebar.sidebar-collapsed{width:74px}.sidebar.sidebar-collapsed .sidebar-title,.sidebar.sidebar-collapsed .nav-text{opacity:0;transform:translate(-20px);pointer-events:none}.sidebar.sidebar-collapsed .close-sidebar{opacity:0;pointer-events:none}.sidebar.sidebar-collapsed .nav-link{justify-content:center}.sidebar.sidebar-collapsed .nav-link .nav-icon{margin-right:0;display:block;position:absolute}.sidebar.sidebar-collapsed .sidebar-header{justify-content:center}.sidebar.sidebar-collapsed .nav-link{position:relative}.sidebar.sidebar-collapsed .nav-link:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;margin-left:.5rem;z-index:1000}.sidebar.sidebar-collapsed .nav-link:hover:after{opacity:1}@media (max-width: 767px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:min(85vw,320px);transform:translate(-100%);z-index:1050;box-shadow:8px 0 32px #0003;border-right:none}.sidebar.sidebar-open{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transform:translate(0)}}@media (max-width: 767px) and (max-width: 575px){.sidebar{width:90vw}}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;opacity:0;transition:all .3s ease}.sidebar-overlay.overlay-active{display:block}.sidebar-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;min-height:70px;position:relative}@media (max-width: 767px){.sidebar-header{padding-top:2rem;min-height:80px}}.sidebar-header:after{content:"";position:absolute;bottom:0;left:1.5rem;right:1.5rem;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:1px;opacity:.3}.sidebar-title{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s var(--spring-smooth, ease);white-space:nowrap;text-decoration:none}.sidebar-title:hover{transform:translate(2px);color:#667eea}.sidebar-title.active{color:#667eea}.close-sidebar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#718096}.close-sidebar:hover{color:#fff;transform:scale(1.1)}.close-sidebar .close-icon{line-height:1}@media (min-width: 767px){.close-sidebar{display:none}}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#667eea80}.nav-list{list-style:none;margin:0;padding:0 .75rem}.nav-item{margin:.25rem 0}.nav-link{display:flex;align-items:center;padding:1rem;color:#718096;text-decoration:none;font-weight:500;transition:.3s ease;border-left:4px solid transparent;position:relative;border-radius:12px;margin:0;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.15),transparent);transition:left .6s cubic-bezier(.25,.46,.45,.94);z-index:0}.nav-link:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:0 2px 2px 0;transition:height .3s ease;z-index:1}.nav-link:hover{color:#2d3748;background:#667eea0d;border-left-color:#667eea;transform:translate(4px);box-shadow:0 4px 20px #667eea33}.nav-link:hover:before{left:100%}.nav-link:hover:after{height:60%}.nav-link:hover .nav-icon{transform:scale(1.1);color:#667eea}.nav-link.active{color:#2d3748;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left-color:#667eea;font-weight:600;background:linear-gradient(135deg,#667eea1a,#667eea0d);border-left:4px solid #667eea}.nav-link.active:after{height:80%}.nav-link.active .nav-icon{color:#667eea;transform:scale(1.05)}.nav-link.active .nav-text{color:#667eea;font-weight:600}.nav-link.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.nav-link.disabled:before,.nav-link.disabled:after{display:none}.nav-icon{margin-right:.75rem;width:60px;text-align:center;transition:all .3s var(--spring-smooth, ease);color:#718096;position:relative;z-index:2}.nav-text{flex:1;transition:all .3s var(--spring-smooth, ease);color:#2d3748;font-weight:500;position:relative;z-index:2}@media (max-width: 575px){.sidebar .sidebar-header{padding:1rem}}.nav-item{animation:slideInFromLeft .3s ease forwards;opacity:0;transform:translate(-20px)}.nav-item:nth-child(1){animation-delay:.05s}.nav-item:nth-child(2){animation-delay:.1s}.nav-item:nth-child(3){animation-delay:.15s}.nav-item:nth-child(4){animation-delay:.2s}.nav-item:nth-child(5){animation-delay:.25s}.nav-item:nth-child(6){animation-delay:.3s}.nav-item:nth-child(7){animation-delay:.35s}.nav-item:nth-child(8){animation-delay:.4s}.nav-item:nth-child(9){animation-delay:.45s}.nav-item:nth-child(10){animation-delay:.5s}@keyframes slideInFromLeft{to{opacity:1;transform:translate(0)}}.desktop-header,.mobile-header{background:#fffffff2;border:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s var(--spring-smooth, cubic-bezier(.25, .46, .45, .94));box-shadow:0 2px 20px #0000001a}.mobile-header{display:flex;align-items:center;justify-content:space-between;display:none;padding:.75rem 1rem;position:fixed;top:0;left:0;right:0;z-index:1030;height:60px;background:#fffffff2}@media (max-width: 767px){.mobile-header{display:flex}}.mobile-header.header-hidden{transform:translateY(-100%);opacity:0}.mobile-header .burger-menu{order:1}.mobile-header .mobile-title{order:2;flex:1;text-align:center;margin:0}.desktop-header{display:flex;justify-content:flex-start;align-items:center;padding:1rem 1.5rem;z-index:1020;height:70px;background:#fffffffa}@media (max-width: 767px){.desktop-header{display:none}}.sidebar-collapsed~.main-content .desktop-header .desktop-title{transform:translate(-20px);opacity:.8}.burger-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease;position:relative}.burger-menu:hover{background:#667eea1a;transform:scale(1.05)}.burger-menu:active{transform:scale(.95)}.burger-menu .burger-line{display:block;width:24px;height:2px;background:#667eea;margin:3px 0;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);border-radius:2px;transform-origin:center}.burger-menu.sidebar-open .burger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.burger-menu.sidebar-open .burger-line:nth-child(2){opacity:0;transform:scale(0)}.burger-menu.sidebar-open .burger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.burger-menu.sidebar-collapsed .burger-line{background:#764ba2}.burger-menu.sidebar-collapsed .burger-line:nth-child(1){transform:translateY(2px) rotate(15deg)}.burger-menu.sidebar-collapsed .burger-line:nth-child(3){transform:translateY(-2px) rotate(-15deg)}.mobile-title,.desktop-title{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0;transition:all .3s var(--spring-smooth, ease);background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media (max-width: 575px){.mobile-title,.desktop-title{font-size:1.125rem}}.desktop-title{margin-left:1rem}.desktop-title.d-none{opacity:0;transform:translate(-20px);pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:.3s ease;text-decoration:none;white-space:nowrap}.btn--sm{padding:.5rem 1rem;font-size:.75rem;height:36px}.btn--lg{padding:1rem 2rem;font-size:1.125rem;height:58px}.btn:disabled,.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn__icon{font-size:1rem}.btn__icon--left{margin-right:.5rem}.btn__icon--right{margin-left:.5rem}.btn-primary,.btn--primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:.3s ease;text-decoration:none;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover,.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.btn-primary:active,.btn--primary:active{transform:translateY(0)}.btn-secondary,.btn--secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:.3s ease;text-decoration:none;white-space:nowrap;background:#f8fafc;color:#64748b;border:2px solid #e2e8f0}.btn-secondary:hover,.btn--secondary:hover{background:#e2e8f0;transform:translateY(-1px)}.btn-back,.btn--back{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:.3s ease;text-decoration:none;white-space:nowrap;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.btn-back:hover,.btn--back:hover{background:#e2e8f0;transform:translateY(-1px)}.btn-auth{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:.3s ease;text-decoration:none;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-auth:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.btn-auth:active{transform:translateY(0)}.btn-auth{border-radius:.75rem;height:52px;font-weight:600;font-size:1rem;position:relative;overflow:hidden}.btn-action{width:36px;height:36px;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s ease}.btn-action--edit{background:#e0f2fe;color:#0277bd}.btn-action--edit:hover{background:#b3e5fc;transform:scale(1.1)}.btn-action--delete{background:#fff5f5;color:#c62828}.btn-action--delete:hover{background:#ffcdd2;transform:scale(1.1)}.burger-menu{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1050;position:relative}.burger-menu .burger-line{width:100%;height:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;transition:.3s cubic-bezier(.4,0,.2,1);transform-origin:center}.burger-menu:hover .burger-line{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.sidebar-open .burger-menu .burger-line:nth-child(1),.sidebar-collapsed .burger-menu .burger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.sidebar-open .burger-menu .burger-line:nth-child(2),.sidebar-collapsed .burger-menu .burger-line:nth-child(2){opacity:0}.sidebar-open .burger-menu .burger-line:nth-child(3),.sidebar-collapsed .burger-menu .burger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.close-sidebar{display:none;background:none;border:none;font-size:1.25rem;color:#718096;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:.3s ease}.close-sidebar:hover{background:#0000001a;color:#2d3748}@media (max-width: 767px){.close-sidebar{display:block}}.spinner-border-sm{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form__section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #f1f5f9}.form__section:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.form__header{margin-bottom:2rem;border-bottom:1px solid #e9ecef;padding-bottom:1rem}.form__description{color:#718096;font-size:1rem;margin:.5rem 0 0}.form__group{margin-bottom:1.5rem}.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form__actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:2rem;border-top:1px solid #e9ecef;margin-top:2rem}@media (max-width: 767px){.form__actions{flex-direction:column}}.section-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.form-label,label{display:block;font-weight:500;color:#334155;margin-bottom:.5rem;font-size:.875rem}.form-input,.form-control{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:.3s ease;background:#fff}.form-input:focus,.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-input.readonly,.form-control.readonly{background:#f8fafc;color:#64748b;cursor:not-allowed}.form-input.form-error,.form-control.form-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.form-input.form-success,.form-control.form-success{border-color:#10b981!important;box-shadow:0 0 0 3px #10b9811a!important}.form-select{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:.3s ease;background:#fff}.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-select{cursor:pointer}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-floating{position:relative}.form-floating>.form-control{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:.75rem;font-size:1rem;transition:.3s ease;background:#fff}.form-floating>.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-floating>.form-control{height:58px}.form-floating>.form-control:focus{border-color:#667eea;box-shadow:0 0 0 .2rem #667eea40;transform:translateY(-2px)}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:.3s ease;color:#64748b;font-weight:500}.checkbox-label{display:flex!important;align-items:center;gap:.75rem;cursor:pointer;font-weight:400!important;position:relative;padding:.5rem 0;transition:.3s ease}.checkbox-label:hover{color:#2d3748}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.checkbox-label .checkmark{position:relative;width:20px;height:20px;background:#fff;border:2px solid #e2e8f0;border-radius:.375rem;transition:.3s cubic-bezier(.4,0,.2,1);flex-shrink:0;display:flex;align-items:center;justify-content:center}.checkbox-label .checkmark:after{content:"";position:absolute;width:6px;height:10px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:.2s cubic-bezier(.68,-.55,.265,1.55);top:1px;left:6px}.checkbox-label:hover .checkmark{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:scale(1.05)}.checkbox-label input[type=checkbox]:checked~.checkmark{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.checkbox-label input[type=checkbox]:checked~.checkmark:after{transform:rotate(45deg) scale(1)}.checkbox-label input[type=checkbox]:focus~.checkmark{outline:2px solid #667eea;outline-offset:2px}.checkbox-label input[type=checkbox]:disabled~.checkmark{background:#f1f5f9;border-color:#cbd5e1;cursor:not-allowed}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label:has(input[type=checkbox]:disabled){color:#94a3b8;cursor:not-allowed}.checkbox-label:has(input[type=checkbox]:disabled):hover{color:#94a3b8}.checkbox-label:has(input[type=checkbox]:disabled):hover .checkmark{transform:none;box-shadow:none;border-color:#cbd5e1}.checkbox-label input[type=checkbox]:active~.checkmark{transform:scale(.95)}.checkbox-label.checkbox-small .checkmark{position:relative;width:16px;height:16px;background:#fff;border:2px solid #e2e8f0;border-radius:.375rem;transition:.3s cubic-bezier(.4,0,.2,1);flex-shrink:0;display:flex;align-items:center;justify-content:center}.checkbox-label.checkbox-small .checkmark:after{content:"";position:absolute;width:6px;height:10px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:.2s cubic-bezier(.68,-.55,.265,1.55);width:4px;height:8px;left:5px;top:1px}.checkbox-label.checkbox-large .checkmark{position:relative;width:24px;height:24px;background:#fff;border:2px solid #e2e8f0;border-radius:.375rem;transition:.3s cubic-bezier(.4,0,.2,1);flex-shrink:0;display:flex;align-items:center;justify-content:center}.checkbox-label.checkbox-large .checkmark:after{content:"";position:absolute;width:6px;height:10px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:.2s cubic-bezier(.68,-.55,.265,1.55);width:7px;height:12px;left:7px;top:2px}.checkbox-label.checkbox-rounded .checkmark{border-radius:9999px}.error-message{color:#ef4444;font-size:.75rem;margin-top:.25rem}.permissions-list{max-height:300px;overflow-y:auto;padding:.25rem;margin-bottom:1.5rem;border-radius:.5rem}.directory-search{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 2px #0000000d}.directory-search .form-input{margin-bottom:1rem}.directory-search .search-filters{display:flex;gap:1rem}@media (max-width: 767px){.directory-search .search-filters{flex-direction:column}}input[type=file].form-input{padding:0;border:2px dashed #cbd5e1;background:#fff;cursor:pointer;transition:.3s ease;height:auto;min-height:48px;overflow:hidden;color:transparent}input[type=file].form-input::file-selector-button,input[type=file].form-input::-webkit-file-upload-button{width:100%;height:100%;min-height:48px;margin:0;padding:.75rem 1.25rem;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:500;font-size:.875rem;border-radius:0;cursor:pointer;transition:.3s ease}input[type=file].form-input::file-selector-button:hover,input[type=file].form-input::-webkit-file-upload-button:hover{background:linear-gradient(135deg,#506be7,#694391)}.alert{border-radius:.5rem;padding:.75rem;margin-bottom:1rem}.alert--success,.alert.alert-success{border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:#f0fff4;border:1px solid #9ae6b4;color:#22543d}.alert--error,.alert--destroy,.alert.alert-destroy{border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:#fff5f5;border:1px solid #feb2b2;color:#742a2a}.alert--warning{border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.alert--info{border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:#dbeafe;border:1px solid #60a5fa;color:#1e40af}.success-message{border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:#f0fff4;border:1px solid #9ae6b4;color:#22543d}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem}.help-card{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:1px solid rgba(102,126,234,.2);border-radius:.75rem;padding:1.5rem}.help-card h4{margin:0 0 1rem;color:#2d3748;font-weight:600}.help-card ul{margin:0;padding-left:1.5rem;color:#64748b}.help-card ul li{margin-bottom:.5rem;list-style:disc}.status-badge{padding:.25rem .75rem;border-radius:1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge--active,.status-badge.status-active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.status-badge--inactive,.status-badge.status-inactive{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.stats-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:600}.directory-item-type{background:#e2e8f0;color:#475569;padding:.25rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:500}.card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef}.card--hover{transition:.3s ease}.card--hover:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a;border-color:#667eea}.card--disabled,.reference-card.disabled{opacity:.6;cursor:not-allowed}.card--disabled:hover,.reference-card.disabled:hover{transform:none;box-shadow:0 4px 20px #00000014;border-color:#e9ecef}.form__card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;padding:2rem;margin-bottom:2rem}@media (max-width: 767px){.form__card{padding:1.5rem;margin:1rem;border-radius:.75rem}}.reference-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;transition:.3s ease}.reference-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a;border-color:#667eea}.reference-card{padding:2rem;cursor:pointer;text-align:center}.reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}@media (max-width: 767px){.reference-grid{grid-template-columns:1fr}}.reference-icon{width:64px;height:64px;margin:0 auto 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff}.reference-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:#2d3748}.reference-description{color:#64748b;font-size:.875rem;margin:0 0 1rem}.reference-stats .stats-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:600}.stats-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;padding:1.5rem;text-align:center}.stats-card .stats-number{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-card .stats-label{color:#64748b;font-size:.875rem;margin-top:.5rem}.directory-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:2rem}@media (max-width: 767px){.directory-stats{grid-template-columns:1fr}}.directory-item,.employee-item,.company-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;transition:.3s ease}.directory-item:hover,.employee-item:hover,.company-item:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a;border-color:#667eea}.directory-item,.employee-item,.company-item{padding:1.5rem;margin-bottom:1rem;position:relative}.directory-item.inactive,.employee-item.inactive,.company-item.inactive{opacity:.7;border-color:#cbd5e1}.directory-item.inactive:before,.employee-item.inactive:before,.company-item.inactive:before{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;background:#ef4444;border-radius:9999px}@media (max-width: 767px){.directory-item,.employee-item,.company-item{flex-direction:column;align-items:stretch;padding:1rem}}.creditor-obligation-row,.property-item,.signatory-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;transition:.3s ease}.creditor-obligation-row:hover,.property-item:hover,.signatory-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a;border-color:#667eea}.creditor-obligation-row,.property-item,.signatory-card{padding:1.5rem;margin-bottom:1rem;position:relative}.creditor-obligation-row.inactive,.property-item.inactive,.signatory-card.inactive{opacity:.7;border-color:#cbd5e1}.creditor-obligation-row.inactive:before,.property-item.inactive:before,.signatory-card.inactive:before{content:"";position:absolute;top:12px;right:12px;width:8px;height:8px;background:#ef4444;border-radius:9999px}@media (max-width: 767px){.creditor-obligation-row,.property-item,.signatory-card{flex-direction:column;align-items:stretch;padding:1rem}}.directory-item-header,.property-header,.creditor-row-header,.signatory-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.directory-item-header h4,.property-header h4,.creditor-row-header h4,.signatory-header h4{margin:0;color:#334155;font-size:1rem;font-weight:600}@media (max-width: 767px){.directory-item-header,.property-header,.creditor-row-header,.signatory-header{flex-direction:column;align-items:stretch;gap:1rem}}.directory-item-content,.employee-content,.company-content,.signatory-content{flex:1;display:grid;gap:2rem;align-items:center}@media (max-width: 767px){.directory-item-content,.employee-content,.company-content,.signatory-content{grid-template-columns:1fr;gap:1rem;text-align:left}}.employee-content{grid-template-columns:2fr 2fr 1fr}.company-content{grid-template-columns:2fr 1.5fr 1fr}.signatory-content{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.directory-item-actions,.employee-actions,.company-actions{display:flex;gap:.5rem;flex-shrink:0}@media (max-width: 767px){.directory-item-actions,.employee-actions,.company-actions{margin:1rem 0 0;justify-content:center}}.directory-item-details{display:grid;gap:.5rem}.directory-detail{display:flex;gap:.5rem}.detail-label{font-weight:500;color:#64748b;min-width:80px}.detail-value{color:#334155;flex:1}.employees-empty,.company-empty{text-align:center;padding:3rem 1rem;color:#64748b}.employees-empty h3,.company-empty h3{margin:0 0 .5rem;color:#334155}.employees-empty p,.company-empty p{margin:0 0 1.5rem}.modal__header{border-bottom:1px solid #e9ecef;padding-bottom:1rem;margin-bottom:1.5rem}.modal__header h3{margin:0;font-size:1.25rem;font-weight:600;color:#2d3748}.modal__body{margin-bottom:2rem}.modal__footer{display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid #e9ecef;padding-top:1rem}@media (max-width: 767px){.modal__footer{flex-direction:column}}.collapsible{margin-bottom:1rem}.collapsible-sections{margin-top:2rem}.collapsible-content{display:none;margin-top:1rem;padding:1.5rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.collapsible-content.show{display:block}.logout-form{background:#fff5f5;display:flex;justify-content:end;align-items:center;width:100%;max-width:150px;border-radius:.75rem;align-self:end;margin-top:10px;margin-right:20px}.logout-btn{display:flex;align-items:center;width:100%;padding:.75rem;background:transparent;border:none;color:#718096;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:left}.logout-btn:hover{color:#ef4444}.logout-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:.75rem;flex-shrink:0}.logout-icon svg{width:20px;height:20px}.logout-text{white-space:nowrap}.auth-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000001a;padding:2.5rem;width:100%;max-width:420px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}@media (max-width: 575px){.auth-card{padding:1.5rem;margin:1rem}}.auth-title{color:#2d3748;font-weight:700;margin-bottom:.5rem}.auth-subtitle{color:#718096;margin-bottom:2rem}.directory-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}@media (max-width: 767px){.directory-header{flex-direction:column;align-items:stretch}}.directory-title-section{flex:1}.directory-list,.property-list{display:grid;gap:1.5rem}.property-address{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;margin-top:1rem}.property-address h5{margin:0 0 .75rem;color:#64748b;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.creditors-list{display:grid;gap:1.5rem}.signatory-container{display:grid;gap:1rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}@media (max-width: 767px){.section-header{flex-direction:column;align-items:stretch;gap:1rem}}.permission-category{margin-bottom:1.5rem}.permission-category h4{margin-bottom:.75rem;font-size:1.125rem;font-weight:600;color:#2d3748}.multi-select-wrapper{position:relative;width:100%}.selected-users{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;min-height:40px}.selected-users:empty{display:none}.user-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:9999px;font-size:.875rem;font-weight:500;box-shadow:0 1px 2px #0000000d;transition:.15s ease;animation:slideIn .2s ease}.user-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@keyframes slideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.user-tag-name{line-height:line-height(tight)}.user-tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:#fff3;border:none;border-radius:9999px;color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:.15s ease}.user-tag-remove:hover{background:#ffffff4d;transform:rotate(90deg)}.dropdown-trigger{position:relative;cursor:pointer}.dropdown-trigger input{width:100%;height:58px;padding:1rem 3rem 1rem 1rem;border:2px solid #e2e8f0;border-radius:1rem;font-size:1rem;color:#718096;background:#fff;cursor:pointer;transition:.3s ease}.dropdown-trigger input:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.dropdown-trigger input:focus{outline:none;border-color:#667eea;box-shadow:0 8px 24px #667eea66}.dropdown-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.875rem;color:#64748b;pointer-events:none;transition:.15s ease}.dropdown-list[style*="display: block"]~.dropdown-trigger .dropdown-arrow{transform:translateY(-50%) rotate(180deg)}.dropdown-list{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 20px 60px #0000001a;z-index:1000;overflow:hidden;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-search{padding:.75rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dropdown-search input{width:100%;height:42px;padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;transition:.15s ease}.dropdown-search input:focus{outline:none;border-color:#667eea;box-shadow:0 1px 2px #0000000d}.dropdown-options{max-height:250px;overflow-y:auto}.dropdown-options::-webkit-scrollbar{width:8px}.dropdown-options::-webkit-scrollbar-track{background:#f1f5f9}.dropdown-options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dropdown-option{padding:.75rem 1rem;cursor:pointer;font-size:1rem;color:#2d3748;transition:.15s ease;border-left:3px solid transparent}.dropdown-option:hover{background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);border-left-color:#667eea;padding-left:calc(1rem + 3px)}.dropdown-option[style*="display: none"]{display:none!important}@media (max-width: 576px){.user-tag{font-size:.75rem;padding:.25rem .5rem}.dropdown-trigger input{height:42px;font-size:.875rem}.dropdown-options{max-height:200px}}.employees-grid{margin-bottom:2rem}.employee-checkbox{margin-right:1rem;flex-shrink:0}.employee-info h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#2d3748}.employee-info .employee-position{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.employee-contact{display:flex;flex-direction:column;gap:.25rem}.employee-contact a{color:#667eea;text-decoration:none;font-size:.875rem;transition:.3s ease}.employee-contact a:hover{color:#5a67d8;text-decoration:underline}.employee-status{display:flex;align-items:center;justify-content:center}.companies-grid{margin-bottom:2rem}.company-checkbox{margin-right:1rem;flex-shrink:0}.company-info h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#2d3748}.company-info .company-position{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.company-contact{display:flex;flex-direction:column;gap:.25rem}.company-contact a{color:#667eea;text-decoration:none;font-size:.875rem;transition:.3s ease}.company-contact a:hover{color:#5a67d8;text-decoration:underline}.company-status{display:flex;align-items:center;justify-content:center}.tab-section{min-height:100%;padding:0}.sidebar.sidebar-hidden~.mobile-header{transform:translateY(-100%)}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-y-4>*+*{margin-top:1rem}.space-y-8>*+*{margin-top:2rem}.text-primary{color:#2d3748}.text-secondary{color:#718096}.text-muted{color:#64748b}.text-success{color:#10b981}.text-error{color:#ef4444}.bg-white{background:#fff}.bg-gray-50{background:#f8fafc}.bg-gray-100{background:#f1f5f9}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.375rem}.rounded{border-radius:.5rem}.rounded-md{border-radius:.75rem}.rounded-lg{border-radius:1rem}.rounded-xl{border-radius:1.25rem}.rounded-full{border-radius:9999px}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 4px 20px #00000014}.shadow-md{box-shadow:0 4px 6px -1px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}.shadow-xl{box-shadow:0 20px 60px #0000001a}.transition{transition:.3s ease}.transition-fast{transition:.15s ease}.transition-slow{transition:.5s ease}
