*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--bg-card: #fff;--bg-input: #fff;--text: #1e293b;--text-muted: #64748b;--border: #d1d5db;--border-light: #e2e8f0;--shadow: rgba(0, 0, 0, .06);--shadow-lg: rgba(0, 0, 0, .1);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-shadow: rgba(37, 99, 235, .15);--danger: #dc2626;--success: #22c55e;--table-stripe: #f8fafc;--table-hover: #eff6ff;--highlight: #fde68a}[data-theme=dark]{--bg: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--text: #e2e8f0;--text-muted: #94a3b8;--border: #475569;--border-light: #334155;--shadow: rgba(0, 0, 0, .3);--shadow-lg: rgba(0, 0, 0, .5);--accent: #3b82f6;--accent-hover: #2563eb;--accent-shadow: rgba(59, 130, 246, .25);--danger: #ef4444;--success: #34d399;--table-stripe: #1e293b;--table-hover: #1e3a5f;--highlight: #854d0e}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button svg,.toolbar-nav-btn svg,.mobile-tab svg,.brand-icon svg{vertical-align:middle;flex-shrink:0}button svg+span,button svg~span{vertical-align:middle}.toolbar-nav-btn,.mobile-overflow-menu button,.overflow-menu button,.lightbox-actions button,.add-image-btn{display:inline-flex;align-items:center;gap:6px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a5f 40%,#2d5a87,#3b7dab);background-size:400% 400%;animation:gradientShift 12s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fffffff2;backdrop-filter:blur(20px);padding:40px 36px;border-radius:20px;box-shadow:0 25px 60px #0000004d,0 0 0 1px #ffffff1a;width:340px;max-width:calc(100vw - 32px);animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}.login-icon{margin-bottom:4px;color:var(--accent)}.login-icon svg{width:56px;height:56px}.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:11px 0;width:100%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.login-card button:disabled{opacity:.7;cursor:wait}.login-card button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2563eb66}.login-card button:active:not(:disabled){transform:translateY(0) scale(.98)}.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:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .7s cubic-bezier(.5,.1,.5,.9) infinite}@keyframes spin{to{transform:rotate(360deg)}}#app{max-width:1800px;margin:0 auto;padding:24px}.toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;background:linear-gradient(135deg,#0f172a,#1e3a5f 50%,#2d5a87);padding:16px 24px;border-radius:14px;color:#fff;box-shadow:0 4px 20px #0f172a4d,inset 0 1px #ffffff14;position:relative;z-index:100;overflow-x:clip}.toolbar-top{display:flex;align-items:center;justify-content:center;position:relative}.toolbar-top .toolbar-brand{position:absolute;left:0}.toolbar-bottom{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.toolbar:before{content:"";position:absolute;top:0;left:-50%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);animation:shimmer 8s ease infinite}.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:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;margin-left:6px;transition:all .2s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(4px)}.toolbar button:hover{background:#ffffff38;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.toolbar button:active{transform:translateY(0) scale(.96)}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar button:disabled:hover{background:#ffffff26}.toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.toolbar-nav{display:none;align-items:center;gap:2px;padding:3px;background:#ffffff1a;border-radius:8px}@media(min-width:769px){.toolbar-nav{display:flex}}.toolbar-nav-btn{padding:6px 12px!important;font-size:13px!important;border-radius:6px!important;background:transparent!important;border:none!important;margin:0!important;opacity:.8;transition:all .2s}.toolbar-nav-btn:hover{background:#ffffff26!important;opacity:1}.toolbar-nav-btn.active{background:#fff3!important;opacity:1;font-weight:600}.toolbar-actions>button:first-child{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:transparent}.toolbar-actions>button:first-child:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #16a34a4d}.toolbar-overflow{position:relative}.overflow-toggle{font-size:18px!important;padding:8px 12px!important}.overflow-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:9999;background:var(--bg-card);border-radius:10px;box-shadow:0 8px 30px var(--shadow-lg),0 0 0 1px var(--border-light);min-width:180px;overflow:hidden;animation:fadeInUp .2s cubic-bezier(.16,1,.3,1)}.toolbar-overflow.open .overflow-menu{display:flex;flex-direction:column}.overflow-menu button{padding:10px 16px!important;background:none!important;color:var(--text)!important;border:none!important;border-radius:0!important;margin:0!important;text-align:left;font-size:14px!important;white-space:nowrap}.overflow-menu button:hover{background:var(--table-hover)!important}.stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.stat-card{flex:1;min-width:120px;background:var(--bg-card);border-radius:14px;padding:18px 20px;text-align:center;box-shadow:0 1px 3px var(--shadow),0 4px 12px var(--shadow);animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;border:1px solid var(--border-light)}.stat-card:nth-child(1){border-top:3px solid #2563eb}.stat-card:nth-child(2){animation-delay:.1s;border-top:3px solid #16a34a}.stat-card:nth-child(3){animation-delay:.2s;border-top:3px solid #d97706}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.stat-value{font-size:30px;font-weight:800;color:#1e3a5f;letter-spacing:-.5px}.stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.stat-detail{font-size:11px;color:var(--text-muted);margin-top:6px;line-height:1.4}.stat-type-row{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px solid var(--border-light)}.stat-type-row:last-child{border-bottom:none}.filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.filters select,.filters .search-input{padding:7px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-input);color:var(--text)}.filters .search-input{flex:1;min-width:180px}.clear-filters-btn{padding:7px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-input);cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s}.clear-filters-btn:hover{background:var(--table-hover);color:var(--accent)}.mobile-filter{display:none}.select-all-banner{text-align:center;padding:8px;background:var(--table-hover);border-radius:8px;font-size:13px;color:var(--text);margin-top:8px}.select-all-banner a{color:var(--accent);font-weight:600}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border-radius:14px;overflow:visible;box-shadow:0 1px 3px var(--shadow),0 4px 16px var(--shadow);animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) .1s both;border:1px solid var(--border-light)}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light);font-size:13px;vertical-align:middle}th{background:var(--table-stripe);font-weight:700;white-space:nowrap;color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.5px}th.sortable{cursor:pointer;user-select:none;transition:background .15s}th.sortable:hover{background:var(--border-light)}.col-center,.col-center+.filter-row th{text-align:center}.col-right,.col-right+.filter-row th{text-align:right}tbody tr{transition:background .2s,transform .2s}tbody tr:hover td{background:var(--table-hover)}tbody tr.row-selected td{background:var(--table-hover);border-color:var(--border-light)}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:var(--border-light)}.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:36px;height:36px;font-size:15px;color:var(--text-muted);border-radius:8px;transition:color .15s,background .15s}.actions-desktop>*:hover{color:var(--text);background:var(--border-light)}.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;z-index:10}.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:8px;cursor:pointer;font-size:13px;transition:all .2s cubic-bezier(.16,1,.3,1)}.pagination button:hover{background:#f0f7ff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 3px 8px #2563eb26}.pagination button.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}dialog{border:none;border-radius:18px;padding:24px;max-width:680px;width:92vw;background:var(--bg-card);color:var(--text);box-shadow:0 25px 80px var(--shadow-lg),0 0 0 1px var(--border-light);margin:auto;max-height:90vh;overflow-y:auto;animation:dialogIn .25s cubic-bezier(.16,1,.3,1)}@keyframes dialogIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}dialog::backdrop{background:#0f172a99;backdrop-filter:blur(4px)}dialog h3{margin-bottom:12px;font-size:18px;color:var(--text)}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:var(--text-muted)}dialog input,dialog select,dialog textarea{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s;font-family:inherit;line-height:1.5;background:var(--bg-input);color:var(--text)}dialog input:focus,dialog select:focus,dialog textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}dialog textarea{resize:vertical}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.checkbox-label input{width:auto}fieldset{border:1px solid var(--border);border-radius:8px;padding:10px}legend{font-weight:700;font-size:13px;color:var(--text-muted)}.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 var(--border);border-radius:8px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.add-weapon-btn:hover{border-color:var(--accent);background:var(--table-hover);transform:translateY(-1px)}.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 var(--border);border-radius:6px;flex:1;min-width:100px;font-size:13px;background:var(--bg-input);color:var(--text)}.weapon-row button{flex:0;background:none;border:none;cursor:pointer;font-size:16px;color:var(--danger)}.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(-2px);box-shadow:0 6px 16px #2563eb59}.dialog-buttons button[type=submit]:active{transform:translateY(0) scale(.97)}.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;margin:auto;text-align:center;z-index:1000}#confirm-dialog::backdrop{background:#0f172a99;backdrop-filter:blur(4px)}#confirm-dialog p{font-size:16px;margin-bottom:20px;color:var(--text)}#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:12px;padding:14px 28px;position:fixed;bottom:80px;left:50%;transform:translate(-50%);top:auto;margin:0;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;font-size:14px;font-weight:500;box-shadow:0 10px 30px #00000040,0 0 0 1px #ffffff0d;animation:toastIn .4s cubic-bezier(.16,1,.3,1)}@media(min-width:769px){#toast-dialog{bottom:24px}}#toast-dialog::backdrop{background:transparent;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}#images-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.img-thumb{width:80px;height:80px;min-width:80px;min-height:80px;object-fit:cover;border-radius:10px;cursor:pointer;border:2px solid #e2e8f0;transition:border-color .2s,transform .2s,box-shadow .2s}.img-thumb:hover{border-color:#2563eb;transform:scale(1.05);box-shadow:0 4px 12px #2563eb33}.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 var(--border);border-radius:8px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.add-image-btn:hover{border-color:var(--accent);background:var(--table-hover);transform:translateY(-1px)}.img-count{cursor:pointer;font-size:13px}#lightbox{border:none;border-radius:12px;padding:50px 0 0;background:#000;width:90vw;max-width:90vw;max-height:90vh;margin:auto;position:relative;overflow-x:hidden;overflow-y:auto}#lightbox[open]{display:flex;flex-direction:column;align-items:center}#lightbox::backdrop{background:#000c}#lb-img-wrap{position:relative;display:block;width:fit-content;line-height:0;font-size:0;flex-shrink:0;transition:transform .1s ease-out;will-change:transform}#lightbox-img{display:block;max-width:88vw;max-height:82vh;user-select:none;-webkit-user-drag:none}.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;z-index:20}.lightbox-close:hover{background:#000c}.site-footer{text-align:center;padding:24px;color:#94a3b8;font-size:12px}.mobile-tabs,.mobile-tab-label{display:none}.toolbar-logout-btn{padding:8px 10px!important;margin-left:4px!important;opacity:.7;transition:opacity .2s,background .2s!important}.toolbar-logout-btn:hover{opacity:1}@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:4px 0 2px}[data-theme=dark] .mobile-tabs{background:var(--bg-card);border-top-color:var(--border)}.mobile-tab{flex:1;padding:6px 0 4px;border:none;background:none;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:color .2s,transform .15s}.mobile-tab-label{display:block;font-size:10px;font-weight:500;line-height:1}.mobile-tab:active{transform:scale(.9)}.mobile-tab.active{color:#2563eb;border-top:2px solid #2563eb}[data-theme=dark] .mobile-tab{color:var(--text-muted)}[data-theme=dark] .mobile-tab.active{color:var(--accent);border-top-color:var(--accent)}#app{padding:8px 8px 64px;max-width:100%;overflow-x:hidden}.stats{display:none}#tab-stats.active .stats{display:block}.filters{display:flex;margin-bottom:8px}.filters select,.filters .search-input{display:none}.mobile-filter{display:block;flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text)}.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:var(--bg-card);border-radius:12px;padding:16px;box-shadow:0 1px 8px #00000014}.mobile-form-card h3{margin-bottom:10px;font-size:17px;color:var(--text)}.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:var(--text-muted)}.mobile-form-card input,.mobile-form-card select,.mobile-form-card textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:16px;width:100%;box-sizing:border-box;font-family:inherit;background:var(--bg-input);color:var(--text)}.mobile-form-card input:focus,.mobile-form-card select:focus,.mobile-form-card textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.mobile-form-card textarea{resize:vertical}.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}[data-theme=dark] .mobile-form-card{background:#1e293b;box-shadow:0 1px 8px #0000004d}[data-theme=dark] .mobile-form-card h3{color:#e2e8f0}[data-theme=dark] .mobile-form-card label{color:#94a3b8}[data-theme=dark] .mobile-form-card input,[data-theme=dark] .mobile-form-card select,[data-theme=dark] .mobile-form-card textarea{background:#334155;color:#e2e8f0;border-color:#475569}[data-theme=dark] .mobile-form-card fieldset{border-color:#475569}[data-theme=dark] .mobile-form-card legend{color:#94a3b8}[data-theme=dark] .mobile-form-card .dialog-buttons button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}[data-theme=dark] .mobile-form-card .checkbox-label{color:#e2e8f0}[data-theme=dark] .mobile-form-card .add-weapon-btn,[data-theme=dark] .mobile-form-card .add-image-btn{color:#3b82f6;border-color:#475569}.mobile-stats{display:grid;grid-template-columns:1fr;gap:10px;padding:8px 0}.mobile-stats .stat-card{min-width:0}.mh{display:none!important}.login-container{padding:16px}.login-card{width:100%;padding:32px 24px;border-radius:12px}.login-icon svg{width:48px;height: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}.lightbox-actions{position:absolute;top:10px;left:10px;z-index:10;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 60px)}.lightbox-actions button{background:#0009;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.lightbox-actions button:hover{background:#000c}.lightbox-actions button:disabled{opacity:.6;cursor:wait}.lightbox-analysis{position:relative;background:#000000bf;color:#fff;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;white-space:normal;word-break:break-word;z-index:5;margin:8px auto;text-align:center;max-width:90%}.analysis-error{color:#fca5a5}.analysis-result{color:#86efac}#camera-dialog{border:none;border-radius:12px;padding:0;background:#000;max-width:90vw;margin:auto;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}.img-thumb-del{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;border:none;font-size:12px;line-height:20px;text-align:center;cursor:pointer;opacity:.8;transition:opacity .2s}.img-thumb-del:hover{opacity:1}.mobile-stats-search{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:8px;box-sizing:border-box}.mobile-stats-search:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.analysis-edit-btn{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:2px 6px;margin-left:6px;vertical-align:middle}.analysis-edit-btn:hover{background:#fff6}.hit-overlay-canvas{position:absolute;top:0;left:0;touch-action:none}.hit-popup{position:absolute;z-index:10;background:#1e293bf2;border-radius:10px;padding:8px;box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;gap:6px;min-width:140px}.hit-popup-values{display:flex;flex-wrap:wrap;gap:4px}.hit-popup-val{width:30px;height:30px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.hit-popup-val:hover{background:#ffffff40}.hit-popup-val.active{background:#2563eb;border-color:#2563eb}.hit-popup-del{background:#dc2626cc;color:#fff;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.hit-popup-del:hover{background:#dc2626}#shot-count-dialog{max-width:340px;z-index:1000}#shot-count-dialog input{width:100%;padding:12px;border:2px solid var(--border);border-radius:10px;font-size:18px;text-align:center;margin-bottom:8px}#shot-count-dialog input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-shadow)}#edit-hits-dialog .hit-cell{width:52px;height:44px;padding:4px;text-align:center;font-size:18px;font-weight:600;border:2px solid var(--border);border-radius:8px;box-sizing:border-box}#edit-hits-dialog .hit-cell:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-shadow)}#shot-count-dialog .dialog-buttons button:first-child{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}#target-type-dialog{max-width:340px;z-index:1000}.target-type-options{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.target-type-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--border);border-radius:12px;background:var(--bg-input);cursor:pointer;transition:all .2s;text-align:left}.target-type-btn:hover{border-color:var(--accent);background:var(--table-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-shadow)}.target-type-icon{font-size:28px}.target-type-label{font-size:15px;font-weight:700;color:var(--text)}.target-type-desc{font-size:12px;color:var(--text-muted);margin-left:auto}mark{background:var(--highlight);color:inherit;border-radius:2px;padding:0 1px}.img-thumb-wrap{position:relative;display:inline-block}.img-thumb-action{position:absolute;bottom:4px;background:#0009;color:#fff;border:none;border-radius:4px;width:24px;height:24px;font-size:14px;cursor:pointer;line-height:1}.img-thumb-action:first-of-type{left:4px}.img-thumb-action:last-of-type{left:32px}.img-thumb-action:hover{background:#000c}.crop-dialog{max-width:90vw;padding:16px;background:var(--bg-card);border:none;border-radius:12px}.crop-container{position:relative;display:inline-block;line-height:0}.crop-canvas{display:block;border-radius:4px}.crop-selection{position:absolute;border:2px dashed var(--accent);background:#2563eb1a;cursor:move;touch-action:none}.crop-selection:after{content:"";position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;border-right:3px solid var(--accent);border-bottom:3px solid var(--accent)}.stat-card-wide{flex:1 1 100%;min-width:100%;text-align:left}.stats-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px;background:transparent;box-shadow:none;border:none;border-radius:0;animation:none}.stats-table th,.stats-table td{padding:6px 8px;border-bottom:1px solid var(--border-light);font-size:12px}.stats-table th{background:transparent;color:var(--text-muted);font-size:10px}.stats-table td{color:var(--text)}.stats-total-row td{font-weight:700;border-top:2px solid var(--border)}.mobile-overflow-menu{position:fixed;bottom:56px;left:0;right:0;z-index:99;background:var(--bg-card);border-top:1px solid var(--border-light);box-shadow:0 -4px 20px var(--shadow-lg);padding:8px 0;animation:fadeInUp .2s cubic-bezier(.16,1,.3,1)}.mobile-overflow-menu button{display:block;width:100%;padding:12px 20px;border:none;background:none;color:var(--text);font-size:15px;text-align:left;cursor:pointer}.mobile-overflow-menu button:hover{background:var(--table-hover)}.mobile-overflow-menu button:last-child{color:var(--danger);border-top:1px solid var(--border-light);margin-top:4px;padding-top:12px}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:13px;font-weight:600;text-align:center;border-radius:10px;margin-bottom:12px;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d977064d}.sync-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#fff;color:#d97706;font-size:12px;font-weight:800;border-radius:11px}[data-theme=dark] .offline-banner{background:linear-gradient(135deg,#92400e,#78350f)}.weapons-accordion{margin-top:16px;display:flex;flex-direction:column;gap:12px}.weapon-type-group{border:1px solid var(--border-light);border-radius:14px;background:var(--bg-card);overflow:hidden}.weapon-type-group summary{list-style:none}.weapon-type-group summary::-webkit-details-marker{display:none}.weapon-type-header{display:flex;align-items:center;gap:10px;padding:14px 20px;cursor:pointer;user-select:none;font-weight:600;font-size:15px;color:var(--text);transition:background .15s}.weapon-type-header:hover{background:var(--bg-hover, rgba(0, 0, 0, .03))}.weapon-type-title{flex:1}.weapon-type-count{background:var(--primary, #3b82f6);color:#fff;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 7px}.weapon-type-chevron{transition:transform .25s cubic-bezier(.16,1,.3,1);color:var(--text-muted)}.weapon-type-group[open]>.weapon-type-header .weapon-type-chevron{transform:rotate(180deg)}.weapon-type-group>.weapons-grid{padding:0 16px 16px;margin-top:0}.weapon-type-group>.ammo-lot-list{padding:0 16px 16px;margin-top:0}.ammo-empty-toggle{display:flex;justify-content:flex-end;margin-top:12px;padding:0 4px}.ammo-empty-toggle-btn{background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;padding:6px 14px;font-size:13px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.ammo-empty-toggle-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .03));color:var(--text)}.ammo-empty-toggle-btn.active{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.ammo-lot-empty{opacity:.5;filter:grayscale(.6);border-style:dashed}.txn-lot-info{font-size:12px;color:var(--text-muted);font-style:italic}.weapon-type-stock{font-size:13px;font-weight:600;color:var(--text-muted);margin-left:auto}.stock-warning-badge{color:var(--danger, #ef4444)}.weapons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}.weapon-card{background:var(--bg-card);border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px var(--shadow),0 4px 12px var(--shadow);border:1px solid var(--border-light);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.weapon-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.weapon-card-warning{border-color:#f59e0b;border-width:2px}.weapon-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.weapon-card-header h4{font-size:16px;font-weight:700;color:var(--text);margin:0}.weapon-card-actions{display:flex;gap:4px}.weapon-card-actions button{background:none;border:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:6px;transition:background .15s,color .15s;color:var(--text-muted)}.weapon-card-actions button:hover{background:var(--border-light);color:var(--text)}.weapon-card-body{display:flex;flex-direction:column;gap:6px}.weapon-info-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0;border-bottom:1px solid var(--border-light)}.weapon-info-row:last-child{border-bottom:none}.weapon-info-label{color:var(--text-muted);font-weight:500}.weapon-shots-total{font-weight:700;color:var(--accent)}.weapon-maintenance-warning{margin-top:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;font-size:12px;font-weight:600;color:#d97706}[data-theme=dark] .weapon-maintenance-warning{background:#f59e0b26;color:#fbbf24}.weapon-detail{display:flex;flex-direction:column;gap:16px}.weapon-detail-info{display:flex;gap:12px;flex-wrap:wrap}.weapon-detail-info .stat-card{flex:1;min-width:140px}.maintenance-bar-wrap{width:100%;height:12px;background:var(--border-light);border-radius:6px;overflow:hidden;margin-top:8px}.maintenance-bar{height:100%;border-radius:6px;transition:width .5s cubic-bezier(.16,1,.3,1)}.btn-reset-maintenance{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-reset-maintenance:hover{opacity:.85}@media(max-width:768px){.weapons-grid{grid-template-columns:1fr;gap:12px}.weapon-card{padding:14px 16px}#tab-weapons .toolbar{margin-bottom:12px}}.import-weapons-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.import-weapon-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s;flex-direction:row!important}.import-weapon-item:hover{background:var(--table-hover);border-color:var(--accent)}.import-weapon-item input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.import-weapon-info{display:flex;flex-direction:column;gap:2px}.import-weapon-info strong{font-size:14px;color:var(--text)}.import-weapon-info span{font-size:12px;color:var(--text-muted)}#import-weapons-dialog{max-width:480px}.import-weapons-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.toolbar:before{display:none}.login-container{animation:none;background-size:100% 100%}.stat-card,table{animation:none}}.ammo-subtabs{display:flex;gap:4px;margin:16px 0 8px;padding:4px;background:#ffffff0d;border-radius:12px}.ammo-subtab{flex:1;padding:12px 20px;background:none;border:none;border-radius:10px;color:var(--text-muted, #8899aa);font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .25s ease}.ammo-subtab:hover{color:var(--text-primary, #fff);background:#ffffff14}.ammo-subtab.active{color:#fff;background:linear-gradient(135deg,#4fc3f740,#4fc3f71a);box-shadow:0 2px 8px #4fc3f733,inset 0 1px #ffffff1a}.ammo-stock-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0}@media(min-width:769px){.ammo-stock-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.stock-warning{border-left:3px solid var(--danger);background:#dc26260f}[data-theme=dark] .stock-warning{background:#ef44441a}.ammo-lot-list{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}@media(min-width:600px){.ammo-lot-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ammo-lot-list{grid-template-columns:repeat(3,1fr)}}.ammo-lot-card{background:var(--bg-card);border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px var(--shadow);border:1px solid var(--border-light);transition:transform .2s ease,box-shadow .2s;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both}.ammo-lot-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000014}.ammo-lot-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ammo-lot-card-header h4{font-size:14px;font-weight:700;color:var(--text);margin:0}.ammo-lot-card-actions{display:flex;gap:2px}.ammo-lot-card-actions button{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:6px;color:var(--text-muted);transition:background .15s,color .15s}.ammo-lot-card-actions button:hover{background:var(--border-light);color:var(--text)}.ammo-lot-card-body{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.ammo-lot-info-row{display:flex;flex-direction:column;font-size:13px;padding:2px 0;border-bottom:none}.ammo-lot-info-row:last-child{border-bottom:none}.ammo-lot-info-label{color:var(--text-muted);font-size:11px;font-weight:500;margin-bottom:1px}.transaction-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:0 4px}.transaction-filters select,.transaction-filters input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-input);color:var(--text);min-width:0;flex:1;min-width:140px}.transaction-filters select:focus,.transaction-filters input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-shadow)}.transaction-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.transaction-item{padding:12px 14px;background:var(--bg-card);border-radius:10px;border:1px solid var(--border-light);border-left:3px solid var(--border);position:relative}.txn-purchase{border-left-color:var(--success)}.txn-consumption{border-left-color:#f59e0b}.txn-manual{border-left-color:var(--danger)}.txn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.txn-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--border-light);color:var(--text-muted)}.txn-type-badge.txn-purchase{background:#22c55e1f;color:var(--success);border-left:none}.txn-type-badge.txn-consumption{background:#f59e0b1f;color:#f59e0b;border-left:none}.txn-type-badge.txn-manual{background:#dc26261f;color:var(--danger);border-left:none}.txn-actions{display:flex;gap:2px;margin-left:auto;flex-shrink:0}.txn-edit-btn,.txn-delete-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:var(--text-muted);line-height:0;transition:background .15s,color .15s}.txn-edit-btn svg,.txn-delete-btn svg{width:12px!important;height:12px!important;display:block}.txn-edit-btn:hover{background:#3b82f61a;color:var(--primary)}.txn-delete-btn:hover{background:#dc26261a;color:var(--danger)}.deduct-toggle{flex-direction:row!important;align-items:center;gap:8px!important;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;white-space:nowrap}.deduct-toggle input[type=checkbox]{width:auto}[data-theme=dark] .transaction-item{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .txn-type-badge.txn-purchase{background:#34d39926;color:var(--success)}[data-theme=dark] .txn-type-badge.txn-consumption{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .txn-type-badge.txn-manual{background:#ef444426;color:var(--danger)}[data-theme=dark] .ammo-lot-card{border-color:var(--border)}#tab-ammunition .stat-card button,#tab-ammunition>div:not(.toolbar):not(.ammo-stock-grid):not(.ammo-lot-list) button:not(.txn-edit-btn):not(.txn-delete-btn){padding:8px 16px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s,transform .1s}#tab-ammunition .stat-card button:hover,#tab-ammunition>div:not(.toolbar):not(.ammo-stock-grid):not(.ammo-lot-list) button:not(.txn-edit-btn):not(.txn-delete-btn):hover{background:#fff3;transform:translateY(-1px)}@media(max-width:768px){.ammo-lot-card{padding:12px 14px}.ammo-lot-card:hover{transform:none}.transaction-item{padding:10px 12px}}@media(max-width:768px){#lightbox{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;padding-top:44px}#lightbox-img{max-width:100vw;max-height:60vh}.lightbox-close{top:6px;right:6px;width:32px;height:32px;font-size:16px;z-index:20}.lightbox-actions{position:relative;top:auto;left:auto;max-width:100%;padding:8px;justify-content:center;flex-wrap:wrap;gap:6px}.lightbox-actions button{padding:6px 10px;font-size:12px}.lightbox-analysis{max-width:95%;font-size:12px;overflow-y:auto;max-height:80px}.lightbox-prev,.lightbox-next{width:32px;height:32px;font-size:16px}}@media(max-width:768px){#entry-dialog{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;padding:16px;margin:0;overflow-y:auto}#entry-dialog .form-row{flex-direction:column;gap:10px;align-items:stretch}#entry-dialog .form-row>label{flex:none;width:100%}#entry-dialog .weapon-row{flex-direction:column;gap:8px;align-items:stretch}#entry-dialog .weapon-row input,#entry-dialog .weapon-row select{min-width:0;width:100%;flex:none}#entry-dialog .weapon-row .deduct-toggle{font-size:14px}#entry-dialog input,#entry-dialog select,#entry-dialog textarea{font-size:16px;padding:10px 12px}#entry-dialog .dialog-buttons{flex-direction:column;gap:8px}#entry-dialog .dialog-buttons button{width:100%;padding:14px;font-size:16px}#entry-dialog fieldset{padding:12px}#entry-dialog .image-buttons{flex-direction:column}#entry-dialog .add-image-btn,#entry-dialog .add-weapon-btn{padding:12px;font-size:14px}}
