*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f0f2f5;color:#1e293b}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1e3a5f,#2d5a87,#3b7dab)}.login-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;padding:40px 36px;border-radius:16px;box-shadow:0 20px 60px #00000040;width:340px;max-width:calc(100vw - 32px)}.login-icon{font-size:56px;margin-bottom:4px}.login-card h2{font-size:22px;color:#1e293b}.login-subtitle{font-size:14px;color:#64748b;margin-bottom:4px}.login-card input{padding:10px 14px;width:100%;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.login-card input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.login-card button{padding:10px 0;width:100%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s}.login-card button:disabled{opacity:.7;cursor:wait}.login-card button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.error{color:#dc2626;font-size:13px}.loading-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f0f2f5;color:#64748b;font-size:15px;font-weight:500}.spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#app{max-width:1300px;margin:0 auto;padding:24px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);padding:16px 24px;border-radius:12px;color:#fff}.toolbar-brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:28px}.toolbar h2{font-size:20px;font-weight:700;color:#fff}.toolbar button{padding:8px 16px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;margin-left:6px;transition:background .2s}.toolbar button:hover{background:#ffffff40}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar button:disabled:hover{background:#ffffff26}.toolbar button:first-child{background:#22c55e;border-color:#22c55e}.toolbar button:first-child:hover{background:#16a34a}.stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.stat-card{flex:1;min-width:120px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 8px #00000014;text-align:center}.stat-value{font-size:28px;font-weight:800;color:#1e3a5f}.stat-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filters select{padding:7px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 8px #00000014}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;font-size:13px;vertical-align:middle}th{background:#f8fafc;font-weight:700;white-space:nowrap;color:#475569;text-transform:uppercase;font-size:11px;letter-spacing:.5px}th.sortable{cursor:pointer;user-select:none;transition:background .15s}th.sortable:hover{background:#e2e8f0}.col-center,.col-center+.filter-row th{text-align:center}.col-right,.col-right+.filter-row th{text-align:right}tbody tr:hover td{background:#f0f7ff}tbody tr:last-child td{border-bottom:none}td button{background:none;border:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:4px;transition:background .15s}td button:hover{background:#e2e8f0}.actions-cell{white-space:nowrap;vertical-align:middle;text-align:right}.actions-mobile{display:none}.actions-desktop{display:inline}.actions-desktop>*{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:32px;height:32px;font-size:15px}.tooltip{position:relative}.tooltip:after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}.tooltip:before{content:"";position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b;opacity:0;pointer-events:none;transition:opacity .2s}.tooltip:hover:after,.tooltip:hover:before{opacity:1}.filter-row th{padding:4px 6px;background:#f1f5f9}.filter-row input{width:100%;padding:5px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;transition:border-color .2s}.filter-row input:focus{outline:none;border-color:#2563eb}.pagination{display:flex;gap:4px;margin-top:16px;justify-content:center}.pagination button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.pagination button:hover{background:#f0f7ff;border-color:#2563eb}.pagination button.active{background:#2563eb;color:#fff;border-color:#2563eb}dialog{border:none;border-radius:16px;padding:24px;max-width:680px;width:92vw;box-shadow:0 20px 60px #0003;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#0f172a80}dialog h3{margin-bottom:12px;font-size:18px;color:#1e293b}dialog form{display:flex;flex-direction:column;gap:8px}dialog label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#475569}dialog input,dialog select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}dialog input:focus,dialog select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input{width:auto}fieldset{border:1px solid #e2e8f0;border-radius:8px;padding:10px}legend{font-weight:700;font-size:13px;color:#475569}.form-row{display:flex;gap:10px;align-items:flex-end}.form-row>label{flex:1}.form-row .checkbox-label{flex:0 0 auto;padding-bottom:8px}.add-weapon-btn{width:100%;padding:8px;margin-top:4px;background:none;border:2px dashed #cbd5e1;border-radius:8px;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.add-weapon-btn:hover{border-color:#2563eb;background:#eff6ff}.weapon-row{display:flex;gap:6px;margin-bottom:8px;align-items:center;flex-wrap:wrap}.weapon-row input,.weapon-row select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:100px;font-size:13px}.weapon-row button{flex:0;background:none;border:none;cursor:pointer;font-size:16px;color:#dc2626}.dialog-buttons{display:flex;gap:8px;margin-top:6px}.dialog-buttons button{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .15s}.dialog-buttons button[type=submit]{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.dialog-buttons button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.dialog-buttons button[type=button]{background:#e5e7eb;color:#475569}.dialog-buttons button[type=button]:hover{background:#d1d5db}#confirm-dialog{border:none;border-radius:16px;padding:28px;max-width:380px;width:85vw;box-shadow:0 20px 60px #0003;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;text-align:center}#confirm-dialog::backdrop{background:#0f172a80}#confirm-dialog p{font-size:16px;margin-bottom:20px;color:#1e293b}#export-dialog{max-width:400px}#pdf-dialog{max-width:440px}#pdf-dialog label{margin-bottom:2px}#export-dialog h3{margin-bottom:14px}.export-columns{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:16px}.export-col-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background .15s}.export-col-label:hover{background:#f0f7ff}.export-col-label input{width:auto;margin:0}#confirm-dialog .dialog-buttons{justify-content:center}#confirm-yes{background:#dc2626!important;color:#fff!important}#confirm-yes:hover{background:#b91c1c!important}#toast-dialog{border:none;border-radius:10px;padding:14px 28px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);top:auto;margin:0;background:#1e293b;color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 24px #0003;animation:toastIn .3s ease}#toast-dialog::backdrop{background:transparent}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}#images-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.img-thumb{width:80px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid #e2e8f0;transition:border-color .2s}.img-thumb:hover{border-color:#2563eb}.image-buttons{display:flex;gap:8px}.add-image-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:8px;margin-top:4px;background:none;border:2px dashed #cbd5e1;border-radius:8px;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.add-image-btn:hover{border-color:#2563eb;background:#eff6ff}.img-count{cursor:pointer;font-size:13px}#lightbox{border:none;border-radius:12px;padding:0;background:#000;max-width:90vw;max-height:90vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;overflow:hidden}#lightbox::backdrop{background:#000c}#lightbox-img{max-width:85vw;max-height:85vh;display:block}.lightbox-close{position:absolute;top:10px;right:10px;background:#0009;color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;transition:background .2s}.lightbox-close:hover{background:#000c}.site-footer{text-align:center;padding:24px;color:#94a3b8;font-size:12px}.mobile-tabs,#tab-add,#tab-stats{display:none}@media(max-width:768px){.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #e2e8f0;padding:0}.mobile-tab{flex:1;padding:12px 0;border:none;background:none;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:color .2s}.mobile-tab.active{color:#2563eb;border-top:2px solid #2563eb}#app{padding:8px 8px 64px;max-width:100%;overflow-x:hidden}.stats,.filters,.pagination{display:none}.toolbar{padding:10px 12px;margin-bottom:0;border-radius:8px}.toolbar h2{font-size:16px}.brand-icon{font-size:20px}.tab-page{display:none!important}.tab-page.active{display:block!important}#tab-list.active{display:flex!important;flex-direction:column;height:calc(100vh - 80px)}.table-wrap{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}.toolbar>div:not(.toolbar-brand){display:none}.site-footer{display:none}.mobile-form-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 8px #00000014}.mobile-form-card h3{margin-bottom:10px;font-size:17px;color:#1e293b}.mobile-form-card form{display:flex;flex-direction:column;gap:10px}.mobile-form-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#475569}.mobile-form-card input,.mobile-form-card select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;width:100%;box-sizing:border-box}.mobile-form-card input:focus,.mobile-form-card select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.mobile-form-card .form-row{flex-direction:column;gap:10px!important;align-items:stretch!important}.mobile-form-card .form-row>label{flex:none;width:100%}.mobile-form-card .checkbox-label{flex-direction:row!important;align-items:center}.mobile-form-card .checkbox-label input{width:auto}.mobile-form-card .weapon-row{flex-direction:column;gap:8px;align-items:stretch}.mobile-form-card .weapon-row input,.mobile-form-card .weapon-row select{min-width:0;width:100%;flex:none}.mobile-form-card .weapon-row button{align-self:flex-end;font-size:18px;padding:4px 8px}.mobile-form-card fieldset{margin-top:4px;padding:12px}.mobile-form-card .dialog-buttons{margin-top:8px}.mobile-form-card .dialog-buttons button{width:100%;padding:14px;font-size:16px}.mobile-form-card .image-buttons{flex-direction:column}.mobile-form-card .add-image-btn,.mobile-form-card .add-weapon-btn{padding:12px;font-size:14px}.mobile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0}.mstat{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 8px #00000014;text-align:center;display:flex;flex-direction:column;gap:4px}.mstat-v{font-size:28px;font-weight:800;color:#1e3a5f}.mstat-l{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.mh{display:none!important}.login-container{padding:16px}.login-card{width:100%;padding:32px 24px;border-radius:12px}.login-icon{font-size:48px}.login-card h2{font-size:20px}.login-card input{padding:12px 14px;font-size:16px}.login-card button{padding:14px 0;font-size:16px}.filter-row.mh,.actions-desktop{display:none!important}.actions-mobile{display:block!important;position:relative}.actions-toggle{background:none;border:1px solid #d1d5db;border-radius:6px;font-size:18px;padding:2px 8px;cursor:pointer;line-height:1}.actions-menu{display:none;position:absolute;right:0;top:100%;z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:140px}.actions-menu.open{display:flex;flex-direction:column}.actions-menu button{padding:10px 14px;border:none;background:none;text-align:left;font-size:14px;cursor:pointer;white-space:nowrap}.actions-menu button:hover{background:#f0f7ff}table{font-size:12px}th,td{padding:6px 4px}}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;transition:background .2s}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-prev:hover,.lightbox-next:hover{background:#000c}.lightbox-counter{position:absolute;bottom:10px;left:50%;transform:translate(-50%);color:#fff;font-size:13px;background:#00000080;padding:4px 12px;border-radius:12px}#camera-dialog{border:none;border-radius:12px;padding:0;background:#000;max-width:90vw;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;overflow:hidden}#camera-dialog::backdrop{background:#000c}#camera-video{display:block;max-width:80vw;max-height:70vh}.camera-controls{display:flex;justify-content:center;gap:16px;padding:12px;background:#111}.camera-shutter{width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:#ffffff26;font-size:24px;cursor:pointer;transition:background .2s}.camera-shutter:hover{background:#ffffff4d}.camera-controls button:last-child{padding:8px 20px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer}
