:root{color:#0f172a;background:#f3f6f5;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 28px;background:#0f766e;color:#fff}.brand{font-size:18px;font-weight:700}.top-actions{display:flex;align-items:center;gap:16px}.ghost{height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:transparent;color:#fff}.page{width:min(1120px,calc(100% - 48px));margin:24px auto 48px}.card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0f766e0f}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.search{display:flex;gap:8px}.search input{width:280px;height:40px;padding:0 12px;border:1px solid #d7e3e1;border-radius:8px}.primary,.secondary{height:40px;padding:0 16px;border:0;border-radius:8px}.primary{background:#0f766e;color:#fff}.secondary{background:#e6f4f2;color:#0f766e}.primary:disabled{opacity:.6;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #eef2f1;vertical-align:top}th{color:#64748b;font-weight:600;font-size:13px}.name{font-weight:650}.muted{color:#64748b;font-size:13px;line-height:1.5}.empty{padding:64px 16px;text-align:center;color:#64748b}.error{margin:0 0 12px;color:#be123c}.form{padding:8px 28px 28px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.field{padding:12px 0}.field.wide{grid-column:1 / -1}label{display:block;margin-bottom:8px;color:#64748b;font-size:13px}label span{color:#be123c}input,select,textarea{width:100%;border:1px solid #d7e3e1;border-radius:8px;background:#fff;color:#0f172a}input,select{height:40px;padding:0 12px}textarea{min-height:88px;padding:10px 12px;resize:vertical}.layout{display:flex;align-items:center;gap:8px}.layout input{width:72px}.unit{color:#64748b}.photos{display:flex;flex-wrap:wrap;gap:12px}.photo,.photo-add{width:96px;height:96px;border-radius:10px;overflow:hidden;position:relative;background:#f1f5f4}.photo img{width:100%;height:100%;object-fit:cover}.photos input{display:none;width:auto;height:auto}.photo-add{display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5d1;color:#0f766e;cursor:pointer}.photo button{position:absolute;top:0;right:0;width:22px;height:22px;border:0;background:#0f172a8c;color:#fff}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login{width:min(420px,100%);padding:36px 32px}.login h1{margin:0 0 8px;font-size:28px}.login p{margin:0 0 24px;color:#64748b;line-height:1.6}.login .primary{width:100%;margin-top:8px}@media(max-width:800px){.grid{grid-template-columns:1fr}.page{width:min(100% - 24px,1120px)}.search input{width:180px}}
