@keyframes shake{0%{transform:rotate(0)}18%{transform:rotate(-8deg)}36%{transform:rotate(6deg)}54%{transform:rotate(-5deg)}72%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}to{transform:rotate(0)}}body{background-color:#f5f5f5;background-image:url(/assets/watermark.svg);background-repeat:repeat;margin:0;padding:20px 20px 100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}:focus{outline-offset:2px;outline:2px solid #007bff}a{color:#007bff;text-decoration:none;transition:color .3s}a:hover{color:#0056b3;text-decoration:underline}a:focus{outline-offset:2px;border-radius:2px;outline:2px solid #007bff}[role=button]:focus,[tabindex]:not([tabindex="-1"]):focus{outline-offset:2px;border-radius:3px;outline:2px solid #007bff}.app{background:#fff;border-radius:8px;max-width:800px;margin:0 auto;padding:30px;box-shadow:0 2px 10px #0000001a}.app-header{text-align:center;border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px;position:relative}.app-header h1{color:#333;margin:0;font-size:2.5em}.app-copyright{text-align:center;z-index:1000;color:#000;background-color:#fff;width:100%;padding-top:5px;position:fixed;bottom:0;left:0}.subtitle{color:#666;margin:10px 0 0;font-size:1.1em}.status-bar{background:#f8f9fa;border-left:4px solid #007bff;border-radius:5px;margin-bottom:20px;padding:15px}.status-message{color:#333;margin:0;font-weight:500}.banner-notifications{z-index:1000;pointer-events:none;flex-direction:column-reverse;gap:10px;max-width:400px;transition:bottom .3s;display:flex;position:fixed;bottom:20px;right:20px}.banner-notifications.with-progress-bar{bottom:80px}.banner{pointer-events:auto;border:1px solid;border-radius:8px;justify-content:space-between;align-items:center;min-width:300px;max-width:400px;padding:12px 16px;font-weight:500;animation:.3s ease-out slideInFromRight;display:flex;box-shadow:0 4px 12px #00000026}.banner.banner-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.banner.banner-error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.banner.banner-warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}.banner.banner-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.banner .banner-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;margin-left:10px;padding:0;font-size:18px}.banner .banner-close:hover{opacity:1}.banner .banner-close:focus{outline-offset:2px;opacity:1;border-radius:2px;outline:2px solid}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.main-menu{text-align:center}.container-section h2{color:#333;margin-bottom:20px}.button-group{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:20px;display:flex}.btn{cursor:pointer;border:none;border-radius:5px;min-width:150px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .3s}.btn:focus{outline-offset:2px;outline:3px solid #007bff;box-shadow:0 0 0 4px #007bff40}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-primary:focus{outline-color:#339cff;box-shadow:0 0 0 4px #339cff80}.btn-secondary{color:#fff;background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-secondary:focus{outline-color:#adb5bd;box-shadow:0 0 0 4px #adb5bd80}.btn-success{color:#fff;background-color:#28a745}.btn-success:hover{background-color:#1e7e34}.btn-success:focus{outline-color:#28a745;box-shadow:0 0 0 4px #28a74580}.btn-danger{color:#fff;background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-danger:focus{outline-color:#dc3545;box-shadow:0 0 0 4px #dc354580}.btn-small{border-radius:4px;min-width:0;padding:6px 12px;font-size:13px}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.7}.role{color:#fff;background:#6c757d;border-radius:12px;padding:2px 8px;font-size:12px}.badge-admin{color:#fff;background:#dc3545;border-radius:12px;padding:2px 8px;font-size:12px}.badge-privileged,.badge-user,.badge-guest{color:#fff;background:#007bff;border-radius:12px;padding:2px 8px;font-size:12px}.role-item{background:#f8f9fa;border-radius:5px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;display:flex}.role-item-remove{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.role-item-remove:hover{background:#c82333}.role-item-remove:focus{outline-offset:2px;outline:2px solid #fff;box-shadow:0 0 0 3px #dc354580}.top-padding{margin-top:15px}.right-justify{justify-content:flex-end;align-items:center;gap:10px;display:flex}.container-creator{color:#666;font-size:12px}.container-info{background:#e9f4ff;border:1px solid #b3d9ff;border-radius:5px;margin-top:20px;padding:20px}.credentials-form{max-width:400px;margin:0 auto}.credentials-form h2{text-align:center;color:#333;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:5px;font-weight:500;display:block}.form-group input,.form-group select{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:16px}.form-group input:focus,.form-group select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff40}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;margin-right:8px}.form-group input[type=checkbox]:focus,.form-group input[type=radio]:focus{outline-offset:2px;outline:2px solid #007bff;box-shadow:0 0 0 3px #007bff40}.container-view{text-align:center;background:#e8f5e8;border:1px solid #c3e6c3;border-radius:5px;padding:30px}.container-view h2{color:#155724;margin-bottom:15px}.container-view .username{justify-content:right;margin-right:8px;font-weight:700}.hidden{display:none!important}.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:10px 0;padding:10px}.success{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;margin:10px 0;padding:10px}.file-path{word-break:break-all;background:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;padding:5px 8px;font-family:monospace}.progress-container{z-index:100;background:#fff;border-top:1px solid #ddd;padding:15px 20px 25px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.progress-container .progress-bar{background:#e9ecef;border-radius:4px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.progress-container .progress-bar .progress-fill{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:4px;width:20%;height:100%;transition:width .3s}.progress-container .progress-text{text-align:center;color:#666;font-size:20px;font-weight:500}.container-creation{max-width:800px;margin:0 auto}.container-creation .creation-step{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.container-creation .creation-step h2{color:#333;margin-bottom:10px}.container-creation .creation-step p{color:#666;margin-bottom:20px}.container-creation .users-list{background:#f8f9fa;border-radius:5px;margin-top:20px;padding:15px}.container-creation .users-list h3{color:#333;margin-bottom:10px}.container-creation .users-list ul{margin:0;padding:0;list-style:none}.container-creation .users-list ul li{border-bottom:1px solid #dee2e6;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.container-creation .users-list ul li:last-child{border-bottom:none}.container-creation .users-list ul li .user-info{gap:10px;display:flex}.container-creation .roles-list{background:#f8f9fa;border-radius:5px;margin-top:20px;padding:15px}.container-creation .roles-list h3{color:#333;margin-bottom:10px}.container-creation .roles-list ul{margin:0;padding:0;list-style:none}.container-creation .roles-list ul li{background:#fff;border-bottom:1px solid #dee2e6;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;display:flex}.container-creation .roles-list ul li:last-child{border-bottom:none}.container-creation .roles-list ul li .user-info{align-items:center;gap:10px;display:flex}.container-creation .roles-list ul li .required-badge{color:#6c757d;font-size:.85em;font-style:italic}.container-creation .role-input-group{align-items:stretch;gap:10px;display:flex}.container-creation .role-input-group input{flex:1}.container-creation .role-input-group button{white-space:nowrap}.container-creation .files-section{margin-top:20px}.container-creation .files-section .files-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.container-creation .files-section .files-header h3{margin:0}.container-creation .files-section .files-header .select-all-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:flex}.container-creation .files-section .files-header .select-all-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.container-creation .files-section .files-list{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;max-height:300px;margin-bottom:15px;padding:16px;overflow-y:auto}.container-creation .files-section .files-list .file-item{background:#fff;border-bottom:1px solid #dee2e6;border-radius:6px;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding:16px 12px;display:flex}.container-creation .files-section .files-list .file-item:last-child{border-bottom:none;margin-bottom:0}.container-creation .files-section .files-list .file-item:hover{background-color:#f0f8ff;border-color:#007bff}.container-creation .files-section .files-list .file-item .file-info{flex-direction:column;padding-right:15px;display:flex}.container-creation .files-section .files-list .file-item .file-info .file-name{margin-bottom:5px;font-weight:700}.container-creation .files-section .files-list .file-item .file-info .file-path{color:#666;margin-bottom:8px;font-size:12px}.container-creation .files-section .files-list .file-item .file-info .file-roles{align-items:center;gap:12px;margin-top:10px;display:flex}.container-creation .files-section .files-list .file-item .file-info .file-roles label{flex-shrink:0;margin-bottom:0;font-size:13px;font-weight:500;display:inline-block}.container-creation .files-section .files-list .file-item .file-info .file-roles .role-checkboxes{flex-wrap:wrap;gap:12px;margin-top:0;padding:0;display:flex}.container-creation .files-section .files-list .file-item .file-info .file-roles .role-checkboxes .role-checkbox{cursor:pointer;border-radius:3px;align-items:center;padding:4px 6px;font-size:13px;display:flex}.container-creation .files-section .files-list .file-item .file-info .file-roles .role-checkboxes .role-checkbox:hover{background-color:#007bff1a}.container-creation .files-section .files-list .file-item .file-info .file-roles .role-checkboxes .role-checkbox input[type=checkbox]{cursor:pointer;margin-right:6px}.container-creation .files-section .files-list .file-item .file-info .file-roles .role-checkboxes .role-checkbox input[type=checkbox]:focus{outline-offset:1px;outline:2px solid #007bff}.container-creation .files-section .files-list .file-item .file-actions{align-items:flex-start;gap:10px;min-width:120px;padding-left:15px;display:flex}.container-creation .files-section .files-list .file-item .file-actions input[type=checkbox]{margin-top:3px;margin-right:10px}.container-creation .files-section .files-list .file-item .file-actions .btn{white-space:nowrap}.container-creation .files-section .files-list .file-item .no-files-message{text-align:center;color:#666;padding:20px}.container-creation .files-section .file-permissions{background:#e9ecef;border-radius:5px;padding:15px}.container-creation .files-section .file-permissions .bulk-role-checkboxes{flex-wrap:wrap;gap:15px;margin-top:10px;display:flex}.container-creation .files-section .file-permissions .bulk-role-checkboxes .role-checkbox{cursor:pointer;align-items:center;font-size:14px;display:flex}.container-creation .files-section .file-permissions .bulk-role-checkboxes .role-checkbox input[type=checkbox]{cursor:pointer;margin-right:6px}.container-creation .files-section .file-permissions .bulk-role-checkboxes .role-checkbox input[type=checkbox]:focus{outline-offset:1px;outline:2px solid #007bff}.container-creation .file-path-display{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;align-items:center;gap:10px;padding:8px;display:flex}.container-creation .file-path-display span{color:#666;flex:1}.container-creation .access-key-display{margin:20px 0}.container-creation .access-key-display .access-key-box{gap:10px;margin-top:10px;display:flex}.container-creation .access-key-display .access-key-box input{background:#f8f9fa;border:2px solid #007bff;border-radius:4px;flex:1;padding:10px;font-family:monospace;font-size:14px}.container-creation .access-key-display .copied-indicator{font-size:14px;font-weight:600}.container-creation .access-key-display .copied-indicator.shaking{display:inline-block;animation:.5s ease-in-out shake!important}.container-creation .container-info-display{background:#f8f9fa;border-radius:5px;margin:20px 0;padding:15px}.container-creation .container-info-display h3{color:#333;margin-bottom:10px}.container-creation .container-info-display p{color:#666;margin:5px 0}.container-creation .container-info-display p strong{color:#333}.container-creation .creation-navigation{border-top:1px solid #ddd;justify-content:space-between;margin-top:20px;padding:15px 0;display:flex}.loading-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay.hidden{display:none!important}.loading-overlay .loading-spinner{text-align:center;background:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 15px #0003}.loading-overlay .loading-spinner .spinner{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;margin:0 auto 15px;animation:1s linear infinite spin}.loading-overlay .loading-spinner p{color:#333;margin:0;font-weight:700}.file-browser{background:#fff;border-radius:8px;margin-top:20px}.file-browser-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px;display:flex}.file-browser-header h3{color:#333;margin:0}.file-browser-actions{gap:10px;display:flex}.files-list{border-radius:8px;max-height:400px;padding:24px;overflow-y:auto}.file-item{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding:18px;transition:all .3s;display:flex}.file-item:hover{background-color:#f8f9fa;border-color:#007bff}.file-item:focus{outline-offset:2px;background-color:#f8f9fa;border-color:#007bff;outline:2px solid #007bff}.file-item:last-child{margin-bottom:0}.file-item[tabindex]:focus{outline-offset:2px;outline:2px solid #007bff}.file-info{flex:1;padding-right:15px}.file-info .file-name{color:#333;margin-bottom:8px;font-weight:600;line-height:1.4}.file-info .file-path{color:#666;word-break:break-all;font-family:monospace;font-size:.9em;line-height:1.3}.access-key-form,.credentials-form{max-width:400px;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
