:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#fff}a{color:inherit;text-decoration:none}h1,h2,h3{margin-top:0;color:#000}.layout{display:flex;flex-direction:column;height:100vh;background:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#8b0000;color:#fff;border-bottom:2px solid rgba(0,0,0,.25);padding-left:10px}.topbar-left{display:flex;align-items:center;gap:1rem}.menu-toggle-header{border:none;color:#fff;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;font-size:1rem;transition:background-color .15s ease;display:flex;align-items:center;justify-content:center}.menu-toggle-header:hover{background:#0000004d}.logo-text{font-weight:600;letter-spacing:.08em}.topbar-right{display:flex;align-items:center;gap:.75rem}.user-label{font-size:.9rem}.link-button{background:transparent;border:none;color:#fff;cursor:pointer;text-decoration:underline}.layout-body{display:flex;flex:1;background:#f9fafb}.sidebar{width:220px;padding:1rem;background:linear-gradient(180deg,#8b0000,#5b0000);display:flex;flex-direction:column;gap:.25rem;transition:width .3s ease;position:relative}.sidebar.collapsed{width:60px;padding:1rem .5rem;align-items:center}.sidebar.collapsed>a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.25rem;text-align:center}.sidebar>a{color:#fdfdfd;text-decoration:none;padding:.625rem .75rem;border-radius:.375rem;font-size:.9rem;transition:background-color .15s ease,color .15s ease}.sidebar>a.active,.sidebar>a:hover{background:#00000026;color:#fff}.menu-section{margin-top:.75rem;margin-bottom:.25rem;border-top:1px solid rgba(255,255,255,.15);padding-top:.5rem}.sidebar.collapsed .menu-section{display:none}.menu-section-title-button{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;color:#ffffffe6;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.5rem .75rem;margin-bottom:.25rem;cursor:pointer;border-radius:.375rem;transition:background-color .15s ease}.menu-section-title-button:hover{background:#0000001a}.menu-section-title{flex:1;text-align:left}.menu-toggle-icon{font-size:.6rem;transition:transform .2s ease;opacity:.7}.menu-toggle-icon.open{transform:rotate(180deg)}.menu-section-items{display:flex;flex-direction:column;gap:.125rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.menu-section-items a{color:#fdfdfd;text-decoration:none;padding:.5rem .75rem .5rem 1.75rem;border-radius:.375rem;font-size:.9rem;display:block;position:relative;transition:background-color .15s ease,color .15s ease,padding-left .15s ease}.menu-section-items a:before{content:"▸";position:absolute;left:.75rem;opacity:.6;font-size:.75rem;transition:opacity .15s ease,left .15s ease}.menu-section-items a:hover:before,.menu-section-items a.active:before{opacity:1;left:.7rem}.menu-section-items a.active,.menu-section-items a:hover{background:#00000026;color:#fff;padding-left:1.85rem}.content{flex:1;padding:1.5rem;overflow:auto}.page-center{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top left,#8b0000,#5b0000)}.form-card{max-width:420px;width:100%}.upload-form-horizontal{width:100%}.form-row{display:grid;grid-template-columns:2fr 2fr auto;gap:1rem;align-items:end}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label{display:flex;flex-direction:column;gap:.25rem;text-align:left;margin:0}.form-field label span{font-size:.85rem;color:#111827;font-weight:500}.form-field input[type=text],.form-field input[type=file]{width:100%;height:38px;padding:.5rem .75rem;border-radius:.375rem;border:1px solid #d1d5db;font-size:.9rem;font-family:inherit;box-sizing:border-box;margin:0}.form-field input[type=file]{padding:.4375rem .75rem;cursor:pointer;line-height:1.25}.form-field input:focus{outline:2px solid rgb(139,0,0);border-color:#8b0000}.form-field-button{display:flex;align-items:flex-end;justify-content:flex-start}.form-field-button button{width:100%;height:38px;white-space:nowrap}@media(max-width:768px){.form-row{grid-template-columns:1fr;gap:1rem}.form-button-container{padding-bottom:0}}.card{background:#fff;border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 3px #00000014;margin-bottom:1rem;border:1px solid #e5e7eb}label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;text-align:left}label span{font-size:.85rem;color:#111827}input,select,button{padding:.5rem .75rem;border-radius:.375rem;border:1px solid #d1d5db;font-size:.9rem;font-family:inherit}input:focus,select:focus{outline:2px solid rgb(139,0,0);border-color:#8b0000}button{background:#8b0000;color:#fff;border:none;cursor:pointer;transition:background .15s ease,transform .05s ease}button:hover:not(:disabled){background:#5b0000;transform:translateY(-1px)}button:disabled{background:#bbb;cursor:default}.table-wrapper{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.table{width:100%;min-width:800px;border-collapse:collapse;font-size:.875rem;background-color:#fff;border-radius:.5rem;overflow:hidden}.table th,.table td{border-bottom:1px solid #f3f4f6;padding:.625rem .75rem;text-align:left}.table th{background-color:#8b0000;color:#fff;font-weight:600;font-size:.8125rem}.table tbody tr{background-color:#fff;transition:background-color .1s ease}.table tbody tr:nth-of-type(2n){background-color:#fafafa}.table tbody tr:hover{background-color:#f3f4f6}.table th.progress-column,.table td.progress-column{min-width:180px;width:180px}.actions-cell{display:flex;gap:.35rem;align-items:center}.icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;border:none;background:#8b0000;cursor:pointer;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;font-size:.8125rem;color:#fff}.icon-button:hover:not(:disabled){background:#5b0000;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.icon-button:disabled{opacity:.45;cursor:not-allowed;background:#bbb}.icon-button.danger{background:#a00000}.toolbar{margin-bottom:1rem}.alert{padding:.5rem .75rem;border-radius:.375rem;font-size:.85rem;margin-bottom:.75rem;border:1px solid transparent}.alert-error{background:#fef2f2;color:#7f1d1d;border-color:#fecaca}.alert-success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.modal-overlay,.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;padding:0;border-radius:.75rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease;overflow:hidden}.modal{background:#fff;padding:1.5rem;border-radius:.75rem;max-width:480px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease}@keyframes blinkBorder{0%,to{border-color:#8b0000;box-shadow:0 0 #8b000066}50%{border-color:#c00;box-shadow:0 0 0 3px #8b000033}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding:0 1.5rem 1.5rem}.modal-content h2,.modal h2{margin:0 0 1rem;font-size:1.25rem;color:#111827}.modal-content p,.modal p{margin:0;color:#374151;line-height:1.6}.error-modal{max-width:480px}.error-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.error-modal-title-section{display:flex;align-items:center;gap:.75rem}.error-modal-title-section h2{margin:0;font-size:1.25rem;color:#7f1d1d}.error-icon{color:#dc2626;font-size:1.5rem}.modal-close-button{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .15s ease,color .15s ease;width:28px;height:28px}.modal-close-button:hover{background:#f3f4f6;color:#374151}.error-modal-body{padding:1.5rem}.error-modal-body p{color:#374151;line-height:1.6;margin:0}.modal-actions button.primary{background:#8b0000;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:.375rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.modal-actions button.primary:hover{background:#8b0000}.modal-actions button:not(.primary){background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.5rem 1.25rem;border-radius:.375rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.modal-actions button:not(.primary):not(.danger):hover{background:#e5e7eb}.modal-actions button.danger{background:#dc2626;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:.375rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.modal-actions button.danger:hover{background:#b91c1c}.filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem}.hint{font-size:.8rem;color:#6b7280}
