.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000001a;padding:40px;width:100%;max-width:400px}.logo{color:var(--primary-color);font-size:1.8rem;text-align:center;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input{width:100%;padding:12px;font-size:1rem}.form-group input::placeholder{color:#999}form .btn-primary{width:100%;margin-top:10px}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:4px;margin-bottom:16px;border:1px solid #f5c6cb}.login-info{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #eee;font-size:.9rem;color:#666}.login-info p{margin:5px 0}.file-management{flex:1;padding:20px}.management-container{max-width:1200px;margin:0 auto}.upload-section{background:#fff;padding:30px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 8px #0000000d}.upload-section h2{font-size:1.3rem;margin-bottom:20px;color:var(--text-color)}.duplicate-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:13px 15px;border:1px solid #e6e6e6;border-radius:7px;background:#fafafa}.duplicate-setting label{color:#444;font-size:.9rem;font-weight:650}.duplicate-setting select{min-width:210px;padding:9px 11px;border:1px solid var(--border-color);border-radius:4px;background:#fff}.upload-area{position:relative}.upload-area.is-dragging .upload-label{border-color:var(--primary-color);background:#e509140f}.upload-label{display:block;border:2px dashed var(--border-color);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-label:hover{border-color:var(--primary-color);background:#f5f5f5}.upload-label input{display:none}.upload-content{display:flex;flex-direction:column;align-items:center;gap:10px}.upload-icon{font-size:2.5rem}.upload-content p{font-size:1rem;font-weight:500;color:#333;margin:0}.upload-content small{font-size:.85rem;color:#999}.uploading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:15px 30px;border-radius:4px;font-weight:600}.file-list-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000000d}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.list-header h2{font-size:1.3rem;color:var(--text-color);margin:0}.list-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #e509141a}.file-table{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.file-header{display:grid;grid-template-columns:50px 1fr 150px 100px;gap:15px;background:#f9f9f9;padding:15px;font-weight:600;border-bottom:2px solid var(--border-color)}.file-row{display:grid;grid-template-columns:50px 1fr 150px 100px;gap:15px;padding:15px;border-bottom:1px solid var(--border-color);align-items:center;transition:background .3s}.file-row:hover{background:#f9f9f9}.file-row:last-child{border-bottom:none}.col-checkbox{display:flex;align-items:center;justify-content:center}.col-checkbox input{width:18px;height:18px;cursor:pointer}.col-filename{display:flex;align-items:center;gap:10px;word-break:break-word}.file-icon{font-size:1.2rem;flex-shrink:0}.col-date,.col-size{text-align:center;color:#666;font-size:.9rem}@media (max-width: 768px){.file-management{padding:15px}.upload-section,.file-list-section{padding:20px}.file-header,.file-row{grid-template-columns:40px 1fr}.col-date,.col-size{display:none}.list-actions{width:100%}.search-input{min-width:auto}.duplicate-setting{align-items:stretch;flex-direction:column}.duplicate-setting select{width:100%}}.extension-install{flex:1;padding:32px 20px 48px}.install-container{max-width:920px;margin:0 auto}.install-hero{display:flex;align-items:center;gap:22px;margin-bottom:24px}.extension-mark{display:grid;width:72px;height:72px;flex:0 0 72px;place-items:center;border-radius:18px;background:var(--primary-color);color:#fff;font-size:1.35rem;font-weight:800;box-shadow:0 10px 24px #e5091438}.install-eyebrow{display:block;margin-bottom:5px;color:var(--primary-color);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.install-hero h2{margin-bottom:8px;font-size:clamp(1.65rem,4vw,2.25rem)}.install-hero p,.install-summary p,.install-notice,.install-steps p{color:#68707d;line-height:1.6}.install-card,.install-steps{padding:28px;border:1px solid #e6e8ec;border-radius:12px;background:#fff;box-shadow:0 4px 16px #1418200d}.install-card{margin-bottom:20px}.install-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.install-summary h3,.install-steps h3{margin-bottom:5px}.status-badge{padding:7px 11px;border-radius:999px;background:#e8f7ed;color:#17743a;font-size:.82rem;font-weight:700}.install-primary-button{display:block;width:100%;padding:14px 20px;border-radius:7px;background:var(--primary-color);color:#fff;font-weight:750;text-align:center;text-decoration:none}.install-primary-button:hover{background:#b20710}.install-notice{margin-top:14px;font-size:.9rem;text-align:center}.install-steps h3{margin-bottom:20px}.install-steps ol{display:grid;gap:18px;list-style:none}.install-steps li{display:flex;gap:15px}.install-steps li>span{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:50%;background:#fce8e9;color:var(--primary-color);font-weight:800}.install-steps strong{display:block;margin:3px 0}.install-steps code{padding:2px 5px;border-radius:4px;background:#f0f1f3;color:#30343b}.copy-link-button{margin-left:8px;padding:3px 7px;background:transparent;color:var(--primary-color);font-weight:700}.download-confirmation{margin-top:16px;padding:13px 16px;border:1px solid #b8dfc5;border-radius:7px;background:#e8f7ed;color:#155f32}@media (max-width: 600px){.extension-install{padding:22px 15px 36px}.install-hero{align-items:flex-start}.extension-mark{width:56px;height:56px;flex-basis:56px;border-radius:14px}.install-card,.install-steps{padding:20px}.install-summary{align-items:flex-start;flex-direction:column}}.user-management{flex:1;padding:20px}.user-container{max-width:1200px;margin:0 auto}.create-user-card,.user-list-card{padding:30px;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0000000d}.create-user-card{margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2{margin-bottom:5px;font-size:1.3rem}.section-heading p{color:#777;font-size:.9rem}.create-user-form{display:grid;grid-template-columns:1fr 1fr 180px auto;align-items:end;gap:16px}.create-user-form label{display:grid;gap:7px;color:#444;font-size:.9rem;font-weight:650}.create-user-form input,.create-user-form select{min-height:42px}.create-user-button{min-height:42px;white-space:nowrap}.user-table{overflow:hidden;border:1px solid var(--border-color);border-radius:7px}.user-table-header,.user-table-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px 130px 140px;align-items:center;gap:16px;padding:14px 16px}.user-table-header{background:#f7f7f8;color:#555;font-size:.85rem;font-weight:750}.user-table-row{border-top:1px solid var(--border-color)}.user-table-row>div{display:grid;gap:3px}.user-table-row small{color:#888}.role-badge{width:fit-content;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:750;text-transform:capitalize}.role-admin{background:#fde8e9;color:#b20710}.role-user{background:#e8eefb;color:#315baf}.user-active{color:#198642;font-weight:700}.user-inactive{color:#8b8b8b}.deactivate-button{padding:8px 10px;background:#f7e4e5;color:#a61d25;font-weight:700}.deactivate-button:hover:not(:disabled){background:#efd0d2}.deactivate-button:disabled{cursor:not-allowed;opacity:.45}@media (max-width: 900px){.create-user-form{grid-template-columns:1fr 1fr}.user-table-header{display:none}.user-table-row{grid-template-columns:1fr auto}}@media (max-width: 560px){.user-management{padding:15px}.create-user-card,.user-list-card{padding:20px}.create-user-form,.user-table-row{grid-template-columns:1fr}}.header{background:linear-gradient(135deg,var(--primary-color) 0%,#b20710 100%);color:#fff;padding:16px 20px;box-shadow:0 2px 8px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:1.5rem;margin:0}.header-brand{display:flex;align-items:center;gap:28px}.header-nav{display:flex;gap:6px}.nav-button{padding:9px 12px;background:transparent;color:#ffffffc7;font-weight:600}.nav-button:hover,.nav-button.active{background:#ffffff29;color:#fff}.header-actions{display:flex;align-items:center;gap:20px}.user-info{font-size:.95rem;opacity:.9}.btn-logout{padding:8px 16px;font-weight:600}@media (max-width: 820px){.header-content,.header-brand{align-items:flex-start;flex-direction:column}.header-content{gap:14px}.header-brand{gap:12px}.header-actions{width:100%;justify-content:space-between}}.dashboard{display:flex;flex-direction:column;min-height:100vh;background:var(--light-bg)}.dashboard-content{display:flex;flex:1}.app{min-height:100vh;display:flex;flex-direction:column}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:#666}.public-install-page{background:var(--light-bg)}.public-header{display:flex;align-items:center;justify-content:space-between;padding:16px max(20px,calc((100% - 920px)/2));background:#221f1f;color:#ffffffb8}.public-header a{color:#fff;font-size:1.05rem;font-weight:800;text-decoration:none}:root{--primary-color: #e50914;--secondary-color: #221f1f;--text-color: #333;--light-bg: #f5f5f5;--border-color: #ddd;--error-color: #dc3545;--success-color: #28a745}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--light-bg);color:var(--text-color)}button{font-family:inherit;cursor:pointer;border:none;border-radius:4px;transition:all .3s}input,textarea{font-family:inherit;border-radius:4px;border:1px solid var(--border-color);padding:8px 12px}input:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #e509141a}.btn-primary{background:var(--primary-color);color:#fff;padding:10px 20px;font-weight:600}.btn-primary:hover:not(:disabled){background:#b20710}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#666;color:#fff;padding:8px 16px}.btn-secondary:hover{background:#555}.btn-logout{background:#fff3;color:#fff;padding:8px 12px;border:1px solid white}.btn-logout:hover{background:#ffffff4d}.btn-delete-bulk{background:var(--error-color);color:#fff;padding:8px 16px}.btn-delete-bulk:hover:not(:disabled){background:#c82333}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-weight:500}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.loading{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#666;font-size:1rem}.empty-state{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.empty-state p{font-size:1rem}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input{cursor:pointer;width:18px;height:18px}
