:root{--bg: #f6f7f9;--card: #ffffff;--border: #e2e5ea;--text: #1a1c1f;--muted: #6b7280;--accent: #2563eb;--danger: #dc2626}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{font-weight:600;font-size:1.05rem;color:var(--text)}.header nav{display:flex;align-items:center;gap:1rem}.container{max-width:960px;margin:0 auto;padding:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem}.login{width:340px;max-width:100%;display:flex;flex-direction:column;gap:.75rem}.login h1{font-size:1.25rem;margin:0 0 .5rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}input,select,textarea{padding:.6rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}button{padding:.6rem 1rem;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:1rem;cursor:pointer}button:disabled{opacity:.6;cursor:default}.btn{display:inline-block;padding:.5rem .9rem;background:var(--accent);color:#fff;border-radius:8px}.link-btn{background:none;color:var(--muted);padding:0;font-size:.9rem}.form{display:flex;flex-direction:column;gap:.75rem;max-width:520px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--danger);font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.asset{padding:0;overflow:hidden}.thumb{aspect-ratio:4 / 3;background:#eef0f3}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.no-photo{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.85rem}.asset-body{padding:.6rem .75rem}.badge{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;color:#fff;white-space:nowrap}.badge.in_use{background:#16a34a}.badge.repair{background:#d97706}.badge.idle{background:#6b7280}.badge.disposed{background:#dc2626}.badge.v-pending{background:#d97706}.badge.v-confirmed{background:#16a34a}.badge.v-not_found{background:#dc2626}.chips{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.chip{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:.35rem .8rem;font-size:.85rem}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:8px;padding:.6rem .9rem;font-size:.9rem}.danger-notice{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.asset-link{color:inherit;display:block}.photo-strip{display:flex;gap:.5rem;overflow-x:auto;margin:.75rem 0}.photo-strip img{height:120px;border-radius:8px}.detail .form{margin-top:.75rem}.not-found-box{margin-top:.75rem;border-color:#fecaca}.danger-btn{background:#dc2626}.ghost-btn{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-solid{background:var(--accent);color:#fff}.btn-row{display:flex;gap:.5rem}.stat-row{display:flex;gap:.75rem;margin:.75rem 0}.stat{flex:1;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.75rem;text-align:center}.stat-num{display:block;font-size:1.5rem;font-weight:600}.stat-num.ok{color:#16a34a}.stat-num.bad{color:#dc2626}.stat-label{font-size:.8rem;color:var(--muted)}.reason-cell{max-width:220px;white-space:normal}.search{width:100%;margin-bottom:.75rem}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:500}.cell-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px}
