:root{--primary-blue:#005ca3;--primary-green:#66939e;--primary-gray:#86899b;--primary-white:#fff;--primary-dark-green:#125e73;--primary-green-light:#b2c4ca;--success:#17a512;--success-bg:#eaf8eb;--error:#d60605;--error-bg:#ffe5e4;--warning:#daa310;--warning-bg:#fff9e9;--bg-main:#f6f7fb;--bg-card:#f8fafa;--bg-white:#fff;--bg-tab:#f4f7f7;--bg-table-row:#f6f9f9;--text-primary:#4b4b4b;--text-dark:#000;--text-sidebar:#9bacb1;--text-label:#8091a0;--border-default:rgba(0,0,0,.164);--border-light:#e1e3ed;--border-card:#eaeff0;--btn-primary:#005ca3;--btn-primary-hover:#00477e;--btn-primary-disabled:#b9d9f2;--btn-default-border:#e1e3ed;--btn-default-hover-border:#66939e;--btn-default-focus-bg:#003660;--btn-danger:#d60605;--btn-danger-hover:#c82333;--shadow-primary:0 8px 22px #0000001a;--shadow-secondary:0px 3px 6px #2c28281c;--shadow-card:0px 0px 10px #66939e26;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.25rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:2.5rem;--spacing-4xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1.25rem;--font-family:"Avenir",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-xx-small:0.625rem;--font-size-x-small:0.75rem;--font-size-small:0.875rem;--font-size-medium:1rem;--font-size-large:1.125rem;--font-size-x-large:1.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:900;--height-button:2.5rem;--height-input:2.5rem;--height-select:2.5rem;--badge-red-bg:#ffe5e5;--badge-red-text:#ff5c5c;--badge-blue-bg:#e7f0fe;--badge-blue-text:#0045bc;--badge-green-bg:#e6f8fa;--badge-green-text:#01b8c5;--badge-orange-bg:#fdf3e1;--badge-orange-text:#daa310;--badge-yellow-bg:#fffee6;--badge-yellow-text:#e6b800;--badge-grey-bg:#f0f1f4;--badge-grey-text:#8f90a6}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-small);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{background:var(--primary-white);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-secondary);color:var(--text-primary);padding:0 var(--spacing-lg)}.navbar-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1400px}.navbar-brand-link{align-items:center;color:var(--primary-blue);display:flex;font-size:var(--font-size-large);font-weight:var(--font-weight-bold);gap:var(--spacing-sm);text-decoration:none}.navbar-logo-icon{display:block;height:2.5rem;object-fit:contain;width:2.5rem}.navbar-logo-full{display:none;height:2rem;object-fit:contain;width:auto}@media (min-width:768px){.navbar-logo-icon{display:none}.navbar-logo-full{display:block}}.navbar-links{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.nav-link{border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .3s}.nav-link:hover{background:var(--bg-card);color:var(--primary-blue)}.nav-user{color:var(--text-label);margin-right:var(--spacing-xs)}.logout-btn,.nav-user{font-size:var(--font-size-small);padding:var(--spacing-sm) var(--spacing-md)}.logout-btn{align-items:center;background:var(--btn-danger);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;display:flex;font-weight:var(--font-weight-bold);gap:var(--spacing-xs);height:var(--height-button);transition:background .3s}.navbar .btn-icon{filter:brightness(0) invert(1);height:16px;width:16px}.logout-btn:hover{background:var(--btn-danger-hover)}@media (max-width:768px){.navbar-container{flex-direction:column;height:auto;padding:var(--spacing-md) 0}.navbar-links{flex-wrap:wrap;justify-content:center;margin-top:var(--spacing-md)}}.login-container{align-items:center;background:var(--bg-main);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}.login-box{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-primary);max-width:450px;padding:var(--spacing-4xl) var(--spacing-3xl);width:100%}.logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-3xl)}.login-logo{height:auto;max-width:200px;object-fit:contain}.login-box h2{color:var(--primary-blue);font-size:var(--font-size-x-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-3xl) 0;text-align:center}.form-group input:disabled{cursor:not-allowed;opacity:.6}.password-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.password-input-wrapper input{box-sizing:border-box;padding-right:50px;width:100%}.password-toggle{align-items:center;background:#0000!important;border:none!important;border-radius:var(--radius-sm);box-shadow:none!important;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;max-width:20px;min-width:20px;outline:none!important;padding:4px;pointer-events:auto;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:opacity .2s;width:20px;z-index:10}.password-toggle:active,.password-toggle:focus,.password-toggle:hover:not(:disabled){background:#0000!important;border:none!important;box-shadow:none!important;opacity:1;outline:none!important}.password-toggle:disabled{background:#0000!important;cursor:not-allowed;opacity:.6}.eye-icon{display:block;filter:brightness(0) saturate(100%) invert(24%) sepia(87%) saturate(1810%) hue-rotate(191deg) brightness(97%) contrast(101%);flex-shrink:0;height:18px;opacity:.7;width:18px}.password-toggle:focus .eye-icon,.password-toggle:hover .eye-icon{opacity:1}.login-box button{background:var(--btn-primary);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-sm) var(--spacing-lg);transition:background .3s;width:100%}.login-box button:hover:not(:disabled){background:var(--btn-primary-hover)}.login-box button:disabled{background:var(--btn-primary-disabled);cursor:not-allowed}.change-password-container{align-items:center;background:var(--bg-main);display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:var(--spacing-3xl)}.change-password-box{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);max-width:500px;padding:var(--spacing-4xl);width:100%}.change-password-header{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--spacing-3xl)}.change-password-icon{filter:brightness(0) saturate(100%) invert(24%) sepia(87%) saturate(1810%) hue-rotate(191deg) brightness(97%) contrast(101%);height:48px;margin-bottom:var(--spacing-md);width:48px}.change-password-box h2{color:var(--primary-blue);font-size:var(--font-size-x-large);font-weight:var(--font-weight-bold);margin:0;text-align:center}.form-group input{background:var(--bg-white);border:1px solid var(--border-default);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-small);height:var(--height-input);padding:var(--spacing-xs) var(--spacing-md);width:100%}.form-group input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #005ca31a;outline:none}.change-password-box button{background:var(--btn-primary);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-sm) var(--spacing-lg);transition:background .3s;width:100%}.change-password-box button:hover:not(:disabled){background:var(--btn-primary-hover)}.change-password-box button:disabled{background:var(--btn-primary-disabled);cursor:not-allowed}.success-message{font-size:var(--font-size-small);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.folder-tree,.success-message{border-radius:var(--radius-md)}.folder-tree{background:var(--primary-white);border:1px solid var(--border-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;min-height:400px}.folder-tree-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.folder-tree-header h3{color:var(--primary-blue);font-size:var(--font-size-medium);font-weight:var(--font-weight-bold);margin:0}.folder-add-btn{background:var(--btn-primary);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-x-small);font-weight:var(--font-weight-bold);height:28px;padding:var(--spacing-xs) var(--spacing-md);transition:background .3s}.folder-add-btn:hover{background:var(--btn-primary-hover)}.folder-tree-content{flex:1 1;overflow-y:auto;padding:var(--spacing-sm)}.folder-item{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xs);transition:background .2s;-webkit-user-select:none;user-select:none}.folder-item:hover{background:var(--bg-table-row)}.folder-item.selected{background:var(--primary-blue)}.folder-item.selected,.folder-item.selected .folder-name{color:var(--primary-white)}.folder-toggle{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;padding:0;width:16px}.folder-item.selected .folder-toggle{color:var(--primary-white)}.folder-spacer{width:16px}.folder-icon{flex-shrink:0;font-size:16px}.folder-name{color:var(--text-primary);flex:1 1;font-size:var(--font-size-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-children{margin-left:4px}.folder-empty,.folder-error,.folder-loading{color:var(--text-label);font-size:var(--font-size-small);padding:var(--spacing-lg);text-align:center}.folder-error{color:var(--error)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--primary-white);border-radius:var(--radius-md);box-shadow:var(--shadow-primary);max-height:90vh;max-width:500px;overflow:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{color:var(--primary-blue);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.modal-close:hover{background:var(--bg-table-row)}.modal-body{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-primary);display:block;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.form-group input,.form-group select{border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-small);height:var(--height-input);padding:var(--spacing-sm) var(--spacing-md);width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--primary-blue);outline:none}.form-group input:disabled,.form-group select:disabled{background:var(--bg-card);cursor:not-allowed}.modal-error{background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-small);margin-top:var(--spacing-md);padding:var(--spacing-sm)}.modal-footer{border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.btn-cancel,.btn-submit{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-sm) var(--spacing-xl);transition:background .3s}.btn-cancel{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background:var(--bg-table-row)}.btn-submit{background:var(--btn-primary);color:var(--primary-white)}.btn-submit:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.upload-container{margin:0 auto;max-width:1400px;padding:var(--spacing-4xl) var(--spacing-3xl) var(--spacing-4xl) var(--spacing-3xl)}.upload-header{margin-bottom:var(--spacing-3xl)}.breadcrumb{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.breadcrumb-item{background:none;border:none;border-radius:var(--radius-sm);color:var(--primary-blue);cursor:pointer;font-size:var(--font-size-small);padding:var(--spacing-xs);transition:background .2s}.breadcrumb-item:hover:not(:disabled){background:var(--bg-table-row)}.breadcrumb-item:disabled{color:var(--text-primary);cursor:default;font-weight:var(--font-weight-medium)}.breadcrumb-separator{color:var(--text-label);font-size:var(--font-size-small)}.upload-layout{grid-gap:var(--spacing-xl);align-items:start;display:grid;gap:var(--spacing-xl);grid-template-columns:300px 1fr}.upload-sidebar{position:-webkit-sticky;position:sticky;top:var(--spacing-xl)}.upload-main{gap:var(--spacing-3xl)}.upload-main,.upload-section{display:flex;flex-direction:column}.upload-section{gap:var(--spacing-lg)}.folder-selector{align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000d;display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.folder-selector label,.folder-selector select{color:var(--text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);white-space:nowrap}.folder-selector select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--primary-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%234b4b4b' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-family:var(--font-family);height:var(--height-input);min-width:0;overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);padding-right:calc(var(--spacing-md) + 20px);text-overflow:ellipsis}.folder-selector select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #005ca31a;outline:none}.folder-selector select:disabled{background:var(--bg-card);cursor:not-allowed;opacity:.6}.folder-selector select option{background:var(--primary-white);color:var(--text-primary);font-weight:var(--font-weight-normal);padding:var(--spacing-sm) var(--spacing-md)}.folder-selector select option:checked{background:var(--primary-blue);color:var(--primary-white);font-weight:var(--font-weight-medium)}.my-uploads td:last-child .move-file-btn{background:var(--btn-primary);border:none;border-radius:var(--radius-md);box-sizing:border-box;color:var(--primary-white);cursor:pointer;display:inline-block;font-size:var(--font-size-x-small);font-weight:var(--font-weight-bold);margin:0 auto;max-width:calc(100% - 8px);min-width:60px;padding:var(--spacing-xs) var(--spacing-md);transition:background .3s;white-space:nowrap;width:auto}.my-uploads td:last-child .move-file-btn:hover{background:var(--btn-primary-hover)}.my-uploads td:last-child select{background:var(--primary-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-sizing:border-box;display:block;font-family:var(--font-family);font-size:var(--font-size-x-small);margin:0;max-width:100%;overflow:hidden;padding:var(--spacing-xs) var(--spacing-md);text-overflow:ellipsis;width:100%}.my-uploads td:last-child select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px #005ca31a;outline:none}@media (max-width:1024px){.upload-layout{grid-template-columns:1fr}.upload-sidebar{position:static}}@media (max-width:768px){.my-uploads table{min-width:500px}.my-uploads td:first-child,.my-uploads th:first-child{width:30%}.my-uploads td:nth-child(2),.my-uploads th:nth-child(2){width:13%}.my-uploads td:nth-child(3),.my-uploads th:nth-child(3){width:12%}.my-uploads td:nth-child(4),.my-uploads th:nth-child(4){font-size:var(--font-size-x-small);width:20%}.my-uploads td:last-child,.my-uploads th:last-child{text-align:center;width:15%}.my-uploads td:last-child{min-width:90px}.my-uploads td:last-child select{font-size:var(--font-size-xx-small);padding:var(--spacing-xs);width:100%}.my-uploads td:last-child .move-file-btn{font-size:var(--font-size-xx-small);min-width:50px;padding:var(--spacing-xs) var(--spacing-sm)}}.upload-container h1{color:var(--primary-blue);font-size:var(--font-size-x-large);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3xl)}.upload-dropzone{background:var(--bg-card);border:2px dashed var(--primary-blue);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--spacing-lg);padding:var(--spacing-4xl) var(--spacing-lg);position:relative;text-align:center;transition:all .3s}.upload-dropzone:hover{background:var(--bg-table-row);border-color:var(--primary-green)}.upload-icon-wrapper{align-items:center;display:flex;height:120px;justify-content:center;margin-bottom:var(--spacing-lg);position:relative}.upload-background-icon{height:auto;max-width:200px;opacity:.3;position:absolute;width:100%;z-index:0}.upload-icon{filter:brightness(0) saturate(100%) invert(24%) sepia(87%) saturate(1810%) hue-rotate(191deg) brightness(97%) contrast(101%);height:48px;position:relative;width:48px;z-index:1}.upload-dropzone p{color:var(--text-primary);font-size:var(--font-size-medium);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-xs) 0}.upload-hint{color:var(--text-label)!important;font-size:var(--font-size-small)!important;font-weight:var(--font-weight-normal)!important;margin:0 0 var(--spacing-lg) 0!important}.file-input{display:none}.file-input-label{background:var(--btn-primary);border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;display:inline-block;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-md) var(--spacing-xl);transition:background .3s}.file-input-label:hover{background:var(--btn-primary-hover)}.file-list{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-3xl);padding:var(--spacing-xl)}.file-list h3{color:var(--text-primary);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.file-item{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-lg);padding:var(--spacing-md)}.file-item:last-child{border-bottom:none}.file-item span:first-child{color:var(--text-primary);flex:1 1;font-size:var(--font-size-small)}.file-size{color:var(--text-label);font-size:var(--font-size-small)}.progress-bar{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);height:var(--spacing-lg);overflow:hidden;position:relative;width:200px}.progress-fill{background:var(--primary-blue);height:100%;left:0;position:absolute;top:0;transition:width .3s}.progress-bar span{color:var(--text-primary);font-size:var(--font-size-x-small);font-weight:var(--font-weight-medium);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.remove-btn{background:var(--btn-danger);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-xs) var(--spacing-md);transition:background .3s}.remove-btn:hover{background:var(--btn-danger-hover)}.upload-btn{background:var(--success);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-xl);transition:background .3s}.upload-btn:hover:not(:disabled){background:#148010}.upload-btn:disabled{background:var(--btn-primary-disabled);cursor:not-allowed}.my-uploads{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.my-uploads h2{color:var(--primary-blue);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.my-uploads{-webkit-overflow-scrolling:touch;overflow-x:auto}.my-uploads table{border-collapse:collapse;border-spacing:0;min-width:600px;table-layout:fixed;width:100%}.my-uploads td,.my-uploads th{border-bottom:1px solid var(--border-light);box-sizing:border-box;font-size:var(--font-size-small);padding:var(--spacing-md);text-align:left;vertical-align:middle}.my-uploads th{border-top:1px solid var(--border-light)}.my-uploads tbody tr{display:table-row}.my-uploads tbody td{display:table-cell;vertical-align:middle}.my-uploads tbody tr:last-child td{border-bottom:1px solid var(--border-light)}.my-uploads td:first-child,.my-uploads th:first-child{box-sizing:border-box;width:35%}.my-uploads td:nth-child(2),.my-uploads th:nth-child(2){box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:15%}.my-uploads td:nth-child(3),.my-uploads th:nth-child(3){box-sizing:border-box;white-space:nowrap;width:12%}.my-uploads td:nth-child(4),.my-uploads th:nth-child(4){box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:20%}.my-uploads td:last-child,.my-uploads th:last-child{box-sizing:border-box;text-align:center;white-space:nowrap;width:18%}.my-uploads td:last-child{min-width:100px;overflow:visible;padding:var(--spacing-md);position:relative}.my-uploads th{background:var(--bg-tab);color:var(--text-primary);font-weight:var(--font-weight-bold)}.my-uploads tr:nth-child(2n){background:var(--bg-table-row)}.error-message,.success-message{border-radius:var(--radius-md);font-size:var(--font-size-small);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.success-message{background:var(--success-bg);border:1px solid var(--success);color:var(--success)}.empty-uploads{align-items:center;color:var(--text-label);display:flex;flex-direction:column;padding:var(--spacing-4xl) var(--spacing-xl);text-align:center}.empty-status-icon{height:auto;margin-bottom:var(--spacing-lg);max-width:100%;opacity:.6;width:200px}.empty-uploads p{color:var(--text-label);font-size:var(--font-size-small);margin:var(--spacing-xs) 0}.empty-hint{color:var(--text-label)!important;font-size:var(--font-size-x-small)!important}.admin-users-container{margin:0 auto;max-width:1400px;padding:var(--spacing-4xl) var(--spacing-3xl)}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-3xl)}.admin-header h1{color:var(--primary-blue);font-size:var(--font-size-x-large);margin:0}.admin-header h1,.create-btn{font-weight:var(--font-weight-bold)}.create-btn{align-items:center;background:var(--btn-primary);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;display:flex;font-size:var(--font-size-small);gap:var(--spacing-xs);height:var(--height-button);padding:var(--spacing-sm) var(--spacing-xl);transition:background .3s}.action-buttons .btn-icon{filter:brightness(0) invert(1);flex-shrink:0;height:16px;width:16px}.create-btn:hover{background:var(--btn-primary-hover)}.create-user-form{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-3xl);padding:var(--spacing-3xl)}.create-user-form h3{color:var(--primary-blue);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.create-user-form .form-group{margin-bottom:var(--spacing-lg)}.create-user-form label{color:var(--text-primary);display:block;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.create-user-form input,.create-user-form select{background:var(--bg-white);border:1px solid var(--border-default);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-small);height:var(--height-input);padding:var(--spacing-xs) var(--spacing-md);width:100%}.create-user-form input:focus,.create-user-form select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #005ca31a;outline:none}.create-user-form button{background:var(--btn-primary);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--height-button);padding:var(--spacing-sm) var(--spacing-xl);transition:background .3s}.create-user-form button:hover{background:var(--btn-primary-hover)}.users-list{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.users-list table{border-collapse:collapse;width:100%}.users-list td,.users-list th{border-bottom:1px solid var(--border-light);font-size:var(--font-size-small);padding:var(--spacing-md);text-align:left}.users-list th{background:var(--bg-tab);color:var(--text-primary);font-weight:var(--font-weight-bold)}.users-list tr:nth-child(2n){background:var(--bg-table-row)}.users-list td:last-child{padding:var(--spacing-sm)}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.delete-btn,.reset-btn,.view-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-x-small);font-weight:var(--font-weight-bold);gap:4px;height:var(--height-button);padding:var(--spacing-xs) var(--spacing-sm);transition:all .3s;white-space:nowrap}.view-btn{background:var(--btn-primary);color:var(--primary-white)}.view-btn:hover{background:var(--btn-primary-hover)}.reset-btn{background:var(--primary-green);color:var(--primary-white)}.reset-btn:hover{background:#558085}.delete-btn{background:var(--btn-danger);color:var(--primary-white)}.delete-btn:hover:not(:disabled){background:var(--btn-danger-hover)}.delete-btn:disabled{background:var(--btn-primary-disabled);cursor:not-allowed;opacity:.5}.admin-user-detail-container{margin:0 auto;max-width:1400px;padding:var(--spacing-4xl) var(--spacing-3xl)}.back-btn{align-items:center;background:var(--primary-gray);border:none;border-radius:var(--radius-md);color:var(--primary-white);cursor:pointer;display:flex;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);gap:var(--spacing-xs);height:var(--height-button);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-xl);transition:background .3s}.btn-icon{filter:brightness(0) invert(1);height:18px;width:18px}.back-btn:hover{background:var(--primary-dark-green)}.user-info{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-3xl);padding:var(--spacing-3xl)}.user-info h1{color:var(--primary-blue);font-size:var(--font-size-x-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.user-details{display:flex;flex-wrap:wrap;gap:var(--spacing-3xl)}.user-details p{color:var(--text-label);font-size:var(--font-size-small);margin:0}.user-details strong{color:var(--text-primary);margin-right:var(--spacing-xs)}.role-badge,.user-details strong{font-weight:var(--font-weight-bold)}.role-badge{border-radius:var(--radius-lg);display:inline-block;font-size:var(--font-size-x-small);padding:.3rem .6rem;text-transform:uppercase}.role-badge.admin{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.role-badge.user{background:var(--badge-grey-bg);color:var(--badge-grey-text)}.uploads-section{background:var(--primary-white);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-3xl)}.uploads-section h2{color:var(--primary-blue);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.uploads-table-container{overflow-x:auto}.uploads-section table{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:100%}.uploads-section td,.uploads-section th{border-bottom:1px solid var(--border-light);box-sizing:border-box;font-size:var(--font-size-small);padding:var(--spacing-md);text-align:left;vertical-align:middle}.uploads-section th{background:var(--bg-tab);border-top:1px solid var(--border-light);color:var(--text-primary);font-weight:var(--font-weight-bold)}.uploads-section tr:nth-child(2n){background:var(--bg-table-row)}.uploads-section td:first-child,.uploads-section th:first-child{width:30%}.uploads-section td:nth-child(2),.uploads-section th:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:18%}.uploads-section td:nth-child(3),.uploads-section th:nth-child(3){white-space:nowrap;width:12%}.uploads-section td:nth-child(4),.uploads-section th:nth-child(4){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:20%}.uploads-section td:last-child,.uploads-section th:last-child{text-align:center;width:20%}.uploads-section tbody tr{display:table-row}.uploads-section tbody td{display:table-cell;vertical-align:middle}.uploads-section tbody tr:last-child td{border-bottom:1px solid var(--border-light)}.file-name-cell{align-items:center;display:flex;gap:var(--spacing-sm);max-width:100%;overflow:hidden}.file-name-cell .file-icon{flex-shrink:0}.file-name-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon{display:block;flex-shrink:0;height:20px;width:20px}.uploads-section td:last-child{text-align:center}.download-btn{align-items:center;background:var(--success);border:none;border-radius:var(--radius-md);box-sizing:border-box;color:var(--primary-white);cursor:pointer;display:inline-flex;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);gap:var(--spacing-xs);height:var(--height-button);margin:0 auto;max-width:100%;padding:var(--spacing-xs) var(--spacing-md);transition:background .3s;white-space:nowrap;width:auto}.download-btn:hover:not(:disabled){background:#148010}.download-btn:disabled{background:var(--btn-primary-disabled);cursor:not-allowed}.error-message{background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-small);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}@media (max-width:768px){.uploads-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.uploads-section table{min-width:500px}.uploads-section td:first-child,.uploads-section th:first-child{width:28%}.uploads-section td:nth-child(2),.uploads-section th:nth-child(2){width:16%}.uploads-section td:nth-child(3),.uploads-section th:nth-child(3){width:12%}.uploads-section td:nth-child(4),.uploads-section th:nth-child(4){font-size:var(--font-size-x-small);width:22%}.uploads-section td:last-child,.uploads-section th:last-child{width:22%}.download-btn{font-size:var(--font-size-x-small);padding:var(--spacing-xs) var(--spacing-sm)}}.App{background:var(--bg-main);font-family:var(--font-family);min-height:100vh}