:root{--ipsoft-color-primary: #2563eb;--ipsoft-color-primary-hover: #1d4ed8;--ipsoft-color-danger: #dc2626;--ipsoft-color-success: #16a34a;--ipsoft-color-text: #1a202c;--ipsoft-color-text-muted: #718096;--ipsoft-color-bg: #f7fafc;--ipsoft-color-card-bg: #ffffff;--ipsoft-color-border: #e2e8f0;--ipsoft-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--ipsoft-border-radius: .5rem;--ipsoft-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1)}.ipsoft-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--ipsoft-color-bg);padding:1rem;font-family:var(--ipsoft-font-family)}.ipsoft-login-card{background:var(--ipsoft-color-card-bg);border-radius:var(--ipsoft-border-radius);box-shadow:var(--ipsoft-shadow);padding:2.5rem;width:100%;max-width:420px}.ipsoft-login-card h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:var(--ipsoft-color-text);text-align:center}.ipsoft-login-card>p{margin:0 0 1.5rem;color:var(--ipsoft-color-text-muted);text-align:center;font-size:.875rem}.ipsoft-login-logo{display:block;margin:0 auto 1rem;max-height:56px;width:auto}.ipsoft-login-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--ipsoft-color-text-muted);font-size:.75rem}.ipsoft-login-divider:before,.ipsoft-login-divider:after{content:"";flex:1;height:1px;background:var(--ipsoft-color-border)}.ipsoft-login-divider span{padding:0 .75rem}.ipsoft-form-group{margin-bottom:1rem}.ipsoft-form-group label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--ipsoft-color-text)}.ipsoft-form-group input{width:100%;padding:.625rem .75rem;font-size:.9375rem;border:1px solid var(--ipsoft-color-border);border-radius:var(--ipsoft-border-radius);background:var(--ipsoft-color-card-bg);color:var(--ipsoft-color-text);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.ipsoft-form-group input:focus{outline:none;border-color:var(--ipsoft-color-primary);box-shadow:0 0 0 3px #2563eb1a}.ipsoft-form-group-error input{border-color:var(--ipsoft-color-danger)}.ipsoft-form-help{display:block;margin-top:.25rem;font-size:.75rem;color:var(--ipsoft-color-text-muted)}.ipsoft-form-error{display:block;margin-top:.25rem;font-size:.75rem;color:var(--ipsoft-color-danger)}.ipsoft-btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--ipsoft-border-radius);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;text-decoration:none;line-height:1.4;min-height:44px;font-family:inherit}.ipsoft-btn:disabled{opacity:.6;cursor:not-allowed}.ipsoft-btn-primary{background-color:var(--ipsoft-color-primary);color:#fff}.ipsoft-btn-primary:hover:not(:disabled){background-color:var(--ipsoft-color-primary-hover)}.ipsoft-btn-secondary{background-color:transparent;color:var(--ipsoft-color-primary);border:1px solid var(--ipsoft-color-primary)}.ipsoft-btn-secondary:hover:not(:disabled){background-color:#2563eb0d}.ipsoft-btn-danger{background-color:var(--ipsoft-color-danger);color:#fff}.ipsoft-btn-ghost{background-color:transparent;color:var(--ipsoft-color-text)}.ipsoft-btn-ghost:hover:not(:disabled){background-color:#0000000a}.ipsoft-btn-full{width:100%;text-align:center}.ipsoft-btn-sm{padding:.375rem .75rem;font-size:.8125rem;min-height:36px}.ipsoft-btn-lg{padding:.75rem 1.5rem;font-size:1rem}.ipsoft-btn-loading{opacity:.8}.ipsoft-btn-spinner{margin-right:.5rem;animation:ipsoft-spin 1s linear infinite}@keyframes ipsoft-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ipsoft-alert{padding:.75rem 1rem;border-radius:var(--ipsoft-border-radius);font-size:.875rem;margin-bottom:1rem}.ipsoft-alert-error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.ipsoft-alert-success{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.ipsoft-password-requirements{list-style:none;padding:0;margin:.5rem 0;font-size:.8125rem}.ipsoft-password-requirements li{display:flex;align-items:center;gap:.375rem;padding:.125rem 0}.ipsoft-requirement-met{color:var(--ipsoft-color-success)}.ipsoft-requirement-unmet{color:var(--ipsoft-color-text-muted)}.ipsoft-requirement-icon{width:1rem;text-align:center}.ipsoft-text-muted{color:var(--ipsoft-color-text-muted)}.ipsoft-link{color:var(--ipsoft-color-primary);text-decoration:none;font-size:.875rem}.ipsoft-link:hover{text-decoration:underline}.ipsoft-alert-warning{background-color:#fffbeb;color:#92400e;border:1px solid #fde68a}.ipsoft-mfa-setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--ipsoft-color-bg);padding:2rem;font-family:var(--ipsoft-font-family)}.ipsoft-mfa-setup-card{background:var(--ipsoft-color-card-bg);border-radius:.75rem;padding:2.5rem;max-width:480px;width:100%;box-shadow:var(--ipsoft-shadow)}.ipsoft-mfa-setup-card h1{font-size:1.25rem;margin:0 0 .5rem;font-weight:700;color:var(--ipsoft-color-text);text-align:center}.ipsoft-mfa-instructions{background-color:var(--ipsoft-color-bg);border:1px solid var(--ipsoft-color-border);border-radius:var(--ipsoft-border-radius);padding:1rem;margin-bottom:1.5rem}.ipsoft-mfa-instructions h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--ipsoft-color-text)}.ipsoft-mfa-instructions ol{margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--ipsoft-color-text-muted);line-height:1.6}.ipsoft-mfa-qr-container{display:flex;justify-content:center;margin:1.5rem 0}.ipsoft-mfa-qr-image{border:1px solid var(--ipsoft-color-border);border-radius:var(--ipsoft-border-radius);padding:.5rem;background:#fff}.ipsoft-mfa-secret{text-align:center;margin-bottom:.5rem}.ipsoft-mfa-secret-code{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--ipsoft-color-bg);border:1px solid var(--ipsoft-color-border);border-radius:var(--ipsoft-border-radius);padding:.5rem .75rem;margin-top:.25rem}.ipsoft-mfa-secret-code code{font-family:Courier New,Courier,monospace;font-size:.85rem;letter-spacing:.05em;color:var(--ipsoft-color-text);word-break:break-all}.ipsoft-mfa-copy-btn{background:none;border:none;cursor:pointer;padding:.125rem;font-size:1rem;opacity:.7;transition:opacity .15s}.ipsoft-mfa-copy-btn:hover{opacity:1}.ipsoft-mfa-loading{text-align:center;padding:2rem 0}.ipsoft-mfa-success{text-align:center}.ipsoft-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:1rem}.ipsoft-modal-card{background:var(--ipsoft-color-card-bg);border-radius:var(--ipsoft-border-radius);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:2rem;width:100%;max-width:380px;text-align:center}.ipsoft-modal-icon{font-size:2.5rem;margin-bottom:.75rem}.ipsoft-modal-card h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--ipsoft-color-text)}.ipsoft-modal-card p{margin:0 0 1.5rem;font-size:.9rem;color:var(--ipsoft-color-text-muted);line-height:1.5}.ipsoft-otp-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--ipsoft-color-text)}.ipsoft-otp-container{display:flex;gap:.5rem;justify-content:center}.ipsoft-otp-inputs{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.ipsoft-otp-digit,.ipsoft-otp-input{width:3rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:600;font-family:Courier New,Courier,monospace;border:2px solid var(--ipsoft-color-border);border-radius:var(--ipsoft-border-radius);background:var(--ipsoft-color-card-bg);color:var(--ipsoft-color-text);transition:border-color .15s ease,box-shadow .15s ease;caret-color:var(--ipsoft-color-primary)}.ipsoft-otp-digit:focus,.ipsoft-otp-input:focus{outline:none;border-color:var(--ipsoft-color-primary);box-shadow:0 0 0 3px #2563eb1a}.ipsoft-otp-digit:disabled,.ipsoft-otp-input:disabled{opacity:.6;cursor:not-allowed}.ipsoft-otp-error .ipsoft-otp-digit,.ipsoft-otp-error .ipsoft-otp-input{border-color:var(--ipsoft-color-danger)}.ipsoft-otp-error .ipsoft-otp-digit:focus,.ipsoft-otp-error .ipsoft-otp-input:focus{box-shadow:0 0 0 3px #dc26261a}:root{--color-primary: #0066cc;--color-primary-hover: #0052a3;--color-secondary: #6c757d;--color-success: #28a745;--color-danger: #dc3545;--color-warning: #ffc107;--color-bg: #f8f9fa;--color-surface: #ffffff;--color-text: #212529;--color-text-muted: #6c757d;--color-border: #dee2e6;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--line-height: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--min-touch-target: 44px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);box-shadow:var(--shadow-sm)}.app-header h1{font-size:var(--font-size-lg);margin:0;color:var(--color-primary)}.header-nav{flex:1}.header-nav a{color:var(--color-text);text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);min-height:var(--min-touch-target);display:inline-flex;align-items:center}.header-nav a:hover{background:var(--color-bg)}.header-user{display:flex;align-items:center;gap:var(--space-md)}.app-main{flex:1;padding:var(--space-xl);max-width:1200px;margin:0 auto;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-touch-target);min-width:var(--min-touch-target);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:500;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:#0066cc0d}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500}.form-group input{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s}.form-group input:focus{border-color:var(--color-primary)}.form-group small{display:block;margin-top:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-sm)}.alert{padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.alert-error{background:#fde8e8;color:var(--color-danger);border:1px solid #f5c6cb}.login-card,.first-access-card{background:var(--color-surface);padding:var(--space-xxl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;margin:10vh auto}.login-card h1,.first-access-card h1{color:var(--color-primary);margin-bottom:var(--space-md)}.login-divider{text-align:center;margin:var(--space-lg) 0;color:var(--color-text-muted)}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.portal-card{background:var(--color-surface);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-decoration:none;color:var(--color-text);transition:box-shadow .2s,transform .2s;min-height:var(--min-touch-target)}.portal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-card-icon{font-size:2rem;display:block;margin-bottom:var(--space-md)}.portal-card h3{margin:0 0 var(--space-sm);color:var(--color-primary)}.portal-card p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (max-width: 768px){.app-header{padding:var(--space-sm) var(--space-md);flex-wrap:wrap}.app-main{padding:var(--space-md)}.login-card,.first-access-card{margin:var(--space-lg);padding:var(--space-xl)}.portal-grid{grid-template-columns:1fr}}html,body{overflow-x:hidden}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:var(--color-bg)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);min-height:36px}.btn-full{width:100%}.btn-loading{position:relative;color:transparent}.btn-spinner{position:absolute;top:50%;left:50%;font-size:20px;color:#fff;display:inline-block;animation:btn-spin 1s linear infinite}@keyframes btn-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.form-group select{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;cursor:pointer}.form-group select:focus{border-color:var(--color-primary)}.form-group-error input,.form-group-error select{border-color:var(--color-danger)}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-xs);display:block}.spinner{display:flex;align-items:center;justify-content:center}.spinner-circle{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm .spinner-circle{width:20px;height:20px}.spinner-md .spinner-circle{width:32px;height:32px}.spinner-lg .spinner-circle{width:48px;height:48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:10000;display:flex;flex-direction:column;gap:var(--space-sm);max-width:400px}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideIn .3s ease}.toast-exit{animation:slideOut .3s ease forwards}.toast-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.toast-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.toast-warning{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.toast-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.toast-message{flex:1}.toast-action{background:none;border:none;color:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.toast-close{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.6;padding:4px;min-width:var(--min-touch-target);min-height:var(--min-touch-target);display:flex;align-items:center;justify-content:center}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.modal{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:0;max-width:560px;width:90vw}.modal.modal-resizable{max-width:90vw;max-height:90vh;width:800px;height:85vh;resize:both;overflow:hidden}.modal.modal-resizable .modal-content{height:100%}.modal.modal-resizable .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.modal::backdrop{background:#00000080}.modal-content{display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-lg)}.modal-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.modal-maximize{background:none;border:none;font-size:1.2rem;cursor:pointer;min-width:var(--min-touch-target);min-height:var(--min-touch-target);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-maximize:hover{background:var(--color-bg)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;min-width:var(--min-touch-target);min-height:var(--min-touch-target);display:flex;align-items:center;justify-content:center}.modal.modal-maximized{width:98vw!important;height:96vh!important;max-width:98vw!important;max-height:96vh!important;resize:none}.modal-body{padding:var(--space-xl)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th,.table-wrapper td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.table-wrapper th{background:var(--color-bg);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.table-wrapper tr:last-child td{border-bottom:none}.table-wrapper tr:hover td{background:#0066cc05}.table-empty,.table-loading{padding:var(--space-xxl);text-align:center;color:var(--color-text-muted)}.error-boundary{padding:var(--space-xl);text-align:center;background:#fff3f3;border:1px solid #f5c6cb;border-radius:var(--radius-md);margin:var(--space-lg) 0}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}fieldset legend{font-weight:600;padding:0 var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.census-page h2{margin-bottom:var(--space-sm)}.census-page>p{color:var(--color-text-muted);margin-bottom:var(--space-xl)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.page-header h2{margin:0}.page-header-actions{display:flex;gap:var(--space-sm)}.filters-bar{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}@media (max-width: 768px){.filters-bar{grid-template-columns:1fr}}.nav-link{color:var(--color-text);text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);min-height:var(--min-touch-target);display:inline-flex;align-items:center;font-size:var(--font-size-sm);transition:background .15s}.nav-link:hover{background:var(--color-bg)}.nav-link.active{background:#0066cc14;color:var(--color-primary);font-weight:600}.user-name{font-size:var(--font-size-sm);color:var(--color-text-muted)}.detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);margin-bottom:var(--space-lg)}.detail-section h3{margin:0 0 var(--space-lg);font-size:var(--font-size-lg)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.detail-field label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.detail-field span{font-size:var(--font-size-base)}.empty-message{color:var(--color-text-muted);font-style:italic}.add-portal-form{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.add-portal-form h4{margin:0 0 var(--space-md);font-size:var(--font-size-base)}.password-requirements{list-style:none;padding:0;margin:var(--space-sm) 0 var(--space-md);font-size:var(--font-size-sm)}.password-requirements li{display:flex;align-items:center;gap:var(--space-sm);padding:2px 0}.requirement-met{color:var(--color-success)}.requirement-unmet{color:var(--color-danger)}.requirement-icon{font-weight:700;width:16px;text-align:center}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);list-style:none;padding:0;margin:0;max-height:240px;overflow-y:auto}.autocomplete-option{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);cursor:pointer;min-height:var(--min-touch-target)}.autocomplete-option:hover,.autocomplete-option.highlighted{background:#0066cc0f}.autocomplete-option-label{font-weight:500}.autocomplete-option-extra{font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-users-page--wide{width:calc(100vw - 2 * var(--space-xl));max-width:1600px;position:relative;left:50%;transform:translate(-50%)}.admin-users-page--wide .table-wrapper,.admin-users-page--wide table{width:100%}.admin-users-page--wide .page-header,.admin-users-page--wide .filters-bar{max-width:900px;margin-inline:auto}.filters-search-action{grid-column:1 / -1}.filters-search-action .btn{width:auto;min-width:120px}.filters-panel{background:var(--color-bg, #f7fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-lg, .5rem);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);align-items:end}.filters-grid input[type=date]{min-width:0}.filters-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}.filters-actions{flex-direction:column}.filters-actions .btn{width:100%}}@media (max-width: 768px){.admin-users-page--wide{width:100%;left:auto;transform:none}}.page-wide{width:calc(100vw - 2 * var(--space-xl));max-width:1600px;position:relative;left:50%;transform:translate(-50%)}.page-wide .audit-table-wrapper,.page-wide .audit-table,.page-wide .table-wrapper,.page-wide table{width:100%}.page-wide .page-header,.page-wide .filters-bar{max-width:1000px;margin-inline:auto}@media (max-width: 768px){.page-wide{width:100%;left:auto;transform:none}}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.pagination-pages{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.pagination-btn,.pagination-page{min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface, #fff);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pagination-btn:hover:not(:disabled),.pagination-page:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-primary)}.pagination-btn:disabled,.pagination-page:disabled{opacity:.5;cursor:not-allowed}.pagination-page--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.pagination-page--active:hover{background:var(--color-primary);color:#fff}.pagination-ellipsis{padding:0 var(--space-xs);color:var(--color-text-muted, #64748b);-webkit-user-select:none;user-select:none}.pagination-summary{text-align:center;margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted, #64748b)}.intranet-page{padding:1.5rem}.intranet-areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.intranet-area-card{border:1px solid #e2e8f0;border-radius:.5rem;padding:1.25rem;cursor:pointer;transition:box-shadow .15s,border-color .15s;background:#fff}.intranet-area-card:hover,.intranet-area-card:focus{border-color:var(--ipsoft-color-primary, #3182ce);box-shadow:0 2px 8px #3182ce1f}.area-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.area-card-header h3{margin:0;font-size:1.1rem}.area-card-description{margin:.5rem 0 0;color:#718096;font-size:.9rem}.role-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:.25rem;white-space:nowrap}.role-badge--editor{background:#ebf8ff;color:#2b6cb0}.role-badge--viewer{background:#f0fff4;color:#276749}.breadcrumb{margin:.75rem 0;font-size:.9rem;color:#4a5568}.breadcrumb-separator{margin:0 .25rem;color:#a0aec0}.breadcrumb-link{background:none;border:none;color:var(--ipsoft-color-primary, #3182ce);cursor:pointer;padding:0;font-size:.9rem}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{font-weight:600}.intranet-file-list{margin-top:1rem;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.file-row{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #edf2f7;gap:.75rem}.file-row:last-child{border-bottom:none}.file-row--folder{cursor:pointer;background:#fafbfc}.file-row--folder:hover{background:#f0f4f8}.file-icon{font-size:1.25rem;flex-shrink:0;width:2rem;text-align:center}.file-name{flex:1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name--clickable{cursor:pointer;color:var(--ipsoft-color-primary, #3182ce)}.file-name--clickable:hover{text-decoration:underline}.file-meta{font-size:.8rem;color:#718096;white-space:nowrap}.file-actions{display:flex;gap:.25rem;flex-shrink:0}.new-folder-bar{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;padding:.75rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:.5rem}.new-folder-bar input{flex:1;padding:.5rem;border:1px solid #cbd5e0;border-radius:.25rem;font-size:.9rem}.upload-button{cursor:pointer;display:inline-block}.intranet-admin-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;margin-top:1rem}@media (max-width: 768px){.intranet-admin-layout{grid-template-columns:1fr}}.admin-panel{border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;background:#fff}.admin-panel h3{margin:0 0 .75rem;font-size:1rem;color:#2d3748}.area-list{list-style:none;padding:0;margin:0}.area-list-item{display:flex;align-items:center;border-bottom:1px solid #edf2f7}.area-list-item:last-child{border-bottom:none}.area-list-item--active{background:#ebf8ff}.area-list-button{flex:1;background:none;border:none;padding:.6rem .5rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.15rem}.area-list-button:hover{background:#f7fafc}.area-delete-btn{background:none;border:none;cursor:pointer;padding:.5rem;opacity:.5}.area-delete-btn:hover{opacity:1}.members-table{width:100%;border-collapse:collapse;font-size:.9rem}.members-table th{text-align:left;padding:.5rem;border-bottom:2px solid #e2e8f0;color:#4a5568;font-weight:600}.members-table td{padding:.5rem;border-bottom:1px solid #edf2f7}.role-select{padding:.3rem .5rem;border:1px solid #cbd5e0;border-radius:.25rem;font-size:.85rem}.user-search-results{list-style:none;padding:0;margin:.5rem 0;border:1px solid #e2e8f0;border-radius:.25rem;max-height:200px;overflow-y:auto}.user-result{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid #edf2f7}.user-result:hover{background:#f7fafc}.user-result--selected{background:#ebf8ff}.user-result:last-child{border-bottom:none}.modal-form{display:flex;flex-direction:column;gap:.75rem}.audit-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.audit-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:1rem}.audit-table th{text-align:left;padding:.6rem .5rem;border-bottom:2px solid #e2e8f0;color:#4a5568;font-weight:600;white-space:nowrap}.audit-table td{padding:.5rem;border-bottom:1px solid #edf2f7;vertical-align:top}.audit-date{white-space:nowrap;color:#718096}.audit-action{display:inline-block;padding:.15rem .4rem;border-radius:.2rem;font-size:.8rem;font-weight:500}.audit-action--member_added{background:#c6f6d5;color:#22543d}.audit-action--member_removed{background:#fed7d7;color:#742a2a}.audit-action--member_role_changed{background:#fefcbf;color:#744210}.audit-action--file_uploaded{background:#bee3f8;color:#2a4365}.audit-action--file_deleted{background:#fed7d7;color:#742a2a}.audit-action--folder_created{background:#e9d8fd;color:#44337a}.audit-action--folder_deleted{background:#fed7d7;color:#742a2a}.audit-action--area_created{background:#c6f6d5;color:#22543d}.audit-action--area_updated{background:#fefcbf;color:#744210}.audit-action--area_deleted{background:#fed7d7;color:#742a2a}.audit-details{color:#718096;font-size:.8rem}.empty-state{text-align:center;padding:3rem 1rem;color:#718096}.nav-dropdown{position:relative;display:inline-block}.nav-dropdown-trigger{background:none;border:none;cursor:default;font-size:inherit;font-family:inherit;padding:.4rem .6rem;border-radius:.25rem;pointer-events:none}.nav-dropdown:hover .nav-dropdown-trigger{background:#edf2f7}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:160px;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;box-shadow:0 4px 12px #0000001a;padding:.25rem 0;z-index:100;flex-direction:column}.nav-dropdown:hover .nav-dropdown-menu{display:flex}.nav-dropdown-item{display:block;padding:.5rem 1rem;color:#2d3748;text-decoration:none;font-size:.9rem;white-space:nowrap}.nav-dropdown-item:hover{background:#f7fafc;color:var(--ipsoft-color-primary, #3182ce)}.nav-dropdown-item.active{background:#ebf8ff;color:var(--ipsoft-color-primary, #3182ce);font-weight:500}.sub-nav,.nav-group,.nav-group-label{display:none}.mobile-menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}@media (max-width: 768px){.mobile-menu-toggle{display:block}.header-brand{display:flex;align-items:center;justify-content:space-between;width:100%}.header-nav{display:none;flex-direction:column;width:100%;gap:0;padding:.5rem 0}.header-nav--open{display:flex}.header-nav a,.header-nav .nav-dropdown-trigger{padding:.6rem .75rem;font-size:.95rem}.nav-dropdown{width:100%}.nav-dropdown-menu{position:static;box-shadow:none;border:none;padding-left:1rem;background:#f7fafc}.nav-dropdown:hover .nav-dropdown-menu{display:flex;flex-direction:column}.nav-dropdown-trigger{pointer-events:auto;cursor:pointer;width:100%;text-align:left}.header-user{width:100%;padding-top:.5rem;border-top:1px solid #e2e8f0;margin-top:.5rem}.intranet-page .page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.intranet-page .page-header h2{font-size:1.2rem}.intranet-page .page-header>div{width:100%;flex-wrap:wrap;gap:.4rem}.intranet-page .page-header .btn,.intranet-page .page-header .btn--primary,.intranet-page .page-header .btn--sm,.intranet-page .page-header .upload-button span{font-size:.8rem;padding:.35rem .6rem}.intranet-admin-layout{grid-template-columns:1fr}.admin-panel{max-width:100vw;overflow:hidden}.members-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:calc(100vw - 4rem)}}.audit-row--clickable{cursor:pointer;transition:background .1s}.audit-row--clickable:hover{background:#fafafa}.audit-row--expanded{background:#f0f9ff}.audit-expand-toggle{color:#718096;width:32px;text-align:center;-webkit-user-select:none;user-select:none}.audit-detail-row>td{background:#f8fafc;padding:1rem 1.5rem}.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;font-size:.875rem}@media (max-width: 768px){.audit-detail-grid{grid-template-columns:1fr}}.audit-detail-label{color:#718096;font-size:.75rem;margin-bottom:.15rem}.audit-detail-value{color:#1a202c;word-break:break-word}.audit-action--user_login,.audit-action--login{background:#c6f6d5;color:#22543d}.audit-action--user_logout,.audit-action--logout{background:#e2e8f0;color:#2d3748}.audit-action--registration_completed,.audit-action--user_censed{background:#bee3f8;color:#2a4365}.audit-action--password_reset_by_admin,.audit-action--mfa_reset_by_admin{background:#fefcbf;color:#744210}.audit-action--email_changed,.audit-action--permissions_modified{background:#e9d8fd;color:#44337a}.audit-action--view{background:#bee3f8;color:#2a4365}.audit-action--download{background:#c6f6d5;color:#22543d}.audit-action--acknowledge{background:#e9d8fd;color:#44337a}.audit-action--print{background:#feebc8;color:#7b341e}
